From 1012d834cc6fd1bf14710626f85d6c57099bf5a5 Mon Sep 17 00:00:00 2001 From: Collin Preston Date: Wed, 30 Aug 2023 10:57:21 -0400 Subject: [PATCH 01/20] All tests passing --- .github/workflows/ci.yml | 4 - README.md | 37 - app.json | 52 - authentication/middleware_test.py | 2 +- ...nnels_test.test_create_channel[False].json | 507 -- ...annels_test.test_create_channel[None].json | 507 -- ...annels_test.test_create_channel[True].json | 507 -- ...st.test_create_channel_already_exists.json | 326 - ...t.test_create_channel_no_descriptions.json | 507 -- ...nnels_test.test_create_channel_noauth.json | 74 - ...els_test.test_create_channel_nonstaff.json | 142 - ....views.channels_test.test_get_channel.json | 507 -- ...nnels_test.test_get_channel_anonymous.json | 335 -- ...nnels_test.test_get_channel_forbidden.json | 151 - ...nnels_test.test_get_channel_not_found.json | 148 - ...t.test_get_channel_with_avatar_banner.json | 255 - ....channels_test.test_get_short_channel.json | 74 - ...iews.channels_test.test_list_channels.json | 507 -- ...els_test.test_list_channels_anonymous.json | 175 - ...nnels_test.test_list_channels_ordered.json | 1611 ----- ...iews.channels_test.test_patch_channel.json | 436 -- ...hannels_test.test_patch_channel_about.json | 436 -- ...els_test.test_patch_channel_forbidden.json | 151 - ...test.test_patch_channel_image[avatar].json | 436 -- ...test.test_patch_channel_image[banner].json | 436 -- ...els_test.test_patch_channel_moderator.json | 961 --- ...annels_test.test_patch_channel_noauth.json | 4 - ...nels_test.test_patch_channel_nonstaff.json | 136 - ...els_test.test_patch_channel_not_found.json | 136 - ..._patch_channel_validate_image[avatar].json | 166 - ..._patch_channel_validate_image[banner].json | 166 - ...t_patch_title_non_superuser_forbidden.json | 436 -- ..._title_non_superuser_forbidden[patch].json | 777 --- ...te_title_non_superuser_forbidden[put].json | 955 --- ...ment[extra_params0-extra_expected0-1].json | 780 --- ...ment[extra_params1-extra_expected1-0].json | 961 --- ...ent[extra_params2-extra_expected2--1].json | 961 --- ...ts_test.test_create_comment_anonymous.json | 4 - ...ts_test.test_create_comment_forbidden.json | 166 - ...ts_test.test_create_comment_moderator.json | 964 --- ...ts_test.test_create_comment_not_found.json | 166 - ....test_create_comment_reply_to_comment.json | 872 --- ...eate_comment_reply_to_deleted_comment.json | 875 --- ...ews.comments_test.test_delete_comment.json | 249 - ...ts_test.test_delete_comment_anonymous.json | 4 - ....views.comments_test.test_get_comment.json | 869 --- ...ws.comments_test.test_get_comment_404.json | 507 -- ...ments_test.test_get_comment_anonymous.json | 762 --- ...st.test_get_removed_comment[None-404].json | 922 --- ...t_removed_comment[comment_writer-200].json | 934 --- ...t_get_removed_comment[staff_user-200].json | 934 --- ...st.test_get_removed_comment[user-404].json | 845 --- ...mments_test.test_list_comments[False].json | 1240 ---- ...omments_test.test_list_comments[True].json | 1240 ---- ...nts_test.test_list_comments_anonymous.json | 676 --- ...nts_test.test_list_comments_forbidden.json | 759 --- ...comments_test.test_list_comments_more.json | 163 - ...comments_test.test_list_comments_none.json | 688 --- ...nts_test.test_list_comments_not_found.json | 166 - ...ments_test.test_list_deleted_comments.json | 246 - ...mments_test.test_more_comments[False].json | 163 - ...omments_test.test_more_comments[True].json | 163 - ...t.test_more_comments_404[False-False].json | 163 - ...st.test_more_comments_404[False-True].json | 163 - ...st.test_more_comments_404[True-False].json | 166 - ...est.test_more_comments_404[True-True].json | 166 - ...nts_test.test_more_comments_anonymous.json | 5276 ----------------- ...ents_test.test_more_comments_children.json | 166 - ...ore_comments_missing_param[parent_id].json | 4 - ..._more_comments_missing_param[post_id].json | 4 - ...ts_test.test_update_comment_anonymous.json | 4 - ...ents_test.test_update_comment_approve.json | 1142 ---- ...st.test_update_comment_clear_downvote.json | 341 -- ...test.test_update_comment_clear_upvote.json | 341 -- ...nts_test.test_update_comment_downvote.json | 433 -- ...ts_test.test_update_comment_forbidden.json | 166 - ...st.test_update_comment_ignore_reports.json | 1142 ---- ...date_comment_ignore_reports_forbidden.json | 783 --- ...ments_test.test_update_comment_remove.json | 1050 ---- ...ts_test.test_update_comment_subscribe.json | 958 --- ...omments_test.test_update_comment_text.json | 1050 ---- ...st.test_update_comment_text_moderator.json | 1234 ---- ..._test.test_update_comment_unsubscribe.json | 958 --- ...ments_test.test_update_comment_upvote.json | 433 -- ...ributors_test.test_add_contributor[1].json | 326 - ...ributors_test.test_add_contributor[2].json | 418 -- ...s_test.test_add_contributor_anonymous.json | 4 - ...utors_test.test_add_contributor_email.json | 578 -- ...tributors_test.test_list_contributors.json | 507 -- ...test.test_list_contributors_anonymous.json | 4 - ...utors_test.test_remove_contributor[1].json | 510 -- ...utors_test.test_remove_contributor[2].json | 602 -- ...est.test_remove_contributor_anonymous.json | 4 - ...s.views.frontpage_test.test_frontpage.json | 1587 ----- ....frontpage_test.test_frontpage[False].json | 1943 ------ ...s.frontpage_test.test_frontpage[True].json | 1943 ------ ...ontpage_test.test_frontpage_anonymous.json | 335 -- ...s.frontpage_test.test_frontpage_empty.json | 163 - ...ontpage_pagination[params0-expected0].json | 246 - ...ontpage_pagination[params1-expected1].json | 246 - ...ontpage_pagination[params2-expected2].json | 246 - ...ontpage_pagination[params3-expected3].json | 246 - ...tpage_test.test_frontpage_sorted[hot].json | 1943 ------ ...tpage_test.test_frontpage_sorted[new].json | 1943 ------ ...tpage_test.test_frontpage_sorted[top].json | 1943 ------ ...ws.moderators_test.test_add_moderator.json | 596 -- ...erators_test.test_add_moderator_again.json | 688 --- ...ors_test.test_add_moderator_anonymous.json | 4 - ...erators_test.test_add_moderator_email.json | 848 --- ....moderators_test.test_list_moderators.json | 937 --- ...s_test.test_list_moderators_anonymous.json | 421 -- ...t.test_list_moderators_many_moderator.json | 2953 --------- ...s_test.test_list_moderators_moderator.json | 685 --- ...ators_test.test_list_moderators_staff.json | 688 --- ...erators_test.test_remove_moderator[1].json | 510 -- ...erators_test.test_remove_moderator[2].json | 602 -- ..._test.test_remove_moderator_anonymous.json | 4 - ...test_create_and_update_post_moderator.json | 1139 ---- ...s.posts_test.test_create_article_post.json | 688 --- ...t.test_create_article_post_with_cover.json | 777 --- ...posts_test.test_create_post_anonymous.json | 4 - ...posts_test.test_create_post_forbidden.json | 326 - ...posts_test.test_create_post_not_found.json | 74 - ..._test.test_create_post_without_upvote.json | 869 --- ...iews.posts_test.test_create_text_post.json | 688 --- ...osts_test.test_create_text_post_blank.json | 688 --- ...views.posts_test.test_create_url_post.json | 688 --- ...st.test_create_url_post_existing_meta.json | 688 --- ...els.views.posts_test.test_delete_post.json | 166 - ...test.test_delete_post_anonymous[True].json | 4 - ...sts_test.test_get_deleted_post[False].json | 777 --- ...osts_test.test_get_deleted_post[True].json | 688 --- ...views.posts_test.test_get_post[False].json | 777 --- ....views.posts_test.test_get_post[True].json | 777 --- ...ws.posts_test.test_get_post_anonymous.json | 670 --- ...ws.posts_test.test_get_post_forbidden.json | 166 - ...s.posts_test.test_get_post_no_profile.json | 777 --- ...ws.posts_test.test_get_post_not_found.json | 166 - ...ews.posts_test.test_get_post_stickied.json | 869 --- ..._test.test_get_removed_post[None-404].json | 507 -- ...st_get_removed_post[client_user1-404].json | 596 -- ...st_get_removed_post[client_user2-200].json | 685 --- ...test_get_removed_post[staff_user-200].json | 685 --- ..._test.test_get_removed_post[user-404].json | 596 -- ...ews.posts_test.test_list_posts[False].json | 1225 ---- ...iews.posts_test.test_list_posts[True].json | 869 --- ....posts_test.test_list_posts_anonymous.json | 756 --- ....posts_test.test_list_posts_forbidden.json | 151 - ...views.posts_test.test_list_posts_none.json | 507 -- ....posts_test.test_list_posts_not_found.json | 136 - ...t_posts_pagination[params0-expected0].json | 246 - ...t_posts_pagination[params1-expected1].json | 246 - ...t_posts_pagination[params2-expected2].json | 246 - ...t_posts_pagination[params3-expected3].json | 246 - ...posts_pagination_first_page_no_params.json | 4112 ------------- ...sts_pagination_first_page_with_params.json | 4112 ------------- ..._list_posts_pagination_non_first_page.json | 4112 ------------- ...list_posts_pagination_non_offset_page.json | 4112 ------------- ...osts_test.test_list_posts_sorted[hot].json | 1943 ------ ...osts_test.test_list_posts_sorted[new].json | 1943 ------ ...osts_test.test_list_posts_sorted[top].json | 1943 ------ ...s.posts_test.test_list_posts_stickied.json | 2035 ------- ...st_patch_article_validate_cover_image.json | 418 -- ....views.posts_test.test_post_anonymous.json | 4 - ...s_test.test_post_create_post_new_meta.json | 688 --- ...st.test_post_create_post_no_thumbnail.json | 688 --- ....test_subscribe_post[False-False-0-1].json | 958 --- ...t.test_subscribe_post[False-True-1-2].json | 958 --- ...t.test_subscribe_post[True-False-1-1].json | 958 --- ...st.test_subscribe_post[True-True-2-2].json | 958 --- ...iews.posts_test.test_unsubscribe_post.json | 866 --- ....posts_test.test_update_article_cover.json | 1400 ----- ...s.posts_test.test_update_article_post.json | 866 --- ....views.reports_test.test_list_reports.json | 1326 ----- ....reports_test.test_list_reports_empty.json | 255 - ...eports_test.test_patch_channel_noauth.json | 166 - ...orts_test.test_patch_channel_nonstaff.json | 311 - ...ws.reports_test.test_report_anonymous.json | 507 -- ...iews.reports_test.test_report_comment.json | 783 --- ...s.views.reports_test.test_report_post.json | 691 --- ...bscribers_test.test_add_subscriber[1].json | 326 - ...bscribers_test.test_add_subscriber[2].json | 418 -- ...rs_test.test_add_subscriber_anonymous.json | 234 - ...rs_test.test_add_subscriber_forbidden.json | 326 - ...scribers_test.test_add_subscriber_mod.json | 667 --- ...bscribers_test.test_detail_subscriber.json | 507 -- ...test.test_detail_subscriber_anonymous.json | 234 - ...s_test.test_detail_subscriber_missing.json | 323 - ...ubscribers_test.test_list_subscribers.json | 486 -- ...rs_test.test_list_subscribers_allowed.json | 74 - ...est.test_list_subscribers_not_allowed.json | 74 - ...ribers_test.test_remove_subscriber[1].json | 418 -- ...ribers_test.test_remove_subscriber[2].json | 510 -- ...test.test_remove_subscriber_anonymous.json | 234 - ...hannels.views_test.test_api_exception.json | 74 - ...ts_test.test_send_notification[False].json | 958 --- ...nts_test.test_send_notification[True].json | 1139 ---- ...tor_posts_test.test_send_notification.json | 688 --- channels/__init__.py | 2 - channels/admin.py | 149 - channels/api.py | 1793 ------ channels/api_test.py | 1574 ----- channels/apps.py | 14 - channels/backpopulate_api.py | 88 - channels/backpopulate_api_test.py | 262 - channels/conftest.py | 8 - channels/constants.py | 62 - channels/exceptions.py | 31 - channels/factories/__init__.py | 0 channels/factories/models.py | 286 - channels/factories/reddit.py | 541 -- channels/factories/utils.py | 14 - channels/management/__init__.py | 0 channels/management/commands/__init__.py | 0 .../commands/add_index_user_to_channels.py | 81 - .../commands/backpopulate_channel_fields.py | 27 - .../backpopulate_channel_widget_lists.py | 57 - .../backpopulate_post_and_comment_fields.py | 29 - .../management/commands/backpopulate_posts.py | 56 - .../backpopulate_subscriptions_roles.py | 29 - .../management/commands/reclassify_spam.py | 80 - .../commands/set_channel_allow_top.py | 50 - .../subscribe_all_users_to_channel.py | 27 - .../update_managed_channel_memberships.py | 27 - channels/membership_api.py | 101 - channels/membership_api_test.py | 119 - channels/migrations/0001_add_tokens.py | 62 - channels/migrations/0002_add_subscription.py | 51 - .../0003_channels_comments_posts.py | 84 - .../0004_channel_membership_is_managed.py | 18 - .../0005_membership_default_true.py | 22 - channels/migrations/0006_link_meta.py | 42 - channels/migrations/0007_avatar_banner.py | 23 - .../migrations/0008_channel_ga_tracking_id.py | 18 - .../migrations/0009_avatar_banner_filename.py | 28 - .../migrations/0010_avatar_small_medium.py | 39 - .../0011_channel_subscriptions_roles.py | 95 - .../0012_add_post_type_and_article.py | 58 - .../migrations/0013_add_channel_widgetlist.py | 24 - .../migrations/0014_add_allowed_post_types.py | 21 - .../0015_add_article_cover_image.py | 42 - .../migrations/0016_add_channel_fields.py | 29 - channels/migrations/0017_remove_unique.py | 16 - .../0018_add_post_and_comment_fields.py | 79 - channels/migrations/0019_channel_about.py | 17 - .../0020_remove_article_thumbnail.py | 12 - channels/migrations/0021_post_preview_text.py | 14 - .../migrations/0022_add_channel_invitation.py | 64 - .../0023_add_subscriptions_related_name.py | 22 - .../0024_channel_membership_config.py | 37 - channels/migrations/0025_spamcheckresult.py | 49 - .../0026_channel_moderator_notifications.py | 16 - ...0027_post_exclude_from_frontpage_emails.py | 16 - channels/migrations/0028_blankable_fields.py | 42 - ...le_content_alter_channel_about_and_more.py | 28 - channels/migrations/__init__.py | 0 channels/models.py | 390 -- channels/models_test.py | 32 - channels/proxies.py | 199 - channels/serializers/__init__.py | 0 channels/serializers/base.py | 45 - channels/serializers/channels.py | 241 - channels/serializers/channels_test.py | 227 - channels/serializers/comments.py | 291 - channels/serializers/comments_test.py | 65 - channels/serializers/contributors.py | 63 - channels/serializers/contributors_test.py | 156 - channels/serializers/invites.py | 28 - channels/serializers/invites_test.py | 40 - channels/serializers/moderators.py | 84 - channels/serializers/moderators_test.py | 185 - channels/serializers/posts.py | 297 - channels/serializers/posts_test.py | 59 - channels/serializers/reports.py | 83 - channels/serializers/reports_test.py | 74 - channels/serializers/subscribers.py | 39 - channels/serializers/subscribers_test.py | 71 - channels/serializers/utils.py | 11 - channels/serializers/validators.py | 29 - channels/serializers/validators_test.py | 35 - channels/signals.py | 28 - channels/spam.py | 169 - channels/spam_test.py | 246 - channels/task_helpers.py | 69 - channels/task_helpers_test.py | 90 - channels/tasks.py | 627 -- channels/tasks_test.py | 661 --- channels/test_constants.py | 1019 ---- channels/test_utils.py | 36 - channels/urls.py | 96 - channels/urls_test.py | 23 - channels/utils.py | 363 -- channels/utils_test.py | 239 - channels/views/__init__.py | 0 channels/views/channels.py | 109 - channels/views/channels_test.py | 412 -- channels/views/comments.py | 246 - channels/views/comments_test.py | 948 --- channels/views/contributors.py | 59 - channels/views/contributors_test.py | 124 - channels/views/frontpage.py | 59 - channels/views/frontpage_test.py | 120 - channels/views/invites.py | 26 - channels/views/invites_test.py | 176 - channels/views/moderators.py | 86 - channels/views/moderators_test.py | 227 - channels/views/posts.py | 147 - channels/views/posts_test.py | 988 --- channels/views/reports.py | 66 - channels/views/reports_test.py | 142 - channels/views/subscribers.py | 75 - channels/views/subscribers_test.py | 138 - channels/views/test_utils.py | 146 - channels/views_test.py | 20 - channels_fields/factories.py | 4 +- channels_fields/serializers.py | 81 +- channels_fields/signals.py | 5 +- conftest.py | 1 - course_catalog/serializers.py | 6 +- course_catalog/views_userlist_test.py | 10 +- discussions/factories.py | 7 +- discussions/models.py | 6 +- docker-compose-notebook.yml | 4 - docker-compose.yml | 11 - docs/architecture/email_notification.md | 72 - docs/architecture/spam_mitigation.md | 89 - docs/configuration.md | 12 - docs/operations.md | 12 - docs/reddit-migration/considerations/index.md | 7 - .../considerations/reddit-ids.md | 21 - .../considerations/sorting.md | 40 - docs/reddit-migration/index.md | 20 - docs/reddit-migration/strategy/cleanup.md | 30 - docs/reddit-migration/strategy/index.md | 7 - .../strategy/reads-and-writes.md | 42 - docs/reddit-migration/strategy/schema.md | 217 - .../0002-indexing-embedly-link-preview.md | 66 - embedly/views.py | 7 +- embedly/views_test.py | 19 - fixtures/betamax.py | 42 +- fixtures/common.py | 63 - fixtures/reddit.py | 175 - fixtures/users.py | 4 - mail/api.py | 2 +- mail/templates/comments/body.html | 49 - mail/templates/comments/subject.txt | 1 - mail/templates/invite/body.html | 35 - mail/templates/invite/subject.txt | 1 - mail/templates/moderator_posts/body.html | 44 - mail/templates/moderator_posts/subject.txt | 1 - moira_lists/__init__.py | 0 moira_lists/admin.py | 21 - moira_lists/apps.py | 8 - moira_lists/conftest.py | 22 - moira_lists/exceptions.py | 5 - moira_lists/factories.py | 39 - moira_lists/migrations/0001_initial.py | 37 - moira_lists/migrations/__init__.py | 0 moira_lists/models.py | 20 - moira_lists/moira_api.py | 195 - moira_lists/moira_api_test.py | 186 - moira_lists/tasks.py | 41 - moira_lists/tasks_test.py | 43 - notifications/__init__.py | 0 notifications/api.py | 262 - notifications/api_test.py | 382 -- notifications/apps.py | 8 - notifications/factories.py | 81 - notifications/management/__init__.py | 0 notifications/management/commands/__init__.py | 0 .../populate_notification_settings.py | 23 - .../0001_add_notification_settings.py | 66 - .../migrations/0002_add_notifications.py | 71 - .../0003_add_notification_skipped.py | 27 - .../migrations/0004_add_comment_event.py | 56 - .../0005_moderator_post_notifications.py | 74 - ...06_moderator_post_notifiacation_channel.py | 44 - notifications/migrations/__init__.py | 0 notifications/models.py | 174 - notifications/models_test.py | 24 - notifications/notifiers/__init__.py | 0 notifications/notifiers/base.py | 126 - notifications/notifiers/base_test.py | 95 - notifications/notifiers/comments.py | 98 - notifications/notifiers/comments_test.py | 84 - notifications/notifiers/email.py | 103 - notifications/notifiers/email_test.py | 128 - notifications/notifiers/exceptions.py | 17 - notifications/notifiers/frontpage.py | 182 - notifications/notifiers/frontpage_test.py | 194 - notifications/notifiers/moderator_posts.py | 49 - .../notifiers/moderator_posts_test.py | 53 - notifications/serializers.py | 35 - notifications/serializers_test.py | 27 - notifications/tasks.py | 124 - notifications/tasks_test.py | 120 - notifications/urls.py | 15 - notifications/utils.py | 76 - notifications/utils_test.py | 101 - notifications/views.py | 56 - notifications/views_test.py | 161 - open_discussions/celery.py | 10 - open_discussions/features.py | 4 - open_discussions/middleware/channel_api.py | 18 - .../middleware/channel_api_test.py | 24 - open_discussions/permissions.py | 97 - open_discussions/permissions_test.py | 296 - open_discussions/recorder.py | 32 - open_discussions/settings.py | 62 - open_discussions/settings_celery.py | 20 - open_discussions/urls.py | 17 - open_discussions/utils.py | 17 - open_discussions/utils_test.py | 19 - open_discussions/views.py | 4 - poetry.lock | 60 +- profiles/api.py | 46 - profiles/api_test.py | 35 - profiles/filters.py | 5 +- profiles/filters_test.py | 43 - profiles/urls.py | 6 - profiles/utils_test.py | 19 - profiles/views.py | 75 - profiles/views_test.py | 118 - pylintrc | 2 +- pyproject.toml | 1 - pytest.ini | 1 - search/api.py | 124 - search/api_test.py | 244 - search/connection_test.py | 6 - search/constants.py | 21 - search/indexing_api.py | 41 - search/indexing_api_test.py | 239 +- search/management/commands/recreate_index.py | 4 +- search/management/commands/update_index.py | 2 +- search/search_index_helpers.py | 281 - search/search_index_helpers_test.py | 356 -- search/serializers.py | 237 +- search/serializers_bulk_test.py | 30 - search/serializers_test.py | 153 - search/tasks.py | 173 +- search/tasks_test.py | 173 +- search/urls.py | 7 +- search/views.py | 21 - search/views_test.py | 45 - 444 files changed, 147 insertions(+), 160427 deletions(-) delete mode 100644 cassettes/channels.views.channels_test.test_create_channel[False].json delete mode 100644 cassettes/channels.views.channels_test.test_create_channel[None].json delete mode 100644 cassettes/channels.views.channels_test.test_create_channel[True].json delete mode 100644 cassettes/channels.views.channels_test.test_create_channel_already_exists.json delete mode 100644 cassettes/channels.views.channels_test.test_create_channel_no_descriptions.json delete mode 100644 cassettes/channels.views.channels_test.test_create_channel_noauth.json delete mode 100644 cassettes/channels.views.channels_test.test_create_channel_nonstaff.json delete mode 100644 cassettes/channels.views.channels_test.test_get_channel.json delete mode 100644 cassettes/channels.views.channels_test.test_get_channel_anonymous.json delete mode 100644 cassettes/channels.views.channels_test.test_get_channel_forbidden.json delete mode 100644 cassettes/channels.views.channels_test.test_get_channel_not_found.json delete mode 100644 cassettes/channels.views.channels_test.test_get_channel_with_avatar_banner.json delete mode 100644 cassettes/channels.views.channels_test.test_get_short_channel.json delete mode 100644 cassettes/channels.views.channels_test.test_list_channels.json delete mode 100644 cassettes/channels.views.channels_test.test_list_channels_anonymous.json delete mode 100644 cassettes/channels.views.channels_test.test_list_channels_ordered.json delete mode 100644 cassettes/channels.views.channels_test.test_patch_channel.json delete mode 100644 cassettes/channels.views.channels_test.test_patch_channel_about.json delete mode 100644 cassettes/channels.views.channels_test.test_patch_channel_forbidden.json delete mode 100644 cassettes/channels.views.channels_test.test_patch_channel_image[avatar].json delete mode 100644 cassettes/channels.views.channels_test.test_patch_channel_image[banner].json delete mode 100644 cassettes/channels.views.channels_test.test_patch_channel_moderator.json delete mode 100644 cassettes/channels.views.channels_test.test_patch_channel_noauth.json delete mode 100644 cassettes/channels.views.channels_test.test_patch_channel_nonstaff.json delete mode 100644 cassettes/channels.views.channels_test.test_patch_channel_not_found.json delete mode 100644 cassettes/channels.views.channels_test.test_patch_channel_validate_image[avatar].json delete mode 100644 cassettes/channels.views.channels_test.test_patch_channel_validate_image[banner].json delete mode 100644 cassettes/channels.views.channels_test.test_patch_title_non_superuser_forbidden.json delete mode 100644 cassettes/channels.views.channels_test.test_update_title_non_superuser_forbidden[patch].json delete mode 100644 cassettes/channels.views.channels_test.test_update_title_non_superuser_forbidden[put].json delete mode 100644 cassettes/channels.views.comments_test.test_create_comment[extra_params0-extra_expected0-1].json delete mode 100644 cassettes/channels.views.comments_test.test_create_comment[extra_params1-extra_expected1-0].json delete mode 100644 cassettes/channels.views.comments_test.test_create_comment[extra_params2-extra_expected2--1].json delete mode 100644 cassettes/channels.views.comments_test.test_create_comment_anonymous.json delete mode 100644 cassettes/channels.views.comments_test.test_create_comment_forbidden.json delete mode 100644 cassettes/channels.views.comments_test.test_create_comment_moderator.json delete mode 100644 cassettes/channels.views.comments_test.test_create_comment_not_found.json delete mode 100644 cassettes/channels.views.comments_test.test_create_comment_reply_to_comment.json delete mode 100644 cassettes/channels.views.comments_test.test_create_comment_reply_to_deleted_comment.json delete mode 100644 cassettes/channels.views.comments_test.test_delete_comment.json delete mode 100644 cassettes/channels.views.comments_test.test_delete_comment_anonymous.json delete mode 100644 cassettes/channels.views.comments_test.test_get_comment.json delete mode 100644 cassettes/channels.views.comments_test.test_get_comment_404.json delete mode 100644 cassettes/channels.views.comments_test.test_get_comment_anonymous.json delete mode 100644 cassettes/channels.views.comments_test.test_get_removed_comment[None-404].json delete mode 100644 cassettes/channels.views.comments_test.test_get_removed_comment[comment_writer-200].json delete mode 100644 cassettes/channels.views.comments_test.test_get_removed_comment[staff_user-200].json delete mode 100644 cassettes/channels.views.comments_test.test_get_removed_comment[user-404].json delete mode 100644 cassettes/channels.views.comments_test.test_list_comments[False].json delete mode 100644 cassettes/channels.views.comments_test.test_list_comments[True].json delete mode 100644 cassettes/channels.views.comments_test.test_list_comments_anonymous.json delete mode 100644 cassettes/channels.views.comments_test.test_list_comments_forbidden.json delete mode 100644 cassettes/channels.views.comments_test.test_list_comments_more.json delete mode 100644 cassettes/channels.views.comments_test.test_list_comments_none.json delete mode 100644 cassettes/channels.views.comments_test.test_list_comments_not_found.json delete mode 100644 cassettes/channels.views.comments_test.test_list_deleted_comments.json delete mode 100644 cassettes/channels.views.comments_test.test_more_comments[False].json delete mode 100644 cassettes/channels.views.comments_test.test_more_comments[True].json delete mode 100644 cassettes/channels.views.comments_test.test_more_comments_404[False-False].json delete mode 100644 cassettes/channels.views.comments_test.test_more_comments_404[False-True].json delete mode 100644 cassettes/channels.views.comments_test.test_more_comments_404[True-False].json delete mode 100644 cassettes/channels.views.comments_test.test_more_comments_404[True-True].json delete mode 100644 cassettes/channels.views.comments_test.test_more_comments_anonymous.json delete mode 100644 cassettes/channels.views.comments_test.test_more_comments_children.json delete mode 100644 cassettes/channels.views.comments_test.test_more_comments_missing_param[parent_id].json delete mode 100644 cassettes/channels.views.comments_test.test_more_comments_missing_param[post_id].json delete mode 100644 cassettes/channels.views.comments_test.test_update_comment_anonymous.json delete mode 100644 cassettes/channels.views.comments_test.test_update_comment_approve.json delete mode 100644 cassettes/channels.views.comments_test.test_update_comment_clear_downvote.json delete mode 100644 cassettes/channels.views.comments_test.test_update_comment_clear_upvote.json delete mode 100644 cassettes/channels.views.comments_test.test_update_comment_downvote.json delete mode 100644 cassettes/channels.views.comments_test.test_update_comment_forbidden.json delete mode 100644 cassettes/channels.views.comments_test.test_update_comment_ignore_reports.json delete mode 100644 cassettes/channels.views.comments_test.test_update_comment_ignore_reports_forbidden.json delete mode 100644 cassettes/channels.views.comments_test.test_update_comment_remove.json delete mode 100644 cassettes/channels.views.comments_test.test_update_comment_subscribe.json delete mode 100644 cassettes/channels.views.comments_test.test_update_comment_text.json delete mode 100644 cassettes/channels.views.comments_test.test_update_comment_text_moderator.json delete mode 100644 cassettes/channels.views.comments_test.test_update_comment_unsubscribe.json delete mode 100644 cassettes/channels.views.comments_test.test_update_comment_upvote.json delete mode 100644 cassettes/channels.views.contributors_test.test_add_contributor[1].json delete mode 100644 cassettes/channels.views.contributors_test.test_add_contributor[2].json delete mode 100644 cassettes/channels.views.contributors_test.test_add_contributor_anonymous.json delete mode 100644 cassettes/channels.views.contributors_test.test_add_contributor_email.json delete mode 100644 cassettes/channels.views.contributors_test.test_list_contributors.json delete mode 100644 cassettes/channels.views.contributors_test.test_list_contributors_anonymous.json delete mode 100644 cassettes/channels.views.contributors_test.test_remove_contributor[1].json delete mode 100644 cassettes/channels.views.contributors_test.test_remove_contributor[2].json delete mode 100644 cassettes/channels.views.contributors_test.test_remove_contributor_anonymous.json delete mode 100644 cassettes/channels.views.frontpage_test.test_frontpage.json delete mode 100644 cassettes/channels.views.frontpage_test.test_frontpage[False].json delete mode 100644 cassettes/channels.views.frontpage_test.test_frontpage[True].json delete mode 100644 cassettes/channels.views.frontpage_test.test_frontpage_anonymous.json delete mode 100644 cassettes/channels.views.frontpage_test.test_frontpage_empty.json delete mode 100644 cassettes/channels.views.frontpage_test.test_frontpage_pagination[params0-expected0].json delete mode 100644 cassettes/channels.views.frontpage_test.test_frontpage_pagination[params1-expected1].json delete mode 100644 cassettes/channels.views.frontpage_test.test_frontpage_pagination[params2-expected2].json delete mode 100644 cassettes/channels.views.frontpage_test.test_frontpage_pagination[params3-expected3].json delete mode 100644 cassettes/channels.views.frontpage_test.test_frontpage_sorted[hot].json delete mode 100644 cassettes/channels.views.frontpage_test.test_frontpage_sorted[new].json delete mode 100644 cassettes/channels.views.frontpage_test.test_frontpage_sorted[top].json delete mode 100644 cassettes/channels.views.moderators_test.test_add_moderator.json delete mode 100644 cassettes/channels.views.moderators_test.test_add_moderator_again.json delete mode 100644 cassettes/channels.views.moderators_test.test_add_moderator_anonymous.json delete mode 100644 cassettes/channels.views.moderators_test.test_add_moderator_email.json delete mode 100644 cassettes/channels.views.moderators_test.test_list_moderators.json delete mode 100644 cassettes/channels.views.moderators_test.test_list_moderators_anonymous.json delete mode 100644 cassettes/channels.views.moderators_test.test_list_moderators_many_moderator.json delete mode 100644 cassettes/channels.views.moderators_test.test_list_moderators_moderator.json delete mode 100644 cassettes/channels.views.moderators_test.test_list_moderators_staff.json delete mode 100644 cassettes/channels.views.moderators_test.test_remove_moderator[1].json delete mode 100644 cassettes/channels.views.moderators_test.test_remove_moderator[2].json delete mode 100644 cassettes/channels.views.moderators_test.test_remove_moderator_anonymous.json delete mode 100644 cassettes/channels.views.posts_test.test_create_and_update_post_moderator.json delete mode 100644 cassettes/channels.views.posts_test.test_create_article_post.json delete mode 100644 cassettes/channels.views.posts_test.test_create_article_post_with_cover.json delete mode 100644 cassettes/channels.views.posts_test.test_create_post_anonymous.json delete mode 100644 cassettes/channels.views.posts_test.test_create_post_forbidden.json delete mode 100644 cassettes/channels.views.posts_test.test_create_post_not_found.json delete mode 100644 cassettes/channels.views.posts_test.test_create_post_without_upvote.json delete mode 100644 cassettes/channels.views.posts_test.test_create_text_post.json delete mode 100644 cassettes/channels.views.posts_test.test_create_text_post_blank.json delete mode 100644 cassettes/channels.views.posts_test.test_create_url_post.json delete mode 100644 cassettes/channels.views.posts_test.test_create_url_post_existing_meta.json delete mode 100644 cassettes/channels.views.posts_test.test_delete_post.json delete mode 100644 cassettes/channels.views.posts_test.test_delete_post_anonymous[True].json delete mode 100644 cassettes/channels.views.posts_test.test_get_deleted_post[False].json delete mode 100644 cassettes/channels.views.posts_test.test_get_deleted_post[True].json delete mode 100644 cassettes/channels.views.posts_test.test_get_post[False].json delete mode 100644 cassettes/channels.views.posts_test.test_get_post[True].json delete mode 100644 cassettes/channels.views.posts_test.test_get_post_anonymous.json delete mode 100644 cassettes/channels.views.posts_test.test_get_post_forbidden.json delete mode 100644 cassettes/channels.views.posts_test.test_get_post_no_profile.json delete mode 100644 cassettes/channels.views.posts_test.test_get_post_not_found.json delete mode 100644 cassettes/channels.views.posts_test.test_get_post_stickied.json delete mode 100644 cassettes/channels.views.posts_test.test_get_removed_post[None-404].json delete mode 100644 cassettes/channels.views.posts_test.test_get_removed_post[client_user1-404].json delete mode 100644 cassettes/channels.views.posts_test.test_get_removed_post[client_user2-200].json delete mode 100644 cassettes/channels.views.posts_test.test_get_removed_post[staff_user-200].json delete mode 100644 cassettes/channels.views.posts_test.test_get_removed_post[user-404].json delete mode 100644 cassettes/channels.views.posts_test.test_list_posts[False].json delete mode 100644 cassettes/channels.views.posts_test.test_list_posts[True].json delete mode 100644 cassettes/channels.views.posts_test.test_list_posts_anonymous.json delete mode 100644 cassettes/channels.views.posts_test.test_list_posts_forbidden.json delete mode 100644 cassettes/channels.views.posts_test.test_list_posts_none.json delete mode 100644 cassettes/channels.views.posts_test.test_list_posts_not_found.json delete mode 100644 cassettes/channels.views.posts_test.test_list_posts_pagination[params0-expected0].json delete mode 100644 cassettes/channels.views.posts_test.test_list_posts_pagination[params1-expected1].json delete mode 100644 cassettes/channels.views.posts_test.test_list_posts_pagination[params2-expected2].json delete mode 100644 cassettes/channels.views.posts_test.test_list_posts_pagination[params3-expected3].json delete mode 100644 cassettes/channels.views.posts_test.test_list_posts_pagination_first_page_no_params.json delete mode 100644 cassettes/channels.views.posts_test.test_list_posts_pagination_first_page_with_params.json delete mode 100644 cassettes/channels.views.posts_test.test_list_posts_pagination_non_first_page.json delete mode 100644 cassettes/channels.views.posts_test.test_list_posts_pagination_non_offset_page.json delete mode 100644 cassettes/channels.views.posts_test.test_list_posts_sorted[hot].json delete mode 100644 cassettes/channels.views.posts_test.test_list_posts_sorted[new].json delete mode 100644 cassettes/channels.views.posts_test.test_list_posts_sorted[top].json delete mode 100644 cassettes/channels.views.posts_test.test_list_posts_stickied.json delete mode 100644 cassettes/channels.views.posts_test.test_patch_article_validate_cover_image.json delete mode 100644 cassettes/channels.views.posts_test.test_post_anonymous.json delete mode 100644 cassettes/channels.views.posts_test.test_post_create_post_new_meta.json delete mode 100644 cassettes/channels.views.posts_test.test_post_create_post_no_thumbnail.json delete mode 100644 cassettes/channels.views.posts_test.test_subscribe_post[False-False-0-1].json delete mode 100644 cassettes/channels.views.posts_test.test_subscribe_post[False-True-1-2].json delete mode 100644 cassettes/channels.views.posts_test.test_subscribe_post[True-False-1-1].json delete mode 100644 cassettes/channels.views.posts_test.test_subscribe_post[True-True-2-2].json delete mode 100644 cassettes/channels.views.posts_test.test_unsubscribe_post.json delete mode 100644 cassettes/channels.views.posts_test.test_update_article_cover.json delete mode 100644 cassettes/channels.views.posts_test.test_update_article_post.json delete mode 100644 cassettes/channels.views.reports_test.test_list_reports.json delete mode 100644 cassettes/channels.views.reports_test.test_list_reports_empty.json delete mode 100644 cassettes/channels.views.reports_test.test_patch_channel_noauth.json delete mode 100644 cassettes/channels.views.reports_test.test_patch_channel_nonstaff.json delete mode 100644 cassettes/channels.views.reports_test.test_report_anonymous.json delete mode 100644 cassettes/channels.views.reports_test.test_report_comment.json delete mode 100644 cassettes/channels.views.reports_test.test_report_post.json delete mode 100644 cassettes/channels.views.subscribers_test.test_add_subscriber[1].json delete mode 100644 cassettes/channels.views.subscribers_test.test_add_subscriber[2].json delete mode 100644 cassettes/channels.views.subscribers_test.test_add_subscriber_anonymous.json delete mode 100644 cassettes/channels.views.subscribers_test.test_add_subscriber_forbidden.json delete mode 100644 cassettes/channels.views.subscribers_test.test_add_subscriber_mod.json delete mode 100644 cassettes/channels.views.subscribers_test.test_detail_subscriber.json delete mode 100644 cassettes/channels.views.subscribers_test.test_detail_subscriber_anonymous.json delete mode 100644 cassettes/channels.views.subscribers_test.test_detail_subscriber_missing.json delete mode 100644 cassettes/channels.views.subscribers_test.test_list_subscribers.json delete mode 100644 cassettes/channels.views.subscribers_test.test_list_subscribers_allowed.json delete mode 100644 cassettes/channels.views.subscribers_test.test_list_subscribers_not_allowed.json delete mode 100644 cassettes/channels.views.subscribers_test.test_remove_subscriber[1].json delete mode 100644 cassettes/channels.views.subscribers_test.test_remove_subscriber[2].json delete mode 100644 cassettes/channels.views.subscribers_test.test_remove_subscriber_anonymous.json delete mode 100644 cassettes/channels.views_test.test_api_exception.json delete mode 100644 cassettes/notifications.notifiers.comments_test.test_send_notification[False].json delete mode 100644 cassettes/notifications.notifiers.comments_test.test_send_notification[True].json delete mode 100644 cassettes/notifications.notifiers.moderator_posts_test.test_send_notification.json delete mode 100644 channels/__init__.py delete mode 100644 channels/admin.py delete mode 100644 channels/api.py delete mode 100644 channels/api_test.py delete mode 100644 channels/apps.py delete mode 100644 channels/backpopulate_api.py delete mode 100644 channels/backpopulate_api_test.py delete mode 100644 channels/conftest.py delete mode 100644 channels/constants.py delete mode 100644 channels/exceptions.py delete mode 100644 channels/factories/__init__.py delete mode 100644 channels/factories/models.py delete mode 100644 channels/factories/reddit.py delete mode 100644 channels/factories/utils.py delete mode 100644 channels/management/__init__.py delete mode 100644 channels/management/commands/__init__.py delete mode 100644 channels/management/commands/add_index_user_to_channels.py delete mode 100644 channels/management/commands/backpopulate_channel_fields.py delete mode 100644 channels/management/commands/backpopulate_channel_widget_lists.py delete mode 100644 channels/management/commands/backpopulate_post_and_comment_fields.py delete mode 100644 channels/management/commands/backpopulate_posts.py delete mode 100644 channels/management/commands/backpopulate_subscriptions_roles.py delete mode 100644 channels/management/commands/reclassify_spam.py delete mode 100644 channels/management/commands/set_channel_allow_top.py delete mode 100644 channels/management/commands/subscribe_all_users_to_channel.py delete mode 100644 channels/management/commands/update_managed_channel_memberships.py delete mode 100644 channels/membership_api.py delete mode 100644 channels/membership_api_test.py delete mode 100644 channels/migrations/0001_add_tokens.py delete mode 100644 channels/migrations/0002_add_subscription.py delete mode 100644 channels/migrations/0003_channels_comments_posts.py delete mode 100644 channels/migrations/0004_channel_membership_is_managed.py delete mode 100644 channels/migrations/0005_membership_default_true.py delete mode 100644 channels/migrations/0006_link_meta.py delete mode 100644 channels/migrations/0007_avatar_banner.py delete mode 100644 channels/migrations/0008_channel_ga_tracking_id.py delete mode 100644 channels/migrations/0009_avatar_banner_filename.py delete mode 100644 channels/migrations/0010_avatar_small_medium.py delete mode 100644 channels/migrations/0011_channel_subscriptions_roles.py delete mode 100644 channels/migrations/0012_add_post_type_and_article.py delete mode 100644 channels/migrations/0013_add_channel_widgetlist.py delete mode 100644 channels/migrations/0014_add_allowed_post_types.py delete mode 100644 channels/migrations/0015_add_article_cover_image.py delete mode 100644 channels/migrations/0016_add_channel_fields.py delete mode 100644 channels/migrations/0017_remove_unique.py delete mode 100644 channels/migrations/0018_add_post_and_comment_fields.py delete mode 100644 channels/migrations/0019_channel_about.py delete mode 100644 channels/migrations/0020_remove_article_thumbnail.py delete mode 100644 channels/migrations/0021_post_preview_text.py delete mode 100644 channels/migrations/0022_add_channel_invitation.py delete mode 100644 channels/migrations/0023_add_subscriptions_related_name.py delete mode 100644 channels/migrations/0024_channel_membership_config.py delete mode 100644 channels/migrations/0025_spamcheckresult.py delete mode 100644 channels/migrations/0026_channel_moderator_notifications.py delete mode 100644 channels/migrations/0027_post_exclude_from_frontpage_emails.py delete mode 100644 channels/migrations/0028_blankable_fields.py delete mode 100644 channels/migrations/0029_alter_article_content_alter_channel_about_and_more.py delete mode 100644 channels/migrations/__init__.py delete mode 100644 channels/models.py delete mode 100644 channels/models_test.py delete mode 100644 channels/proxies.py delete mode 100644 channels/serializers/__init__.py delete mode 100644 channels/serializers/base.py delete mode 100644 channels/serializers/channels.py delete mode 100644 channels/serializers/channels_test.py delete mode 100644 channels/serializers/comments.py delete mode 100644 channels/serializers/comments_test.py delete mode 100644 channels/serializers/contributors.py delete mode 100644 channels/serializers/contributors_test.py delete mode 100644 channels/serializers/invites.py delete mode 100644 channels/serializers/invites_test.py delete mode 100644 channels/serializers/moderators.py delete mode 100644 channels/serializers/moderators_test.py delete mode 100644 channels/serializers/posts.py delete mode 100644 channels/serializers/posts_test.py delete mode 100644 channels/serializers/reports.py delete mode 100644 channels/serializers/reports_test.py delete mode 100644 channels/serializers/subscribers.py delete mode 100644 channels/serializers/subscribers_test.py delete mode 100644 channels/serializers/utils.py delete mode 100644 channels/serializers/validators.py delete mode 100644 channels/serializers/validators_test.py delete mode 100644 channels/signals.py delete mode 100644 channels/spam.py delete mode 100644 channels/spam_test.py delete mode 100644 channels/task_helpers.py delete mode 100644 channels/task_helpers_test.py delete mode 100644 channels/tasks.py delete mode 100644 channels/tasks_test.py delete mode 100644 channels/test_constants.py delete mode 100644 channels/test_utils.py delete mode 100644 channels/urls.py delete mode 100644 channels/urls_test.py delete mode 100644 channels/utils.py delete mode 100644 channels/utils_test.py delete mode 100644 channels/views/__init__.py delete mode 100644 channels/views/channels.py delete mode 100644 channels/views/channels_test.py delete mode 100644 channels/views/comments.py delete mode 100644 channels/views/comments_test.py delete mode 100644 channels/views/contributors.py delete mode 100644 channels/views/contributors_test.py delete mode 100644 channels/views/frontpage.py delete mode 100644 channels/views/frontpage_test.py delete mode 100644 channels/views/invites.py delete mode 100644 channels/views/invites_test.py delete mode 100644 channels/views/moderators.py delete mode 100644 channels/views/moderators_test.py delete mode 100644 channels/views/posts.py delete mode 100644 channels/views/posts_test.py delete mode 100644 channels/views/reports.py delete mode 100644 channels/views/reports_test.py delete mode 100644 channels/views/subscribers.py delete mode 100644 channels/views/subscribers_test.py delete mode 100644 channels/views/test_utils.py delete mode 100644 channels/views_test.py delete mode 100644 docs/architecture/email_notification.md delete mode 100644 docs/architecture/spam_mitigation.md delete mode 100644 docs/configuration.md delete mode 100644 docs/operations.md delete mode 100644 docs/reddit-migration/considerations/index.md delete mode 100644 docs/reddit-migration/considerations/reddit-ids.md delete mode 100644 docs/reddit-migration/considerations/sorting.md delete mode 100644 docs/reddit-migration/index.md delete mode 100644 docs/reddit-migration/strategy/cleanup.md delete mode 100644 docs/reddit-migration/strategy/index.md delete mode 100644 docs/reddit-migration/strategy/reads-and-writes.md delete mode 100644 docs/reddit-migration/strategy/schema.md delete mode 100644 docs/rfcs/0002-indexing-embedly-link-preview.md delete mode 100644 fixtures/reddit.py delete mode 100644 mail/templates/comments/body.html delete mode 100644 mail/templates/comments/subject.txt delete mode 100644 mail/templates/invite/body.html delete mode 100644 mail/templates/invite/subject.txt delete mode 100644 mail/templates/moderator_posts/body.html delete mode 100644 mail/templates/moderator_posts/subject.txt delete mode 100644 moira_lists/__init__.py delete mode 100644 moira_lists/admin.py delete mode 100644 moira_lists/apps.py delete mode 100644 moira_lists/conftest.py delete mode 100644 moira_lists/exceptions.py delete mode 100644 moira_lists/factories.py delete mode 100644 moira_lists/migrations/0001_initial.py delete mode 100644 moira_lists/migrations/__init__.py delete mode 100644 moira_lists/models.py delete mode 100644 moira_lists/moira_api.py delete mode 100644 moira_lists/moira_api_test.py delete mode 100644 moira_lists/tasks.py delete mode 100644 moira_lists/tasks_test.py delete mode 100644 notifications/__init__.py delete mode 100644 notifications/api.py delete mode 100644 notifications/api_test.py delete mode 100644 notifications/apps.py delete mode 100644 notifications/factories.py delete mode 100644 notifications/management/__init__.py delete mode 100644 notifications/management/commands/__init__.py delete mode 100644 notifications/management/commands/populate_notification_settings.py delete mode 100644 notifications/migrations/0001_add_notification_settings.py delete mode 100644 notifications/migrations/0002_add_notifications.py delete mode 100644 notifications/migrations/0003_add_notification_skipped.py delete mode 100644 notifications/migrations/0004_add_comment_event.py delete mode 100644 notifications/migrations/0005_moderator_post_notifications.py delete mode 100644 notifications/migrations/0006_moderator_post_notifiacation_channel.py delete mode 100644 notifications/migrations/__init__.py delete mode 100644 notifications/models.py delete mode 100644 notifications/models_test.py delete mode 100644 notifications/notifiers/__init__.py delete mode 100644 notifications/notifiers/base.py delete mode 100644 notifications/notifiers/base_test.py delete mode 100644 notifications/notifiers/comments.py delete mode 100644 notifications/notifiers/comments_test.py delete mode 100644 notifications/notifiers/email.py delete mode 100644 notifications/notifiers/email_test.py delete mode 100644 notifications/notifiers/exceptions.py delete mode 100644 notifications/notifiers/frontpage.py delete mode 100644 notifications/notifiers/frontpage_test.py delete mode 100644 notifications/notifiers/moderator_posts.py delete mode 100644 notifications/notifiers/moderator_posts_test.py delete mode 100644 notifications/serializers.py delete mode 100644 notifications/serializers_test.py delete mode 100644 notifications/tasks.py delete mode 100644 notifications/tasks_test.py delete mode 100644 notifications/urls.py delete mode 100644 notifications/utils.py delete mode 100644 notifications/utils_test.py delete mode 100644 notifications/views.py delete mode 100644 notifications/views_test.py delete mode 100644 open_discussions/middleware/channel_api.py delete mode 100644 open_discussions/middleware/channel_api_test.py delete mode 100644 open_discussions/recorder.py diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6963801c0c..983a93a469 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -80,10 +80,6 @@ jobs: MITOPEN_SECURE_SSL_REDIRECT: 'False' MITOPEN_DB_DISABLE_SSL: 'True' MITOPEN_FEATURES_DEFAULT: 'True' - MITOPEN_REDDIT_URL: https://reddit.local - MITOPEN_REDDIT_VALIDATE_SSL: 'False' - MITOPEN_REDDIT_CLIENT_ID: od_client_id - MITOPEN_REDDIT_SECRET: od_client_secret # pragma: allowlist secret OPENSEARCH_URL: localhost:9200 CELERY_TASK_ALWAYS_EAGER: 'True' CELERY_BROKER_URL: redis://localhost:6379/4 diff --git a/README.md b/README.md index 85791f9e82..74c84faec8 100644 --- a/README.md +++ b/README.md @@ -75,33 +75,6 @@ MAILGUN_KEY Additionally, you'll need to set `MAILGUN_RECIPIENT_OVERRIDE` to your own email address so any emails sent from the app will be delivered to you. -### Enabling article posts -It is based on text posts but allows the user to add a cover image, provides richer editing capabilities, etc. -To enable it, run through these steps: - -1. Adjust channel settings to allow article posts. This can be done in one of two ways: - 1. Visit the channel settings page in the running app when logged in as a moderator user. - Select the article checkbox under "Allowed Post Types" and save. - (There should be an option in the channel page header to visit the settings page, or - you can navigate there directly: `/c//settings/`). - 1. Update the channel directly in a Django shell: - - ```python - from channels.models import Channel - # To allow all post types for the channel... - Channel.objects.filter(name="SOME_CHANNEL_NAME").update( - allowed_post_types=Channel.allowed_post_types.link | Channel.allowed_post_types.self | Channel.allowed_post_types.article - ) - ``` -1. Set up environment variables for the article UI. In `.env`, add: - ```python - FEATURE_ARTICLE_UI=True - # Ask a fellow developer for the following values... - CKEDITOR_ENVIRONMENT_ID=... - CKEDITOR_SECRET_KEY=... - CKEDITOR_UPLOAD_URL=... - ``` - ### Enabling image uploads to S3 :warning: **NOTE: Article cover image thumbnails will be broken unless this is configured** :warning: @@ -116,16 +89,6 @@ broken images unless you configure your app to upload to S3. Steps: These values can be copied directly from the Open Discussions CI Heroku settings, or a fellow dev can provide them. - -### Enabling widgets - -To enable channel widgets, run through these steps: - -1. Run the management command to ensure that your channels are properly configured - ```bash - docker-compose run --rm web ./manage.py backpopulate_channel_widget_lists - ``` -1. Add `FEATURE_WIDGETS_UI=True` to your `.env` ### Enabling searching the course catalog on opensearch diff --git a/app.json b/app.json index 1170c2af8b..b16e76639f 100644 --- a/app.json +++ b/app.json @@ -309,24 +309,12 @@ "MITOPEN_BASE_URL": { "description": "Base url to link users to in emails" }, - "MITOPEN_CHANNEL_POST_LIMIT": { - "description": "Number of posts to display on the frontpage and channels", - "required": false - }, "MITOPEN_COOKIE_NAME": { "description": "Name of the cookie for the JWT auth token" }, "MITOPEN_COOKIE_DOMAIN": { "description": "Domain for the cookie for the JWT auth token" }, - "MITOPEN_DEFAULT_CHANNEL_BACKPOPULATE_BATCH_SIZE": { - "description": "Number of users to sync per backpopulate batch", - "required": false - }, - "MITOPEN_RELATED_POST_COUNT": { - "description": "Number of related posts to fetch", - "required": false - }, "MITOPEN_DB_CONN_MAX_AGE": { "value": "0" }, @@ -360,47 +348,15 @@ "MITOPEN_FROM_EMAIL": { "description": "E-mail to use for the from field" }, - "MITOPEN_FRONTPAGE_DIGEST_MAX_EPISODES": { - "description": "Max podcast episodes in open digest emails", - "required": false - }, - "MITOPEN_FRONTPAGE_DIGEST_MAX_POSTS": { - "description": "Max posts in open digest emails", - "required": false - }, "MITOPEN_LOG_LEVEL": { "description": "The log level for the application", "required": true, "value": "INFO" }, - "MITOPEN_HOT_POST_REPAIR_DELAY": { - "description": "How many second to wait until attempting to repair a missing post", - "required": false - }, - "MITOPEN_HOT_POST_REPAIR_LIMIT": { - "description": "Maximum number of posts in the history to check for a missing post", - "required": false - }, "MITOPEN_JWT_SECRET": { "description": "Shared secret for JWT auth tokens", "required": true }, - "MITOPEN_MAX_COMMENT_DEPTH": { - "description": "Maximum depth of a comment", - "required": false - }, - "MITOPEN_NOTIFICATION_ATTEMPT_RATE_LIMIT": { - "description": "The per-worker rate limit at which to generate pending EmailNotification frontpage records", - "required": false - }, - "MITOPEN_NOTIFICATION_ATTEMPT_CHUNK_SIZE": { - "description": "The size of each attempt batch", - "required": false - }, - "MITOPEN_NOTIFICATION_SEND_CHUNK_SIZE": { - "description": "The size of each sending batch", - "required": false - }, "MITOPEN_SECURE_SSL_REDIRECT": { "description": "Application-level SSL redirect setting.", "value": "True" @@ -524,14 +480,6 @@ "description": "The log level for Sentry", "required": false }, - "SPAM_EXEMPT_EMAILS": { - "description": "list of email regex patterns that are exempt from spam checking", - "required": false - }, - "STAFF_MOIRA_LISTS": { - "description": "moira lists of users who can create public lists", - "required": false - }, "STATUS_TOKEN": { "description": "Token to access the status API." }, diff --git a/authentication/middleware_test.py b/authentication/middleware_test.py index 0aad3a30b7..33697c616a 100644 --- a/authentication/middleware_test.py +++ b/authentication/middleware_test.py @@ -76,7 +76,7 @@ def test_process_view_blocked_ip_middleware( # pylint:disable=too-many-argument ): """Check that `process_view` raises a PermissionDenied error when appropriate""" user = UserFactory.create(is_superuser=is_super) - view = "search" if exempt_view else "channel-list" + view = "search" request = rf.post(reverse(view)) request.user = user diff --git a/cassettes/channels.views.channels_test.test_create_channel[False].json b/cassettes/channels.views.channels_test.test_create_channel[False].json deleted file mode 100644 index 46346067e0..0000000000 --- a/cassettes/channels.views.channels_test.test_create_channel[False].json +++ /dev/null @@ -1,507 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-10-31T20:13:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CV5W3WDVH2SEKV9ZBH3XG6HY" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12N0QqCMBiFX0V2GQ3GBpO6rUQLDMKiu2HzF9eg6TYri949l3ddnsP5vvNGpZTgnPBGww0tI0RZzBlmxZlvk6T1+pHRTdfZfCiG4wkzrNE8QvBslQUnVEAYJ2TsfgbhhxaC5gKlBRu2TpqpmoVkoR7B5v9P0WtTy3VGVmLf5zFX9NAv0t2LUxOoCu5KglBVUE8Bfb6xc3nnvAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 31 Oct 2018 20:13:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=WUqjboEHQqQFzcucAw; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 30-Oct-2020 20:13:00 GMT", - "loidcreated=2018-10-31T20%3A13%3A00.168Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 30-Oct-2020 20:13:00 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CV5W3WDVH2SEKV9ZBH3XG6HY" - } - }, - { - "recorded_at": "2018-10-31T20:13:03", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=WUqjboEHQqQFzcucAw; loidcreated=2018-10-31T20%3A13%3A00.168Z" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CV5W3ZPNQ5JKE3DCC7G9HV5K" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNjcz0TUxK0jMSs50zA+30DUpdS2KKIiKzHQvcyk3CFTSUVBKrSjILEotjs8EaTE2MzAAioFNiC+pLEgFGZOUmliUWgRSW5ycDxHSAvGKUtOAGjPQ7fMIqwpK84w0DYwsyrQISw/PsvT3D4vILDX3MQHpSkkty0xOjc9MARkN4SjVAgCcVc57vAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 31 Oct 2018 20:13:03 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CV5W3ZPNQ5JKE3DCC7G9HV5K" - } - }, - { - "recorded_at": "2018-10-31T20:13:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Libero+iste+voluptate+exercitationem+perferendis+est+rerum+doloremque+quae.+Ipsum+quisquam+eos+corrupti+ut+nostrum+natus.%0ASuscipit+nobis+natus+eaque+hic.+Reprehenderit+aut+alias+ducimus+eaque+nisi+tempora.+Aliquid+modi+inventore+nostrum+velit+totam+explicabo+aliquam.+Beatae+quia+molestias+eaque+rem+illo.%0AMagnam+velit+voluptates+voluptatum+accusantium+dicta+velit+nam.+Quas+sequi+occaecati+repellendus+nihil+occaecati.+Impedit+eum+veniam+iure.+Cumque+inventore+aperiam+maiores+expedita+voluptates.&link_type=any&name=1541016783_cumque&public_description=Numquam+consequatur+necessitatibus+deserunt+accusamus.&title=Velit+nisi+aperiam+omnis+nam.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 23763-3TX6JFFptkwI2EqqrNyTyUV-3-k" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "721" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WUqjboEHQqQFzcucAw; loidcreated=2018-10-31T20%3A13%3A00.168Z" - ], - "User-Agent": [ - "MIT-Open: 0.51.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 31 Oct 2018 20:13:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "414" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-31T20:13:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CV5W3ZPNQ5JKE3DCC7G9HV5K&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 23763-3TX6JFFptkwI2EqqrNyTyUV-3-k" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WUqjboEHQqQFzcucAw; loidcreated=2018-10-31T20%3A13%3A00.168Z" - ], - "User-Agent": [ - "MIT-Open: 0.51.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1541016783_cumque/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 31 Oct 2018 20:13:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "413" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1541016783_cumque/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-31T20:13:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 23764-46pajciAoW8-4uErXpZYiGvDw0Q" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WUqjboEHQqQFzcucAw; loidcreated=2018-10-31T20%3A13%3A00.168Z" - ], - "User-Agent": [ - "MIT-Open: 0.51.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1541016783_cumque/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 31 Oct 2018 20:13:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "413" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1541016783_cumque/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-10-31T20:13:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 23763-3TX6JFFptkwI2EqqrNyTyUV-3-k" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=WUqjboEHQqQFzcucAw; loidcreated=2018-10-31T20%3A13%3A00.168Z" - ], - "User-Agent": [ - "MIT-Open: 0.51.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1541016783_cumque/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"3z\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1541016783_cumque\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ELibero iste voluptate exercitationem perferendis est rerum doloremque quae. Ipsum quisquam eos corrupti ut nostrum natus.\\nSuscipit nobis natus eaque hic. Reprehenderit aut alias ducimus eaque nisi tempora. Aliquid modi inventore nostrum velit totam explicabo aliquam. Beatae quia molestias eaque rem illo.\\nMagnam velit voluptates voluptatum accusantium dicta velit nam. Quas sequi occaecati repellendus nihil occaecati. Impedit eum veniam iure. Cumque inventore aperiam maiores expedita voluptates.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Velit nisi aperiam omnis nam.\", \"collapse_deleted_comments\": false, \"public_description\": \"Numquam consequatur necessitatibus deserunt accusamus.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENumquam consequatur necessitatibus deserunt accusamus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Libero iste voluptate exercitationem perferendis est rerum doloremque quae. Ipsum quisquam eos corrupti ut nostrum natus.\\nSuscipit nobis natus eaque hic. Reprehenderit aut alias ducimus eaque nisi tempora. Aliquid modi inventore nostrum velit totam explicabo aliquam. Beatae quia molestias eaque rem illo.\\nMagnam velit voluptates voluptatum accusantium dicta velit nam. Quas sequi occaecati repellendus nihil occaecati. Impedit eum veniam iure. Cumque inventore aperiam maiores expedita voluptates.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 7, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 1, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_3z\", \"created\": 1541016786.0, \"url\": \"/r/1541016783_cumque/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1541016786.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2454" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 31 Oct 2018 20:13:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "413" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=J8BIr6y4mrDGfV6V1fOgy9ExdNQECBDS4GwSlLY4BAxWLuGsG7YV%2FeGXo3dL2yEnnnzedH7I1gksC2VzX92QkenBVPIZySgI" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1541016783_cumque/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_create_channel[None].json b/cassettes/channels.views.channels_test.test_create_channel[None].json deleted file mode 100644 index be63ab1097..0000000000 --- a/cassettes/channels.views.channels_test.test_create_channel[None].json +++ /dev/null @@ -1,507 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-10-31T20:13:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CV5W46DZ7CXZWC5SKQCCBGGG" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NwQqCQBRFf0VmGQmiOUJbSUEpNApyNYzPJ06Z2sxkRfTvOblreS/3nPsmHACVYrq/YEfWFnG9gPp2AnGY2PKwadNI79pt0RVNSYHvz0eytAg+ByFRMWEQjzrO1P0MTL8GNJoSuURptgr6uVqYJLGewOb/T/PwmmewSm913mR09GV0Cmyg7v1hqApHAchEZdRzIJ8vw5+ENLwAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 31 Oct 2018 20:13:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=lmmy0wj4SLBobIeg4l; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 30-Oct-2020 20:13:10 GMT", - "loidcreated=2018-10-31T20%3A13%3A10.407Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 30-Oct-2020 20:13:10 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CV5W46DZ7CXZWC5SKQCCBGGG" - } - }, - { - "recorded_at": "2018-10-31T20:13:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=lmmy0wj4SLBobIeg4l; loidcreated=2018-10-31T20%3A13%3A10.407Z" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CV5W49NYSY91XC7STPWDQYZV" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNjcz04308En3Dq0qqqhyyckLSQ+LCo9MNc818UvPLVfSUVBKrSjILEotjs8EaTE2MzAAioFNiC+pLEgFGZOUmliUWgRSW5ycDxHSAvGKUtOAGjPQ7TN2rHL1zsnNM7A0ys0wy/XXzShMK/ascKv0cgXpSkkty0xOjc9MARkN4SjVAgCbe3sQvAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 31 Oct 2018 20:13:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CV5W49NYSY91XC7STPWDQYZV" - } - }, - { - "recorded_at": "2018-10-31T20:13:17", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Voluptatum+eum+consectetur+eligendi+officiis+blanditiis.+Asperiores+ad+cumque+recusandae+voluptates+veniam+rerum+quidem+dignissimos.%0AHic+quos+quasi+excepturi+hic+quis.+Ab+quasi+deleniti+officia+fuga+at+voluptas.+Consequuntur+aspernatur+ex+ex+dicta+aspernatur.%0AAccusantium+perspiciatis+adipisci+sit+aliquid+aperiam+dolores+natus.+Ratione+magnam+similique+dignissimos+repellat+nostrum+iure+quos.+Soluta+totam+fugit+repellendus+deserunt+totam+maiores.&link_type=any&name=1541016794_similique&public_description=Rem+maiores+pariatur+quos+impedit+voluptatem+dolore+sapiente.&title=Commodi+commodi+libero+tempore+ipsa+quasi.&type=restricted&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 23765-JcGCJ-rTElKFtNlMYnYhb6caRjU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "697" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=lmmy0wj4SLBobIeg4l; loidcreated=2018-10-31T20%3A13%3A10.407Z" - ], - "User-Agent": [ - "MIT-Open: 0.51.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 31 Oct 2018 20:13:17 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "403" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-31T20:13:17", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CV5W49NYSY91XC7STPWDQYZV&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 23765-JcGCJ-rTElKFtNlMYnYhb6caRjU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=lmmy0wj4SLBobIeg4l; loidcreated=2018-10-31T20%3A13%3A10.407Z" - ], - "User-Agent": [ - "MIT-Open: 0.51.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1541016794_similique/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 31 Oct 2018 20:13:17 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "403" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1541016794_similique/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-31T20:13:17", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 23766-YHLgKUzrxzDlnTgVZWYe7m4Ngmw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=lmmy0wj4SLBobIeg4l; loidcreated=2018-10-31T20%3A13%3A10.407Z" - ], - "User-Agent": [ - "MIT-Open: 0.51.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1541016794_similique/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 31 Oct 2018 20:13:17 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "403" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1541016794_similique/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-10-31T20:13:17", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 23765-JcGCJ-rTElKFtNlMYnYhb6caRjU" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=lmmy0wj4SLBobIeg4l; loidcreated=2018-10-31T20%3A13%3A10.407Z" - ], - "User-Agent": [ - "MIT-Open: 0.51.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1541016794_similique/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"40\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1541016794_similique\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptatum eum consectetur eligendi officiis blanditiis. Asperiores ad cumque recusandae voluptates veniam rerum quidem dignissimos.\\nHic quos quasi excepturi hic quis. Ab quasi deleniti officia fuga at voluptas. Consequuntur aspernatur ex ex dicta aspernatur.\\nAccusantium perspiciatis adipisci sit aliquid aperiam dolores natus. Ratione magnam similique dignissimos repellat nostrum iure quos. Soluta totam fugit repellendus deserunt totam maiores.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Commodi commodi libero tempore ipsa quasi.\", \"collapse_deleted_comments\": false, \"public_description\": \"Rem maiores pariatur quos impedit voluptatem dolore sapiente.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ERem maiores pariatur quos impedit voluptatem dolore sapiente.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Voluptatum eum consectetur eligendi officiis blanditiis. Asperiores ad cumque recusandae voluptates veniam rerum quidem dignissimos.\\nHic quos quasi excepturi hic quis. Ab quasi deleniti officia fuga at voluptas. Consequuntur aspernatur ex ex dicta aspernatur.\\nAccusantium perspiciatis adipisci sit aliquid aperiam dolores natus. Ratione magnam similique dignissimos repellat nostrum iure quos. Soluta totam fugit repellendus deserunt totam maiores.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 7, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 1, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_40\", \"created\": 1541016797.0, \"url\": \"/r/1541016794_similique/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1541016797.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"restricted\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2390" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 31 Oct 2018 20:13:17 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "403" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=8zM%2BP9TaipPaAVd%2FKKHmVpUIvxZIl9i8VcXmeC5Lnu3m1ntNnyNAacx5wZYowTKNi3qeq7yue9TL3Ni5Tm5KV8R51oCJtBif" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1541016794_similique/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_create_channel[True].json b/cassettes/channels.views.channels_test.test_create_channel[True].json deleted file mode 100644 index e0de33824c..0000000000 --- a/cassettes/channels.views.channels_test.test_create_channel[True].json +++ /dev/null @@ -1,507 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-10-31T20:12:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CV5W3JAKEP311W5H1NSDMKVS" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNjcz1DX3cMqq8HQq882x9E/J9qj08HIt9S3TDbeMLFfSUVBKrSjILEotjs8EaTE2MzAAioFNiC+pLEgFGZOUmliUWgRSW5ycDxHSAvGKUtOAGjPQ7Ss1SkpKzw2IMg3PdDQwSgu2NAqrrEiJcnUx9AXpSkkty0xOjc9MARkN4SjVAgCIEmwbvAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 31 Oct 2018 20:12:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=2iK3lIuHIMya2hYUgr; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 30-Oct-2020 20:12:50 GMT", - "loidcreated=2018-10-31T20%3A12%3A49.846Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 30-Oct-2020 20:12:50 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CV5W3JAKEP311W5H1NSDMKVS" - } - }, - { - "recorded_at": "2018-10-31T20:12:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=2iK3lIuHIMya2hYUgr; loidcreated=2018-10-31T20%3A12%3A49.846Z" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CV5W3NM11R7F67H52TSSERK6" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNjcz0vUOzfMvDMxzt0yLLHUxcknLtyjKTqoy88g1N1DSUVBKrSjILEotjs8EaTE2MzAAioFNiC+pLEgFGZOUmliUWgRSW5ycDxHSAvGKUtOAGjPQ7fMtK6iMKgIi17JK38jC4sKSnPQoQ2NH3/x0kK6U1LLM5NT4zBSQ0RCOUi0A97tLm7wAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 31 Oct 2018 20:12:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CV5W3NM11R7F67H52TSSERK6" - } - }, - { - "recorded_at": "2018-10-31T20:12:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Reprehenderit+ab+reiciendis+voluptate+iste+perferendis+quisquam+cum+aliquid.+Iste+quod+accusamus+nobis+libero+voluptas+dignissimos+ad.+Voluptatum+incidunt+quia+consequatur+saepe+repudiandae+nam+quasi.%0AMagni+dicta+accusantium+facilis+animi+sequi+reprehenderit+molestias.+Facilis+pariatur+sequi+necessitatibus+sequi+animi+dolorem+nobis.%0AIpsa+necessitatibus+id+quia+voluptates.+Aliquid+quam+velit+maxime+reprehenderit+alias+consectetur.+Suscipit+eius+earum+accusamus.&link_type=any&name=1541016773_veritatis&public_description=Iusto+voluptatum+iusto+quasi+exercitationem+quod+laudantium+nam+architecto.&title=Consequatur+architecto+impedit+voluptas+dolor.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 23761-7HBjxIBvMl9OdkHyHJEuMv-W9Yw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "727" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=2iK3lIuHIMya2hYUgr; loidcreated=2018-10-31T20%3A12%3A49.846Z" - ], - "User-Agent": [ - "MIT-Open: 0.51.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 31 Oct 2018 20:12:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "424" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-31T20:12:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CV5W3NM11R7F67H52TSSERK6&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 23761-7HBjxIBvMl9OdkHyHJEuMv-W9Yw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=2iK3lIuHIMya2hYUgr; loidcreated=2018-10-31T20%3A12%3A49.846Z" - ], - "User-Agent": [ - "MIT-Open: 0.51.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1541016773_veritatis/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 31 Oct 2018 20:12:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "424" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1541016773_veritatis/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-31T20:12:57", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 23762-KUnOqQnG9fYuD2Dfo8rkbz6Hm70" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=2iK3lIuHIMya2hYUgr; loidcreated=2018-10-31T20%3A12%3A49.846Z" - ], - "User-Agent": [ - "MIT-Open: 0.51.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1541016773_veritatis/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 31 Oct 2018 20:12:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "424" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1541016773_veritatis/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-10-31T20:12:57", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 23761-7HBjxIBvMl9OdkHyHJEuMv-W9Yw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=2iK3lIuHIMya2hYUgr; loidcreated=2018-10-31T20%3A12%3A49.846Z" - ], - "User-Agent": [ - "MIT-Open: 0.51.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1541016773_veritatis/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"3y\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1541016773_veritatis\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EReprehenderit ab reiciendis voluptate iste perferendis quisquam cum aliquid. Iste quod accusamus nobis libero voluptas dignissimos ad. Voluptatum incidunt quia consequatur saepe repudiandae nam quasi.\\nMagni dicta accusantium facilis animi sequi reprehenderit molestias. Facilis pariatur sequi necessitatibus sequi animi dolorem nobis.\\nIpsa necessitatibus id quia voluptates. Aliquid quam velit maxime reprehenderit alias consectetur. Suscipit eius earum accusamus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Consequatur architecto impedit voluptas dolor.\", \"collapse_deleted_comments\": false, \"public_description\": \"Iusto voluptatum iusto quasi exercitationem quod laudantium nam architecto.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIusto voluptatum iusto quasi exercitationem quod laudantium nam architecto.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Reprehenderit ab reiciendis voluptate iste perferendis quisquam cum aliquid. Iste quod accusamus nobis libero voluptas dignissimos ad. Voluptatum incidunt quia consequatur saepe repudiandae nam quasi.\\nMagni dicta accusantium facilis animi sequi reprehenderit molestias. Facilis pariatur sequi necessitatibus sequi animi dolorem nobis.\\nIpsa necessitatibus id quia voluptates. Aliquid quam velit maxime reprehenderit alias consectetur. Suscipit eius earum accusamus.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 5, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 1, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_3y\", \"created\": 1541016776.0, \"url\": \"/r/1541016773_veritatis/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1541016776.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"public\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2450" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 31 Oct 2018 20:12:57 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "423" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=vmdaJc3%2FLe2fe3TvXuR4Gj0vclbXx7WJO%2FciCCKh5qpx%2B6I3LGgvDvJ%2F6uZdoo1qShScFsbCTzvI26X2TTxeddmHvLJSxWwJ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1541016773_veritatis/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_create_channel_already_exists.json b/cassettes/channels.views.channels_test.test_create_channel_already_exists.json deleted file mode 100644 index 68b0744840..0000000000 --- a/cassettes/channels.views.channels_test.test_create_channel_already_exists.json +++ /dev/null @@ -1,326 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-10-23T20:58:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CTHBGQA8YGE871Z0K07X8H8B" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIxsNTN93cxzE3KCvT1sax0zMsKtjDIcPcM9so1rUhW0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaFZwa5OfrHO7v5xZu5+wZkFGZYGAWGJ8eHGlmA9KSklmUmp8ZnpoAMhnCUagGm6fbauAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 23 Oct 2018 20:58:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=j4rteuEhbBOb3uXNV1; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 22-Oct-2020 20:58:06 GMT", - "loidcreated=2018-10-23T20%3A58%3A06.490Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 22-Oct-2020 20:58:06 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CTHBGQA8YGE871Z0K07X8H8B" - } - }, - { - "recorded_at": "2018-10-23T20:58:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=j4rteuEhbBOb3uXNV1; loidcreated=2018-10-23T20%3A58%3A06.490Z" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CTHBGTMM2JJMT9DJAMHVAZCY" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIxNNB1MywqNDDLSQ3w9qtIcswyzQsK9jcNz87IMXRU0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYZeydHGroaZ2TnGeYVlHob5nk4RrhUuFVFeRWD9KSklmUmp8ZnpoAMhnCUagGpeApmuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 23 Oct 2018 20:58:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CTHBGTMM2JJMT9DJAMHVAZCY" - } - }, - { - "recorded_at": "2018-10-23T20:58:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Quibusdam+iusto+ex+earum+veritatis+mollitia.+Atque+necessitatibus+rem+exercitationem+eum.+Sint+similique+non+amet+optio+molestias+accusamus.+Fugiat+sit+ducimus+corporis+atque+enim+ut+tempore.%0AExplicabo+soluta+totam+nesciunt+iste.+Dolores+in+odit+numquam+quibusdam.+Similique+commodi+natus+eum+vel+non+perspiciatis.%0AEsse+ex+vitae+illum+harum.+Facere+porro+alias+cupiditate+earum+totam.+Aut+aliquid+sequi+qui+dolor.&link_type=any&name=1540328290_ex&public_description=Quo+possimus+ipsa+necessitatibus+id+possimus+neque+maxime+praesentium.&title=Iure+nam+ratione+porro+magni.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 409-oOD1mbjQML9yAnjS80hGISJm5xc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "648" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=j4rteuEhbBOb3uXNV1; loidcreated=2018-10-23T20%3A58%3A06.490Z" - ], - "User-Agent": [ - "MIT-Open: 0.50.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 23 Oct 2018 20:58:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "110" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-23T20:58:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=a+description+of+the+channel&link_type=any&name=1540328290_ex&public_description=public&title=Channel+title&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 410-F1rq06lePKNxbAj5nRSO5Wkhl1A" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "179" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=j4rteuEhbBOb3uXNV1; loidcreated=2018-10-23T20%3A58%3A06.490Z" - ], - "User-Agent": [ - "MIT-Open: 0.50.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [[\"SUBREDDIT_EXISTS\", \"that subreddit already exists\", \"name\"]]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "85" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 23 Oct 2018 20:58:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "107" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_create_channel_no_descriptions.json b/cassettes/channels.views.channels_test.test_create_channel_no_descriptions.json deleted file mode 100644 index 807fd36ab8..0000000000 --- a/cassettes/channels.views.channels_test.test_create_channel_no_descriptions.json +++ /dev/null @@ -1,507 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-10-23T20:57:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CTHBGCR9TXXTRYR81WT2JW50" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNQQuCMBzFv4rsGAnDxKBjVkKHaMOg29DtPxqCW9twafTdc3nq+H6833tv1HAOzjGvO+jRLkE53qac0nq4FKR+VsGFsjuM9kxaDv6eo3WC4GWUBcdUFDYFxjP7+cyPBuJIC40FG7uO6wWtYrIgZ/Hx/3bsb5OQp5Be7d4RVWVUlsLQqcx0dAQMigNTIg4vAX2+k8CTgLgAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 23 Oct 2018 20:57:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=l7fPQIU06jsNJ5H8WM; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 22-Oct-2020 20:57:56 GMT", - "loidcreated=2018-10-23T20%3A57%3A55.684Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 22-Oct-2020 20:57:56 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CTHBGCR9TXXTRYR81WT2JW50" - } - }, - { - "recorded_at": "2018-10-23T20:57:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=l7fPQIU06jsNJ5H8WM; loidcreated=2018-10-23T20%3A57%3A55.684Z" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CTHBGG2956SW15MPV94ASHQN" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNwQqCQBRFf0XeMgoG1JR2UWGLkFxEthqmN09mktRmBlGif8/JVct7uOfeNwhEspa7tqYGNgFELF31Od322+bidsXRjgNGJ4dtWTxrVcMyABo6bchy7YVwzdjEfj53Y0d+5E7CkPFdi+2MFj4ZqiZR/b9dq15mTS4wSdDF8TljIqzU41C+Uu9I6jUS19IPzwE+X4TkWFK4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 23 Oct 2018 20:57:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CTHBGG2956SW15MPV94ASHQN" - } - }, - { - "recorded_at": "2018-10-23T20:58:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=&link_type=any&name=1540328279_aspernatur&public_description=&title=Sint+minus+molestiae+excepturi.&type=restricted&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 407-cRRTvN6QTqGwswCkDyrJQbcetX4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "174" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=l7fPQIU06jsNJ5H8WM; loidcreated=2018-10-23T20%3A57%3A55.684Z" - ], - "User-Agent": [ - "MIT-Open: 0.50.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 23 Oct 2018 20:58:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "118" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-23T20:58:03", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CTHBGG2956SW15MPV94ASHQN&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 407-cRRTvN6QTqGwswCkDyrJQbcetX4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=l7fPQIU06jsNJ5H8WM; loidcreated=2018-10-23T20%3A57%3A55.684Z" - ], - "User-Agent": [ - "MIT-Open: 0.50.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1540328279_aspernatur/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 23 Oct 2018 20:58:03 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "118" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1540328279_aspernatur/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-23T20:58:03", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 408-vNeYDAnUtCQHsyxc4LtcoXQmkhk" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=l7fPQIU06jsNJ5H8WM; loidcreated=2018-10-23T20%3A57%3A55.684Z" - ], - "User-Agent": [ - "MIT-Open: 0.50.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1540328279_aspernatur/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 23 Oct 2018 20:58:03 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "117" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1540328279_aspernatur/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-10-23T20:58:03", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 407-cRRTvN6QTqGwswCkDyrJQbcetX4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=l7fPQIU06jsNJ5H8WM; loidcreated=2018-10-23T20%3A57%3A55.684Z" - ], - "User-Agent": [ - "MIT-Open: 0.50.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1540328279_aspernatur/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"2i\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1540328279_aspernatur\", \"header_img\": null, \"description_html\": null, \"title\": \"Sint minus molestiae excepturi.\", \"collapse_deleted_comments\": false, \"public_description\": \"\", \"over18\": false, \"public_description_html\": null, \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 2, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 1, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_2i\", \"created\": 1540328282.0, \"url\": \"/r/1540328279_aspernatur/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1540328282.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"restricted\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1119" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 23 Oct 2018 20:58:03 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "117" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=SfK44uMJMVJEVfSF4RjjVbEq%2FHQ5xRyLg868yghwUgRBq2ak8KvbWOwQ5YPj0hiw8zrJ71U1Qm58QGygLwlIcF1d60zBFXJ9" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1540328279_aspernatur/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_create_channel_noauth.json b/cassettes/channels.views.channels_test.test_create_channel_noauth.json deleted file mode 100644 index af7a8d204f..0000000000 --- a/cassettes/channels.views.channels_test.test_create_channel_noauth.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-10-23T20:58:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CTHBH7X0J7RDHCVR0PP94ZBX" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIxNNY193X3zTB2DYj0LM519ipNDdQNSvX0DEos9vBV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLalBxsWFXmVOzkGWRqaBBh55YSmBMUbuThXBZWD9KSklmUmp8ZnpoAMhnCUagEiWM9auAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 23 Oct 2018 20:58:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=dvK0ptya9lfl2cPB59; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 22-Oct-2020 20:58:23 GMT", - "loidcreated=2018-10-23T20%3A58%3A23.460Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 22-Oct-2020 20:58:23 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CTHBH7X0J7RDHCVR0PP94ZBX" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_create_channel_nonstaff.json b/cassettes/channels.views.channels_test.test_create_channel_nonstaff.json deleted file mode 100644 index 1d41368198..0000000000 --- a/cassettes/channels.views.channels_test.test_create_channel_nonstaff.json +++ /dev/null @@ -1,142 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-10-23T20:58:16", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CTHBH1562G5HDYARQYZS12WB" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIxNNTNyvfJSjVOj7KsDPKvqiwLKa00cfEwiyzxcglV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZVhXokO/p7p5d5BRenuWQ5hhcnBmbHmxiGWmSD9KSklmUmp8ZnpoAMhnCUagGxDa27uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 23 Oct 2018 20:58:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=mQbwmR9cvjQI2jtuUy; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 22-Oct-2020 20:58:16 GMT", - "loidcreated=2018-10-23T20%3A58%3A16.552Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 22-Oct-2020 20:58:16 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CTHBH1562G5HDYARQYZS12WB" - } - }, - { - "recorded_at": "2018-10-23T20:58:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=mQbwmR9cvjQI2jtuUy; loidcreated=2018-10-23T20%3A58%3A16.552Z" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CTHBH4FT6Y564RDAA2B3XJ64" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIxNNL1NMyo8g8I8ffwDnS3KMwrNTDUTckJyvFJMk5W0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaZBKeHVLhbhjlXRoU6lYY6uRf45BobZJiUBmaD9KSklmUmp8ZnpoAMhnCUagGYBki6uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 23 Oct 2018 20:58:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CTHBH4FT6Y564RDAA2B3XJ64" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_get_channel.json b/cassettes/channels.views.channels_test.test_get_channel.json deleted file mode 100644 index eaf975c9d4..0000000000 --- a/cassettes/channels.views.channels_test.test_get_channel.json +++ /dev/null @@ -1,507 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T17:47:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGRY4KYS3C8R5VSVXC7QQV" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0NtD1D3c3DykINcvN9fTwcC9JT08sSHcxMfWJzA5V0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZl5maWevoYFHvp+vtW5qdZuBaZ+3kkWwSGuVqA9KSklmUmp8ZnpoAMhnCUagHvUld9uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:47:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=mwxp93SijPbzESXoXL; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:47:41 GMT", - "loidcreated=2018-08-24T17%3A47%3A41.560Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:47:41 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGRY4KYS3C8R5VSVXC7QQV" - } - }, - { - "recorded_at": "2018-08-24T17:47:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=mwxp93SijPbzESXoXL; loidcreated=2018-08-24T17%3A47%3A41.560Z" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGS1DD0XHWA51NY7ZMP7J3" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0NtT1zi5xLwwsTM1OrUwpcHZ3DDf0cXIOqAyriDRR0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZ5GFTmhoUmpxS7JUZ4Fntl+Ca5ZjgaFlWYeZaD9KSklmUmp8ZnpoAMhnCUagElCdtFuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:47:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGS1DD0XHWA51NY7ZMP7J3" - } - }, - { - "recorded_at": "2018-08-24T17:47:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Ipsam+doloremque+soluta+error+magnam+laboriosam+maxime+assumenda+labore.+Veritatis+officiis+odio+accusamus+officiis+quia+praesentium.+Dignissimos+eos+et+non+ea+quis+facilis.%0ADolorum+sit+aperiam+pariatur+natus+ipsa+saepe+suscipit.+Vero+asperiores+aspernatur+omnis+ipsa+facilis+eveniet+dolor.+Dolor+dolor+aperiam+recusandae+facilis+consequuntur+veritatis.&link_type=any&name=1535132865_sapiente&public_description=Rerum+error+alias+dolor+ipsum+quae.+Error+alias+velit+debitis+tenetur.+Illo+nulla+eaque+cum.&title=Officiis+aliquam+at+rem+nemo+iste.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 131-KktGqQqekeydpCGAW1LBCPyVxY4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "619" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=mwxp93SijPbzESXoXL; loidcreated=2018-08-24T17%3A47%3A41.560Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:47:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "135" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:47:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPGRY4KYS3C8R5VSVXC7QQV&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 131-KktGqQqekeydpCGAW1LBCPyVxY4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=mwxp93SijPbzESXoXL; loidcreated=2018-08-24T17%3A47%3A41.560Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535132865_sapiente/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:47:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "132" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535132865_sapiente/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:47:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535132865_sapiente" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 130-OWG7TpU6mmIHHGtggapgD45LYkU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "78" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=mwxp93SijPbzESXoXL; loidcreated=2018-08-24T17%3A47%3A41.560Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:47:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "132" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:47:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 130-OWG7TpU6mmIHHGtggapgD45LYkU" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=mwxp93SijPbzESXoXL; loidcreated=2018-08-24T17%3A47%3A41.560Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535132865_sapiente/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"a\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535132865_sapiente\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIpsam doloremque soluta error magnam laboriosam maxime assumenda labore. Veritatis officiis odio accusamus officiis quia praesentium. Dignissimos eos et non ea quis facilis.\\nDolorum sit aperiam pariatur natus ipsa saepe suscipit. Vero asperiores aspernatur omnis ipsa facilis eveniet dolor. Dolor dolor aperiam recusandae facilis consequuntur veritatis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Officiis aliquam at rem nemo iste.\", \"collapse_deleted_comments\": false, \"public_description\": \"Rerum error alias dolor ipsum quae. Error alias velit debitis tenetur. Illo nulla eaque cum.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ERerum error alias dolor ipsum quae. Error alias velit debitis tenetur. Illo nulla eaque cum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Ipsam doloremque soluta error magnam laboriosam maxime assumenda labore. Veritatis officiis odio accusamus officiis quia praesentium. Dignissimos eos et non ea quis facilis.\\nDolorum sit aperiam pariatur natus ipsa saepe suscipit. Vero asperiores aspernatur omnis ipsa facilis eveniet dolor. Dolor dolor aperiam recusandae facilis consequuntur veritatis.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 2, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_a\", \"created\": 1535132865.0, \"url\": \"/r/1535132865_sapiente/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535132865.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2246" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:47:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "132" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=qQnx%2FohJ2iZEwnynpSHPIio%2FM%2Fv%2FuUtwCrnTggtdxxtsvedJlKxL86ZeG0iPUQlvmFbgvYtMEiYfrfc5phcKRTWfmqlwMbOI" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535132865_sapiente/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_get_channel_anonymous.json b/cassettes/channels.views.channels_test.test_get_channel_anonymous.json deleted file mode 100644 index 594a2ff98c..0000000000 --- a/cassettes/channels.views.channels_test.test_get_channel_anonymous.json +++ /dev/null @@ -1,335 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T17:47:51", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGS7YBVSHD6QZ8A5XVGNNA" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0NtItTwkKC0sPzSjx0K3Idw/UNTe08HAqC7L0TXZV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaVGKdYVhpkBYaV6QZnlWZVZJl6xycZRFaGZ4SC9KSklmUmp8ZnpoAMhnCUagGhQ2afuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:47:51 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=aTgiXhDmLLZfph3hOw; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:47:51 GMT", - "loidcreated=2018-08-24T17%3A47%3A51.601Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:47:51 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGS7YBVSHD6QZ8A5XVGNNA" - } - }, - { - "recorded_at": "2018-08-24T17:47:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Unde+quas+suscipit+harum.+Laudantium+ipsum+eligendi+id+inventore+nemo+distinctio.+Saepe+at+quibusdam+beatae+nostrum+sed.+Eveniet+atque+ex+saepe+nemo+inventore+consectetur.+Quibusdam+nisi+laboriosam+totam+occaecati.%0AMolestiae+odio+voluptas+perspiciatis+nobis+cumque.+Voluptatem+veritatis+provident+dignissimos+repellendus+non+assumenda+non.+Repellat+temporibus+assumenda+laboriosam+excepturi+quos+quasi.+Qui+rerum+ea+odit.&link_type=any&name=1535132871_vel&public_description=Assumenda+odit+quo+laudantium.+Officia+sequi+quae+nobis.+In+natus+illo+sit+quae.&title=Id+reprehenderit+repudiandae+sit+similique.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 132-wdRVVgUhtH-xoGQ-718HBvR9McE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "678" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=aTgiXhDmLLZfph3hOw; loidcreated=2018-08-24T17%3A47%3A51.601Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:47:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "129" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:47:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=client_credentials" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic b2RfY2xpZW50X2lkOm9kX2NsaWVudF9zZWNyZXQ=" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "29" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=aTgiXhDmLLZfph3hOw; loidcreated=2018-08-24T17%3A47%3A51.601Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"-66svf8gfURznqDN7IbATvsusrBY\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "106" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:47:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299" - ], - "x-ratelimit-reset": [ - "125" - ], - "x-ratelimit-used": [ - "1" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2018-08-24T17:47:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer -66svf8gfURznqDN7IbATvsusrBY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=aTgiXhDmLLZfph3hOw; loidcreated=2018-08-24T17%3A47%3A51.601Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535132871_vel/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": null, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"b\", \"user_is_contributor\": null, \"submit_text\": \"\", \"display_name\": \"1535132871_vel\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EUnde quas suscipit harum. Laudantium ipsum eligendi id inventore nemo distinctio. Saepe at quibusdam beatae nostrum sed. Eveniet atque ex saepe nemo inventore consectetur. Quibusdam nisi laboriosam totam occaecati.\\nMolestiae odio voluptas perspiciatis nobis cumque. Voluptatem veritatis provident dignissimos repellendus non assumenda non. Repellat temporibus assumenda laboriosam excepturi quos quasi. Qui rerum ea odit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Id reprehenderit repudiandae sit similique.\", \"collapse_deleted_comments\": false, \"public_description\": \"Assumenda odit quo laudantium. Officia sequi quae nobis. In natus illo sit quae.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAssumenda odit quo laudantium. Officia sequi quae nobis. In natus illo sit quae.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Unde quas suscipit harum. Laudantium ipsum eligendi id inventore nemo distinctio. Saepe at quibusdam beatae nostrum sed. Eveniet atque ex saepe nemo inventore consectetur. Quibusdam nisi laboriosam totam occaecati.\\nMolestiae odio voluptas perspiciatis nobis cumque. Voluptatem veritatis provident dignissimos repellendus non assumenda non. Repellat temporibus assumenda laboriosam excepturi quos quasi. Qui rerum ea odit.\", \"user_is_muted\": null, \"submit_link_label\": null, \"accounts_active\": 2, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 1, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_b\", \"created\": 1535132871.0, \"url\": \"/r/1535132871_vel/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535132871.0, \"banner_size\": null, \"user_is_moderator\": null, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"public\", \"submission_type\": \"any\", \"user_is_subscriber\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2353" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:47:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298" - ], - "x-ratelimit-reset": [ - "125" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=29c%2FIWdZR3PFpHM5QTPH%2BX3CYYsKDBS7DcIwBCNfvH%2BRIAwCu77DKZPTHLW7xdISov7Anjzi1rbYBXg%2F2OW%2FQxD5uI8Bw28G" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535132871_vel/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_get_channel_forbidden.json b/cassettes/channels.views.channels_test.test_get_channel_forbidden.json deleted file mode 100644 index eca7fe09b7..0000000000 --- a/cassettes/channels.views.channels_test.test_get_channel_forbidden.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-10-30T19:15:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=user_4" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NywrCMBREf6VkKQaibUXcRqnRTUUFXYUmvbVB+iCJ0Vb8dxu7cznDnDNvlEkJxnDb3KFGqwCFURxh5ijb964mZd89IBSb2zYtzjbJigZNAwSvVmkwXHkiXBAydD8Bt10L3iIg06D91shmrCY+aSgGsPy7E8wxup5VF0hSejzx9orj5e6J59XBQzk4JYGr3JvHgD5fJNfGELoAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 30 Oct 2017 19:15:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=jgFr5OJnAydCS5r4XK; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 30-Oct-2019 19:15:21 GMT", - "loidcreated=2017-10-30T19%3A15%3A20.319Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 30-Oct-2019 19:15:21 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=user_4" - } - }, - { - "recorded_at": "2017-10-30T19:15:22", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 3454-IvCIKzvn0hzyue3bEgHPfUtGafo" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=jgFr5OJnAydCS5r4XK; loidcreated=2017-10-30T19%3A15%3A20.319Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/xavier2/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"message\": \"Forbidden\", \"error\": 403}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "38" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 30 Oct 2017 19:15:22 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=st%2BO6OqN50IgAvp8aRHCVY3WBVc91yiAic5eUzyPYiyr0jaRXVzOO3ePWeMDC8do24aPo1wiaa4%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 403, - "message": "Forbidden" - }, - "url": "https://reddit.local/r/xavier2/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_get_channel_not_found.json b/cassettes/channels.views.channels_test.test_get_channel_not_found.json deleted file mode 100644 index db1ab011e4..0000000000 --- a/cassettes/channels.views.channels_test.test_get_channel_not_found.json +++ /dev/null @@ -1,148 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-10-30T19:15:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=user_5" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NwQqCQBRFf0VmGQmC2aJdLcQKhCioZjPY84nPbEbeSGrRv+fkruW93HPuW2QAaK1qzR21WHkiXESRr+WravW1ehRdGR+3NaUVrTnNTXAQc09g3xCjVeSIcBkEY/cTqHZo0FlumDGy21owUzVzibEYwfLvDi+bQfa7094mnazPRhJzDBD7CTgoxycBKsqdeQri8wUeHSQ4ugAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 30 Oct 2017 19:15:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=jMQz4H1IzXMQ9TakZ6; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 30-Oct-2019 19:15:26 GMT", - "loidcreated=2017-10-30T19%3A15%3A24.839Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 30-Oct-2019 19:15:26 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=user_5" - } - }, - { - "recorded_at": "2017-10-30T19:15:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 3455-nZzjtnYjmfwhFSIliNjiArNdo0Q" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=jMQz4H1IzXMQ9TakZ6; loidcreated=2017-10-30T19%3A15%3A24.839Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/not_a_real_channel_name/about/?raw_json=1" - }, - "response": { - "body": { - "base64_string": "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", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 30 Oct 2017 19:15:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 404, - "message": "Not Found" - }, - "url": "https://reddit.local/r/not_a_real_channel_name/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_get_channel_with_avatar_banner.json b/cassettes/channels.views.channels_test.test_get_channel_with_avatar_banner.json deleted file mode 100644 index 21e31ee942..0000000000 --- a/cassettes/channels.views.channels_test.test_get_channel_with_avatar_banner.json +++ /dev/null @@ -1,255 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T17:48:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGSMV2AER0PYN4Z16EYSC4" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0NtGNdEwrdQsLcA0xKTFLiTTNDjE0cjYN1w0tKs1X0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZaLYZ5Xp4WrpFJlskh5d4RJXlGBaEGTh6Bqf7OIL0pKSWZSanxmemgAyGcJRqAcjF9cS4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=PiKs9Ws9fHvPK6ImEE; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:48:05 GMT", - "loidcreated=2018-08-24T17%3A48%3A04.812Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:48:05 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGSMV2AER0PYN4Z16EYSC4" - } - }, - { - "recorded_at": "2018-08-24T17:48:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Veniam+ipsam+nemo+architecto+consectetur.+Aliquam+accusantium+laboriosam+laudantium+quos+a+tempore.+Optio+nesciunt+beatae+sint+deserunt+ad+maxime+dolor.%0ALibero+facere+accusamus+illo+ab.+Saepe+velit+atque+sit+dolores+harum.+Atque+reiciendis+laborum+occaecati+atque+ad+modi+totam.%0AConsectetur+id+possimus+rem+natus+enim.+Unde+possimus+quia+doloribus.%0AUt+natus+laboriosam+eos+tenetur.+Laudantium+hic+natus+libero.+Magni+neque+asperiores+earum+eaque+dicta+iste+aliquid.&link_type=any&name=1535132885_quos&public_description=Quasi+sequi+nemo+fugiat+facere+nostrum.+Similique+repudiandae+omnis+dolor+illum.&title=Magni+quo+quas+ipsam+quam.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 134-YAfuFVPET4t6dY5kT12C5W-Uruo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "710" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=PiKs9Ws9fHvPK6ImEE; loidcreated=2018-08-24T17%3A48%3A04.812Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "115" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:48:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 134-YAfuFVPET4t6dY5kT12C5W-Uruo" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=PiKs9Ws9fHvPK6ImEE; loidcreated=2018-08-24T17%3A48%3A04.812Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535132885_quos/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"d\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535132885_quos\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVeniam ipsam nemo architecto consectetur. Aliquam accusantium laboriosam laudantium quos a tempore. Optio nesciunt beatae sint deserunt ad maxime dolor.\\nLibero facere accusamus illo ab. Saepe velit atque sit dolores harum. Atque reiciendis laborum occaecati atque ad modi totam.\\nConsectetur id possimus rem natus enim. Unde possimus quia doloribus.\\nUt natus laboriosam eos tenetur. Laudantium hic natus libero. Magni neque asperiores earum eaque dicta iste aliquid.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Magni quo quas ipsam quam.\", \"collapse_deleted_comments\": false, \"public_description\": \"Quasi sequi nemo fugiat facere nostrum. Similique repudiandae omnis dolor illum.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuasi sequi nemo fugiat facere nostrum. Similique repudiandae omnis dolor illum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Veniam ipsam nemo architecto consectetur. Aliquam accusantium laboriosam laudantium quos a tempore. Optio nesciunt beatae sint deserunt ad maxime dolor.\\nLibero facere accusamus illo ab. Saepe velit atque sit dolores harum. Atque reiciendis laborum occaecati atque ad modi totam.\\nConsectetur id possimus rem natus enim. Unde possimus quia doloribus.\\nUt natus laboriosam eos tenetur. Laudantium hic natus libero. Magni neque asperiores earum eaque dicta iste aliquid.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 5, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 1, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_d\", \"created\": 1535132885.0, \"url\": \"/r/1535132885_quos/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535132885.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"public\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2432" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "112" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=rn0BvRXhrH3CcCLfTKyIolivpcgE9Y0jgQP3gSZkRVhyKrx7nFk5o%2BaV8DHFv8jVoPVtRlSOCFFg4Ydc24hadiWkToyv40IJ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535132885_quos/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_get_short_channel.json b/cassettes/channels.views.channels_test.test_get_short_channel.json deleted file mode 100644 index 0f5fbdac16..0000000000 --- a/cassettes/channels.views.channels_test.test_get_short_channel.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-01-09T14:38:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01C3DNR1Z20EVR3AWNKMCY3N25" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0NtItTAmNcPYyLwzwyzfz9UjJMQvOy4zKcUkPNQhV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaVuyS56Hr5uvqFFxZmpESlpeUYeDglhZsbJHmC9KSklmUmp8ZnpoAMhnCUagFXKKq/uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 09 Jan 2018 14:38:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=BUbhaH3k6spzXrTpli; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 09-Jan-2020 14:38:53 GMT", - "loidcreated=2018-01-09T14%3A38%3A52.932Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 09-Jan-2020 14:38:53 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01C3DNR1Z20EVR3AWNKMCY3N25" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_list_channels.json b/cassettes/channels.views.channels_test.test_list_channels.json deleted file mode 100644 index fcd10a95de..0000000000 --- a/cassettes/channels.views.channels_test.test_list_channels.json +++ /dev/null @@ -1,507 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T17:47:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGRCDJBW2TKTXKY4AKJ7KZ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNwQ6CMBBEf4X0aDQBLWq8Gk3UeOhB1FNTljVUDJAuUozx32Xl5HFe5s28hQFAIt1UBZZiFYhoupjUhxhVmxS09kZCt+y2V9glBk6pFONAYFdbh6QtC7N5GPbs5+vmVSOPpGgcOu4SVAMacXJ468X8/y2qPBlyatOeL/4JuTw+3D6me+kVOxm2FlDbjIeHID5fPlbIOrgAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:47:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=iOvYaCSFEZOo7ehClu; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:47:23 GMT", - "loidcreated=2018-08-24T17%3A47%3A23.398Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:47:23 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGRCDJBW2TKTXKY4AKJ7KZ" - } - }, - { - "recorded_at": "2018-08-24T17:47:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=iOvYaCSFEZOo7ehClu; loidcreated=2018-08-24T17%3A47%3A23.398Z" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGRFP61WSWW6FHQRC3TQKK" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0stCtMMpydI9P9ysOqUhN9i0Icsos884vNPUuzglV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZaLYlmRebOoXF5xf5+mR6RJXpOhcWRUVUWZQ4l4P0pKSWZSanxmemgAyGcJRqAfu9VDy4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:47:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGRFP61WSWW6FHQRC3TQKK" - } - }, - { - "recorded_at": "2018-08-24T17:47:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Quisquam+sit+cumque+veritatis+impedit.+Error+cumque+vero+dolorem+et+eos.+Hic+doloremque+earum+odio+ullam+tempora+blanditiis+dicta.+Quo+maiores+natus+quaerat+autem+amet+aperiam+ipsa.%0ASimilique+facere+id+suscipit.+Cum+doloribus+facere+incidunt+illo+corporis+vel+nostrum.+Itaque+quas+distinctio+molestiae+dolore+facilis+magnam+nostrum.+Dolores+culpa+voluptatibus+vel+repellendus+repudiandae+odit+eaque.&link_type=any&name=1535132847_eos&public_description=Voluptatibus+quis+incidunt+fugiat+mollitia+sed+voluptates.+At+totam+ducimus+cum+ducimus.&title=Tempora+sunt+nulla+quod+doloribus+maiores.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 128-x2jAG_gNsTxecMpRBivKoq5KslU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "664" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iOvYaCSFEZOo7ehClu; loidcreated=2018-08-24T17%3A47%3A23.398Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:47:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "153" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:47:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPGRCDJBW2TKTXKY4AKJ7KZ&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 128-x2jAG_gNsTxecMpRBivKoq5KslU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iOvYaCSFEZOo7ehClu; loidcreated=2018-08-24T17%3A47%3A23.398Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535132847_eos/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:47:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "150" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535132847_eos/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:47:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535132847_eos" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 127-pK5eQvVksCwa4cx8xFYcIVacUb4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "73" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iOvYaCSFEZOo7ehClu; loidcreated=2018-08-24T17%3A47%3A23.398Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:47:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "150" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:47:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 127-pK5eQvVksCwa4cx8xFYcIVacUb4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=iOvYaCSFEZOo7ehClu; loidcreated=2018-08-24T17%3A47%3A23.398Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/subreddits/mine/subscriber/?limit=1024&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"8\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535132847_eos\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuisquam sit cumque veritatis impedit. Error cumque vero dolorem et eos. Hic doloremque earum odio ullam tempora blanditiis dicta. Quo maiores natus quaerat autem amet aperiam ipsa.\\nSimilique facere id suscipit. Cum doloribus facere incidunt illo corporis vel nostrum. Itaque quas distinctio molestiae dolore facilis magnam nostrum. Dolores culpa voluptatibus vel repellendus repudiandae odit eaque.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Tempora sunt nulla quod doloribus maiores.\", \"collapse_deleted_comments\": false, \"public_description\": \"Voluptatibus quis incidunt fugiat mollitia sed voluptates. At totam ducimus cum ducimus.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptatibus quis incidunt fugiat mollitia sed voluptates. At totam ducimus cum ducimus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Quisquam sit cumque veritatis impedit. Error cumque vero dolorem et eos. Hic doloremque earum odio ullam tempora blanditiis dicta. Quo maiores natus quaerat autem amet aperiam ipsa.\\nSimilique facere id suscipit. Cum doloribus facere incidunt illo corporis vel nostrum. Itaque quas distinctio molestiae dolore facilis magnam nostrum. Dolores culpa voluptatibus vel repellendus repudiandae odit eaque.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_8\", \"created\": 1535132847.0, \"url\": \"/r/1535132847_eos/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535132847.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2424" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:47:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "150" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=4lmvhxTBTizl7bgnNx5YME5NrhzG%2BhLERb2jHkZjI6oxwes5YafUOF4RFOlDG4BEZwG%2FtT0aERBpxXWrPXatcWHvMc1H9GLz" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/subreddits/mine/subscriber/?limit=1024&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_list_channels_anonymous.json b/cassettes/channels.views.channels_test.test_list_channels_anonymous.json deleted file mode 100644 index a0fb2e9677..0000000000 --- a/cassettes/channels.views.channels_test.test_list_channels_anonymous.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-27T15:00:57", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=client_credentials" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic b2RfY2xpZW50X2lkOm9kX2NsaWVudF9zZWNyZXQ=" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "29" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "User-Agent": [ - "MIT-Open: 0.42.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"-CspEo5UPLEAk4x-58y17ClMMYM0\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "106" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 27 Aug 2018 15:00:57 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "set-cookie": [ - "loid=HSy5b8ZKN984BLk6V7; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 26-Aug-2020 15:00:57 GMT", - "loidcreated=2018-08-27T15%3A00%3A57.822Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 26-Aug-2020 15:00:57 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299" - ], - "x-ratelimit-reset": [ - "543" - ], - "x-ratelimit-used": [ - "1" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2018-08-27T15:00:57", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer -CspEo5UPLEAk4x-58y17ClMMYM0" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=HSy5b8ZKN984BLk6V7; loidcreated=2018-08-27T15%3A00%3A57.822Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/subreddits/default/?limit=100&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": \"\", \"children\": [], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "91" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 27 Aug 2018 15:00:57 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298" - ], - "x-ratelimit-reset": [ - "543" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=x2lAK%2Bhtk8H2pSIt39Q4PD0QFabSqcC3INbuVJaqjRFpBhnsMjd4QPygM8JmNLWlmRXTtCcW8D8%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/subreddits/default/?limit=100&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_list_channels_ordered.json b/cassettes/channels.views.channels_test.test_list_channels_ordered.json deleted file mode 100644 index 8686ae65c2..0000000000 --- a/cassettes/channels.views.channels_test.test_list_channels_ordered.json +++ /dev/null @@ -1,1611 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-10-01T20:41:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CRRNSZMCDFTNY9WP1A874HKQ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2N9dNMwoui/d2TwkwT83NDi8IMPSMKg/296xyzSxW0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLbFFwcl+pgUOiZ6pRoW54TEm7o7VoaYRPq6h+aD9KSklmUmp8ZnpoAMhnCUagFBOI8uuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 01 Oct 2018 20:41:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=iTnAkDnTFUtQW5lPwP; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 30-Sep-2020 20:41:13 GMT", - "loidcreated=2018-10-01T20%3A41%3A13.029Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 30-Sep-2020 20:41:13 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CRRNSZMCDFTNY9WP1A874HKQ" - } - }, - { - "recorded_at": "2018-10-01T20:41:16", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=iTnAkDnTFUtQW5lPwP; loidcreated=2018-10-01T20%3A41%3A13.029Z" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CRRNT2WT4F7SYXZQZ6TH5RZN" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNywrCMBREf6XcpRgIBNS68wHiokEotstLk97SWDElCdYi/ruNXbmcw5yZN1Rak/cYbEcP2CYg1humyDN5Q5HtBu4OKEnnGKQ6qusAywTo1RtHHk0UxIrzif18DGNPcURR5cjFrtd2RouYHDWT2P6/jZez3Kc25SXzpSn4XZ0kK7K8a3h0anoaTWjqODwH+HwBNwrZ0LgAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 01 Oct 2018 20:41:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CRRNT2WT4F7SYXZQZ6TH5RZN" - } - }, - { - "recorded_at": "2018-10-01T20:41:17", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Rem+iure+exercitationem+minus.+Ab+quasi+quo+tenetur+nihil.+Atque+veritatis+quis+autem+enim+recusandae.%0ASimilique+odio+repellat+et.+Asperiores+magni+laboriosam+debitis+maiores.+Quae+harum+repudiandae+amet.%0AExpedita+quos+magni+ipsa+quas+doloribus+illum+in.+Ipsum+esse+praesentium+odit+deleniti+quas.+Saepe+voluptas+ea+ipsa+accusantium.+Quisquam+ex+eveniet+quaerat+explicabo+vitae+voluptates+assumenda.+Deserunt+laborum+eius+iusto+officiis+iste.&link_type=any&name=1538426476_rerum&public_description=Tempore+aut+corrupti+et+esse.+Suscipit+vitae+ipsa+similique+numquam+dolores.&title=Dolores+aliquid+accusamus+voluptatum.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 378-bes-Nj_3MAw0rC_NecS_tNbDbUw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "694" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iTnAkDnTFUtQW5lPwP; loidcreated=2018-10-01T20%3A41%3A13.029Z" - ], - "User-Agent": [ - "MIT-Open: 0.47.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 01 Oct 2018 20:41:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "524" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-01T20:41:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CRRNSZMCDFTNY9WP1A874HKQ&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 378-bes-Nj_3MAw0rC_NecS_tNbDbUw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iTnAkDnTFUtQW5lPwP; loidcreated=2018-10-01T20%3A41%3A13.029Z" - ], - "User-Agent": [ - "MIT-Open: 0.47.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1538426476_rerum/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 01 Oct 2018 20:41:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "520" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1538426476_rerum/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-01T20:41:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1538426476_rerum" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 377-f2Sv_KGdP7emkWpP1IZwSOIzEis" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "75" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iTnAkDnTFUtQW5lPwP; loidcreated=2018-10-01T20%3A41%3A13.029Z" - ], - "User-Agent": [ - "MIT-Open: 0.47.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 01 Oct 2018 20:41:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "520" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-01T20:41:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Vel+excepturi+quae+deserunt+libero+omnis+quae+explicabo.+Animi+praesentium+omnis+maxime.+Aliquam+possimus+minima+incidunt+ut.+Iste+ducimus+soluta+incidunt+ullam.%0AQuidem+officiis+velit+sint+quae+iste+aperiam.+Rerum+aliquam+placeat+nulla+incidunt+incidunt+ea+repellendus.+Deleniti+repellat+corrupti+voluptatibus+nisi+maxime+non+ea.+Perspiciatis+voluptatum+exercitationem+culpa+dicta+fuga.%0APorro+ipsam+placeat+velit.+Eos+magni+distinctio+minima+eaque+repellendus+nesciunt+consequatur.&link_type=any&name=1538426480_velit&public_description=Fugit+tempora+repudiandae+optio+atque+blanditiis+inventore.+Eius+quis+iste+nam+laudantium+odit.&title=Voluptatibus+magni+accusantium+earum+consequatur.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 378-bes-Nj_3MAw0rC_NecS_tNbDbUw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "764" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iTnAkDnTFUtQW5lPwP; loidcreated=2018-10-01T20%3A41%3A13.029Z" - ], - "User-Agent": [ - "MIT-Open: 0.47.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 01 Oct 2018 20:41:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "520" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-01T20:41:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CRRNSZMCDFTNY9WP1A874HKQ&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 378-bes-Nj_3MAw0rC_NecS_tNbDbUw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iTnAkDnTFUtQW5lPwP; loidcreated=2018-10-01T20%3A41%3A13.029Z" - ], - "User-Agent": [ - "MIT-Open: 0.47.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1538426480_velit/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 01 Oct 2018 20:41:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "517" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1538426480_velit/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-01T20:41:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1538426480_velit" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 377-f2Sv_KGdP7emkWpP1IZwSOIzEis" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "75" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iTnAkDnTFUtQW5lPwP; loidcreated=2018-10-01T20%3A41%3A13.029Z" - ], - "User-Agent": [ - "MIT-Open: 0.47.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 01 Oct 2018 20:41:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "517" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-01T20:41:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Ut+saepe+necessitatibus+illum+id.+Tenetur+culpa+velit+maxime+ullam+vel+repellendus+minima.+Incidunt+ut+dolorum+libero+vero+rem+quasi.+Pariatur+expedita+maxime+blanditiis+laborum+pariatur+aspernatur+facere.%0AIusto+reprehenderit+corporis+nobis+doloremque+atque+quisquam.+Praesentium+ut+mollitia+aperiam+voluptatibus+doloremque+explicabo+qui.+Neque+expedita+consequatur+quas+esse+ad.&link_type=any&name=1538426483_non&public_description=Unde+ea+reprehenderit+qui+aspernatur+aliquid.+Atque+officia+laboriosam+iste+minima.&title=Nobis+laborum+omnis+explicabo+recusandae.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 378-bes-Nj_3MAw0rC_NecS_tNbDbUw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "638" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iTnAkDnTFUtQW5lPwP; loidcreated=2018-10-01T20%3A41%3A13.029Z" - ], - "User-Agent": [ - "MIT-Open: 0.47.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 01 Oct 2018 20:41:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "517" - ], - "x-ratelimit-used": [ - "5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-01T20:41:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CRRNSZMCDFTNY9WP1A874HKQ&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 378-bes-Nj_3MAw0rC_NecS_tNbDbUw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iTnAkDnTFUtQW5lPwP; loidcreated=2018-10-01T20%3A41%3A13.029Z" - ], - "User-Agent": [ - "MIT-Open: 0.47.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1538426483_non/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 01 Oct 2018 20:41:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "514" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1538426483_non/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-01T20:41:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1538426483_non" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 377-f2Sv_KGdP7emkWpP1IZwSOIzEis" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "73" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iTnAkDnTFUtQW5lPwP; loidcreated=2018-10-01T20%3A41%3A13.029Z" - ], - "User-Agent": [ - "MIT-Open: 0.47.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 01 Oct 2018 20:41:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "514" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-01T20:41:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Deleniti+voluptatem+sapiente+recusandae+hic+nemo.+Cum+dolorum+dolore+laboriosam.+Architecto+tempore+quibusdam+nam+dolor+quae+nemo+exercitationem+expedita.%0ADistinctio+ipsa+repellat+tempora+esse.+A+odit+at+consectetur.+Deleniti+blanditiis+similique+fuga+ducimus+quisquam+mollitia+ducimus.+Quam+necessitatibus+sequi+accusamus+vitae+nulla+ad+recusandae.&link_type=any&name=1538426486_quibusdam&public_description=Et+eveniet+itaque+sunt+voluptates+necessitatibus.+Eius+eligendi+sit+earum+magni+dicta.&title=Porro+ipsum+voluptas+iure+aliquam.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 378-bes-Nj_3MAw0rC_NecS_tNbDbUw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "610" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iTnAkDnTFUtQW5lPwP; loidcreated=2018-10-01T20%3A41%3A13.029Z" - ], - "User-Agent": [ - "MIT-Open: 0.47.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 01 Oct 2018 20:41:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "514" - ], - "x-ratelimit-used": [ - "7" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-01T20:41:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CRRNSZMCDFTNY9WP1A874HKQ&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 378-bes-Nj_3MAw0rC_NecS_tNbDbUw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iTnAkDnTFUtQW5lPwP; loidcreated=2018-10-01T20%3A41%3A13.029Z" - ], - "User-Agent": [ - "MIT-Open: 0.47.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1538426486_quibusdam/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 01 Oct 2018 20:41:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "510" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1538426486_quibusdam/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-01T20:41:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1538426486_quibusdam" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 377-f2Sv_KGdP7emkWpP1IZwSOIzEis" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iTnAkDnTFUtQW5lPwP; loidcreated=2018-10-01T20%3A41%3A13.029Z" - ], - "User-Agent": [ - "MIT-Open: 0.47.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 01 Oct 2018 20:41:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "510" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-01T20:41:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Commodi+maxime+soluta+quas+similique.+Eos+minus+reiciendis+eum+asperiores+doloremque+laborum+eligendi.%0AIllo+dolorem+quae+temporibus+ipsum.+Id+libero+voluptas+ipsum.+Natus+debitis+exercitationem+eaque+modi+sequi+quo.%0AAnimi+doloremque+velit+temporibus.+Quos+ducimus+et+iure+provident+voluptatibus+cumque+ut.+Non+cumque+commodi+distinctio+animi+possimus.&link_type=any&name=1538426490_illum&public_description=Similique+sed+fuga+adipisci+fugit+quo+voluptate.+Sapiente+harum+totam+ullam+iste+animi+voluptatem.&title=Reprehenderit+provident+eaque+inventore.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 378-bes-Nj_3MAw0rC_NecS_tNbDbUw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "628" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iTnAkDnTFUtQW5lPwP; loidcreated=2018-10-01T20%3A41%3A13.029Z" - ], - "User-Agent": [ - "MIT-Open: 0.47.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 01 Oct 2018 20:41:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "510" - ], - "x-ratelimit-used": [ - "9" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-01T20:41:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CRRNSZMCDFTNY9WP1A874HKQ&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 378-bes-Nj_3MAw0rC_NecS_tNbDbUw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iTnAkDnTFUtQW5lPwP; loidcreated=2018-10-01T20%3A41%3A13.029Z" - ], - "User-Agent": [ - "MIT-Open: 0.47.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1538426490_illum/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 01 Oct 2018 20:41:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "507" - ], - "x-ratelimit-used": [ - "10" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1538426490_illum/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-01T20:41:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1538426490_illum" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 377-f2Sv_KGdP7emkWpP1IZwSOIzEis" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "75" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iTnAkDnTFUtQW5lPwP; loidcreated=2018-10-01T20%3A41%3A13.029Z" - ], - "User-Agent": [ - "MIT-Open: 0.47.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 01 Oct 2018 20:41:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "507" - ], - "x-ratelimit-used": [ - "5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-10-01T20:41:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 377-f2Sv_KGdP7emkWpP1IZwSOIzEis" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=iTnAkDnTFUtQW5lPwP; loidcreated=2018-10-01T20%3A41%3A13.029Z" - ], - "User-Agent": [ - "MIT-Open: 0.47.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/subreddits/mine/subscriber/?limit=1024&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"1x\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1538426476_rerum\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ERem iure exercitationem minus. Ab quasi quo tenetur nihil. Atque veritatis quis autem enim recusandae.\\nSimilique odio repellat et. Asperiores magni laboriosam debitis maiores. Quae harum repudiandae amet.\\nExpedita quos magni ipsa quas doloribus illum in. Ipsum esse praesentium odit deleniti quas. Saepe voluptas ea ipsa accusantium. Quisquam ex eveniet quaerat explicabo vitae voluptates assumenda. Deserunt laborum eius iusto officiis iste.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Dolores aliquid accusamus voluptatum.\", \"collapse_deleted_comments\": false, \"public_description\": \"Tempore aut corrupti et esse. Suscipit vitae ipsa similique numquam dolores.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ETempore aut corrupti et esse. Suscipit vitae ipsa similique numquam dolores.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Rem iure exercitationem minus. Ab quasi quo tenetur nihil. Atque veritatis quis autem enim recusandae.\\nSimilique odio repellat et. Asperiores magni laboriosam debitis maiores. Quae harum repudiandae amet.\\nExpedita quos magni ipsa quas doloribus illum in. Ipsum esse praesentium odit deleniti quas. Saepe voluptas ea ipsa accusantium. Quisquam ex eveniet quaerat explicabo vitae voluptates assumenda. Deserunt laborum eius iusto officiis iste.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_1x\", \"created\": 1538426476.0, \"url\": \"/r/1538426476_rerum/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1538426476.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}, {\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"1y\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1538426480_velit\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVel excepturi quae deserunt libero omnis quae explicabo. Animi praesentium omnis maxime. Aliquam possimus minima incidunt ut. Iste ducimus soluta incidunt ullam.\\nQuidem officiis velit sint quae iste aperiam. Rerum aliquam placeat nulla incidunt incidunt ea repellendus. Deleniti repellat corrupti voluptatibus nisi maxime non ea. Perspiciatis voluptatum exercitationem culpa dicta fuga.\\nPorro ipsam placeat velit. Eos magni distinctio minima eaque repellendus nesciunt consequatur.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Voluptatibus magni accusantium earum consequatur.\", \"collapse_deleted_comments\": false, \"public_description\": \"Fugit tempora repudiandae optio atque blanditiis inventore. Eius quis iste nam laudantium odit.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EFugit tempora repudiandae optio atque blanditiis inventore. Eius quis iste nam laudantium odit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Vel excepturi quae deserunt libero omnis quae explicabo. Animi praesentium omnis maxime. Aliquam possimus minima incidunt ut. Iste ducimus soluta incidunt ullam.\\nQuidem officiis velit sint quae iste aperiam. Rerum aliquam placeat nulla incidunt incidunt ea repellendus. Deleniti repellat corrupti voluptatibus nisi maxime non ea. Perspiciatis voluptatum exercitationem culpa dicta fuga.\\nPorro ipsam placeat velit. Eos magni distinctio minima eaque repellendus nesciunt consequatur.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_1y\", \"created\": 1538426480.0, \"url\": \"/r/1538426480_velit/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1538426480.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}, {\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"1z\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1538426483_non\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EUt saepe necessitatibus illum id. Tenetur culpa velit maxime ullam vel repellendus minima. Incidunt ut dolorum libero vero rem quasi. Pariatur expedita maxime blanditiis laborum pariatur aspernatur facere.\\nIusto reprehenderit corporis nobis doloremque atque quisquam. Praesentium ut mollitia aperiam voluptatibus doloremque explicabo qui. Neque expedita consequatur quas esse ad.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Nobis laborum omnis explicabo recusandae.\", \"collapse_deleted_comments\": false, \"public_description\": \"Unde ea reprehenderit qui aspernatur aliquid. Atque officia laboriosam iste minima.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EUnde ea reprehenderit qui aspernatur aliquid. Atque officia laboriosam iste minima.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Ut saepe necessitatibus illum id. Tenetur culpa velit maxime ullam vel repellendus minima. Incidunt ut dolorum libero vero rem quasi. Pariatur expedita maxime blanditiis laborum pariatur aspernatur facere.\\nIusto reprehenderit corporis nobis doloremque atque quisquam. Praesentium ut mollitia aperiam voluptatibus doloremque explicabo qui. Neque expedita consequatur quas esse ad.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_1z\", \"created\": 1538426483.0, \"url\": \"/r/1538426483_non/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1538426483.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}, {\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"20\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1538426486_quibusdam\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDeleniti voluptatem sapiente recusandae hic nemo. Cum dolorum dolore laboriosam. Architecto tempore quibusdam nam dolor quae nemo exercitationem expedita.\\nDistinctio ipsa repellat tempora esse. A odit at consectetur. Deleniti blanditiis similique fuga ducimus quisquam mollitia ducimus. Quam necessitatibus sequi accusamus vitae nulla ad recusandae.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Porro ipsum voluptas iure aliquam.\", \"collapse_deleted_comments\": false, \"public_description\": \"Et eveniet itaque sunt voluptates necessitatibus. Eius eligendi sit earum magni dicta.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEt eveniet itaque sunt voluptates necessitatibus. Eius eligendi sit earum magni dicta.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Deleniti voluptatem sapiente recusandae hic nemo. Cum dolorum dolore laboriosam. Architecto tempore quibusdam nam dolor quae nemo exercitationem expedita.\\nDistinctio ipsa repellat tempora esse. A odit at consectetur. Deleniti blanditiis similique fuga ducimus quisquam mollitia ducimus. Quam necessitatibus sequi accusamus vitae nulla ad recusandae.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_20\", \"created\": 1538426486.0, \"url\": \"/r/1538426486_quibusdam/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1538426486.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}, {\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"21\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1538426490_illum\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECommodi maxime soluta quas similique. Eos minus reiciendis eum asperiores doloremque laborum eligendi.\\nIllo dolorem quae temporibus ipsum. Id libero voluptas ipsum. Natus debitis exercitationem eaque modi sequi quo.\\nAnimi doloremque velit temporibus. Quos ducimus et iure provident voluptatibus cumque ut. Non cumque commodi distinctio animi possimus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Reprehenderit provident eaque inventore.\", \"collapse_deleted_comments\": false, \"public_description\": \"Similique sed fuga adipisci fugit quo voluptate. Sapiente harum totam ullam iste animi voluptatem.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESimilique sed fuga adipisci fugit quo voluptate. Sapiente harum totam ullam iste animi voluptatem.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Commodi maxime soluta quas similique. Eos minus reiciendis eum asperiores doloremque laborum eligendi.\\nIllo dolorem quae temporibus ipsum. Id libero voluptas ipsum. Natus debitis exercitationem eaque modi sequi quo.\\nAnimi doloremque velit temporibus. Quos ducimus et iure provident voluptatibus cumque ut. Non cumque commodi distinctio animi possimus.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_21\", \"created\": 1538426490.0, \"url\": \"/r/1538426490_illum/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1538426490.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "11797" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 01 Oct 2018 20:41:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "507" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=%2BcCw1nqR8ZdM8uVKhEQmjR1OkAA9jd%2BtZA3gMfRjYAmZclWFJ%2B8TC9bgSk6whwrjaPUEGcETcgPh4aMgilRXEXJKBkWw5e91" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/subreddits/mine/subscriber/?limit=1024&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_patch_channel.json b/cassettes/channels.views.channels_test.test_patch_channel.json deleted file mode 100644 index 5b6dcb0413..0000000000 --- a/cassettes/channels.views.channels_test.test_patch_channel.json +++ /dev/null @@ -1,436 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T17:48:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGSV7BRSJYNGFVKS43HFDZ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNywrCMBREf6VkKQrVaFG3VTSLQCmU4irE9NYGHwk3URrEf7exK5dzmDPzJlIpcE54c4UH2SZkTlezarPP+tyWoVjS20mw/oi14Z28eEWmCYHeagQndBRolqYD+/nCBwtx5AwSAWPXKTOiSUwI7SB2/2/pgqFVnGO9tgaCyZ/lfUdDwQ5VdBp4aQVCN3F4DOTzBW8f4yO4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=K5FLFq4yKz6GoBGry7; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:48:11 GMT", - "loidcreated=2018-08-24T17%3A48%3A11.341Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:48:11 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGSV7BRSJYNGFVKS43HFDZ" - } - }, - { - "recorded_at": "2018-08-24T17:48:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Consectetur+libero+ipsum+provident+voluptas+nostrum+alias+aut.+Sed+odio+voluptas+deleniti+minus+laboriosam+illo.+Blanditiis+voluptates+mollitia+aliquam+expedita+aliquam+impedit.+Veniam+error+magni+repellendus+saepe+asperiores+pariatur+maiores.+Magnam+fugiat+modi+harum+neque.%0AIste+maxime+rem+tempora+qui+esse+officiis+dolor.+Explicabo+pariatur+quia+fugiat+saepe+reiciendis+necessitatibus+exercitationem.+Laborum+modi+praesentium+odit+vero+sapiente.+Non+at+possimus+rem+maiores+soluta+ipsa+modi.&link_type=any&name=1535132891_eius&public_description=Suscipit+nisi+veritatis+officia.+Doloremque+eligendi+repellendus+doloremque+maiores.&title=Ab+molestiae+illum+culpa+animi.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 135-U9E6xCpRyP43lY_IxHrWoMhagtc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "745" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=K5FLFq4yKz6GoBGry7; loidcreated=2018-08-24T17%3A48%3A11.341Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "109" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:48:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 135-U9E6xCpRyP43lY_IxHrWoMhagtc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=K5FLFq4yKz6GoBGry7; loidcreated=2018-08-24T17%3A48%3A11.341Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535132891_eius/about/edit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"subreddit_settings\", \"data\": {\"default_set\": true, \"subreddit_id\": \"t5_e\", \"domain\": null, \"allow_images\": null, \"show_media\": false, \"wiki_edit_age\": 0, \"submit_text\": \"\", \"spam_links\": null, \"title\": \"Ab molestiae illum culpa animi.\", \"collapse_deleted_comments\": false, \"wikimode\": \"disabled\", \"over_18\": false, \"suggested_comment_sort\": null, \"description\": \"Consectetur libero ipsum provident voluptas nostrum alias aut. Sed odio voluptas deleniti minus laboriosam illo. Blanditiis voluptates mollitia aliquam expedita aliquam impedit. Veniam error magni repellendus saepe asperiores pariatur maiores. Magnam fugiat modi harum neque.\\nIste maxime rem tempora qui esse officiis dolor. Explicabo pariatur quia fugiat saepe reiciendis necessitatibus exercitationem. Laborum modi praesentium odit vero sapiente. Non at possimus rem maiores soluta ipsa modi.\", \"submit_link_label\": null, \"spam_comments\": null, \"spam_selfposts\": null, \"submit_text_label\": null, \"language\": \"en\", \"wiki_edit_karma\": 0, \"hide_ads\": false, \"header_hover_text\": null, \"public_traffic\": false, \"public_description\": \"Suscipit nisi veritatis officia. Doloremque eligendi repellendus doloremque maiores.\", \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"exclude_banned_modqueue\": false, \"content_options\": \"any\"}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1340" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "106" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=61ya6Ue10BRF%2BxjnNyJ4FOO75R1%2BPain%2FQkKW3JnvAkCjdxGbQcMjN153OdX5WCjQNKarmZLiTeoVncFokGqXcemzyjyFZbf" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535132891_eius/about/edit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:48:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&collapse_deleted_comments=False&comment_score_hide_mins=0&description=Consectetur+libero+ipsum+provident+voluptas+nostrum+alias+aut.+Sed+odio+voluptas+deleniti+minus+laboriosam+illo.+Blanditiis+voluptates+mollitia+aliquam+expedita+aliquam+impedit.+Veniam+error+magni+repellendus+saepe+asperiores+pariatur+maiores.+Magnam+fugiat+modi+harum+neque.%0AIste+maxime+rem+tempora+qui+esse+officiis+dolor.+Explicabo+pariatur+quia+fugiat+saepe+reiciendis+necessitatibus+exercitationem.+Laborum+modi+praesentium+odit+vero+sapiente.+Non+at+possimus+rem+maiores+soluta+ipsa+modi.&exclude_banned_modqueue=False&hide_ads=False&lang=en&link_type=any&over_18=False&public_description=Suscipit+nisi+veritatis+officia.+Doloremque+eligendi+repellendus+doloremque+maiores.&public_traffic=False&show_media=False&show_media_preview=True&sr=t5_e&submit_text=&title=Ab+molestiae+illum+culpa+animi.&type=public&wiki_edit_age=0&wiki_edit_karma=0&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 135-U9E6xCpRyP43lY_IxHrWoMhagtc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "965" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=K5FLFq4yKz6GoBGry7; loidcreated=2018-08-24T17%3A48%3A11.341Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "106" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:48:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 135-U9E6xCpRyP43lY_IxHrWoMhagtc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=K5FLFq4yKz6GoBGry7; loidcreated=2018-08-24T17%3A48%3A11.341Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535132891_eius/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"e\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535132891_eius\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EConsectetur libero ipsum provident voluptas nostrum alias aut. Sed odio voluptas deleniti minus laboriosam illo. Blanditiis voluptates mollitia aliquam expedita aliquam impedit. Veniam error magni repellendus saepe asperiores pariatur maiores. Magnam fugiat modi harum neque.\\nIste maxime rem tempora qui esse officiis dolor. Explicabo pariatur quia fugiat saepe reiciendis necessitatibus exercitationem. Laborum modi praesentium odit vero sapiente. Non at possimus rem maiores soluta ipsa modi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Ab molestiae illum culpa animi.\", \"collapse_deleted_comments\": false, \"public_description\": \"Suscipit nisi veritatis officia. Doloremque eligendi repellendus doloremque maiores.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESuscipit nisi veritatis officia. Doloremque eligendi repellendus doloremque maiores.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Consectetur libero ipsum provident voluptas nostrum alias aut. Sed odio voluptas deleniti minus laboriosam illo. Blanditiis voluptates mollitia aliquam expedita aliquam impedit. Veniam error magni repellendus saepe asperiores pariatur maiores. Magnam fugiat modi harum neque.\\nIste maxime rem tempora qui esse officiis dolor. Explicabo pariatur quia fugiat saepe reiciendis necessitatibus exercitationem. Laborum modi praesentium odit vero sapiente. Non at possimus rem maiores soluta ipsa modi.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 6, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 1, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_e\", \"created\": 1535132891.0, \"url\": \"/r/1535132891_eius/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535132891.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"public\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2499" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "106" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=iTVAxno1tXbRlJIm7bcXbFrpk7QtUzSR9rLAAMUnTfJ6IKrNP4wfcDXRRYqBh2YC5n6XU%2F5e69CHNiRZ95F%2BCVZb5KR%2FPBkq" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535132891_eius/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_patch_channel_about.json b/cassettes/channels.views.channels_test.test_patch_channel_about.json deleted file mode 100644 index 6bebc41876..0000000000 --- a/cassettes/channels.views.channels_test.test_patch_channel_about.json +++ /dev/null @@ -1,436 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2019-01-30T20:00:37", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01D2G5JKY6KBAB8FVKSQQW5D2A" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDKyMNT19C/V1XWpSnIJLQpILgz3ybbMCcmOSgspDvJU0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYZWaRGFpkFuzmaJxlFFGUY+pcXeodk50YWluSD9KSklmUmp8ZnpoAMhnCUagFHVzJfuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 30 Jan 2019 20:00:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=PmVfc1xBezlD9eG6Zd; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 29-Jan-2021 20:00:37 GMT", - "loidcreated=2019-01-30T20%3A00%3A37.309Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 29-Jan-2021 20:00:37 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01D2G5JKY6KBAB8FVKSQQW5D2A" - } - }, - { - "recorded_at": "2019-01-30T20:00:37", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Deleniti+autem+ab+ad+repudiandae.+Molestiae+et+odio+reprehenderit+quia.+Nesciunt+perferendis+dolorum+fugit+dignissimos+enim+maiores.%0AQuos+tenetur+dolores+pariatur+repellat+nemo+id+facere.+Debitis+officiis+voluptates+mollitia+voluptate.+Asperiores+quaerat+in+facilis+explicabo+numquam.%0AAsperiores+cumque+beatae+voluptate+et+quibusdam.+Minima+vero+aperiam+error+officia+saepe.+Facilis+sunt+soluta+dolores+neque+iusto+consequatur.+Recusandae+accusamus+qui+reiciendis+at+perferendis+quisquam.&link_type=any&name=1548878437_21_eligend&public_description=Laudantium+dolor+veritatis+deserunt.&title=Itaque+temporibus+consequatur+vero+iste.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 281-IOu--DzbDUrPcqWLk9lTkZfTsRI" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "708" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=PmVfc1xBezlD9eG6Zd; loidcreated=2019-01-30T20%3A00%3A37.309Z" - ], - "User-Agent": [ - "MIT-Open: 0.64.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 30 Jan 2019 20:00:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "563" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2019-01-30T20:00:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 281-IOu--DzbDUrPcqWLk9lTkZfTsRI" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=PmVfc1xBezlD9eG6Zd; loidcreated=2019-01-30T20%3A00%3A37.309Z" - ], - "User-Agent": [ - "MIT-Open: 0.64.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1548878437_21_eligend/about/edit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"subreddit_settings\", \"data\": {\"default_set\": true, \"subreddit_id\": \"t5_s\", \"domain\": null, \"allow_images\": null, \"show_media\": false, \"wiki_edit_age\": 0, \"submit_text\": \"\", \"spam_links\": null, \"title\": \"Itaque temporibus consequatur vero iste.\", \"collapse_deleted_comments\": false, \"wikimode\": \"disabled\", \"over_18\": false, \"suggested_comment_sort\": null, \"description\": \"Deleniti autem ab ad repudiandae. Molestiae et odio reprehenderit quia. Nesciunt perferendis dolorum fugit dignissimos enim maiores.\\nQuos tenetur dolores pariatur repellat nemo id facere. Debitis officiis voluptates mollitia voluptate. Asperiores quaerat in facilis explicabo numquam.\\nAsperiores cumque beatae voluptate et quibusdam. Minima vero aperiam error officia saepe. Facilis sunt soluta dolores neque iusto consequatur. Recusandae accusamus qui reiciendis at perferendis quisquam.\", \"submit_link_label\": null, \"spam_comments\": null, \"spam_selfposts\": null, \"submit_text_label\": null, \"language\": \"en\", \"wiki_edit_karma\": 0, \"hide_ads\": false, \"header_hover_text\": null, \"public_traffic\": false, \"public_description\": \"Laudantium dolor veritatis deserunt.\", \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"exclude_banned_modqueue\": false, \"content_options\": \"any\"}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1296" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 30 Jan 2019 20:00:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "560" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=TWN3BkpH0msccsTosmGxskXc6vgrvJ5beeV6Hyp5ezpk%2F%2Bm%2Bvrivumw7mUyNQjkeXfWbcVpKEuyYh9k3vVWqjT%2FbVS7JyNMFHYRVv7THXhDFjl%2Bx6L5DLA%3D%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1548878437_21_eligend/about/edit/?raw_json=1" - } - }, - { - "recorded_at": "2019-01-30T20:00:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&collapse_deleted_comments=False&comment_score_hide_mins=0&description=Deleniti+autem+ab+ad+repudiandae.+Molestiae+et+odio+reprehenderit+quia.+Nesciunt+perferendis+dolorum+fugit+dignissimos+enim+maiores.%0AQuos+tenetur+dolores+pariatur+repellat+nemo+id+facere.+Debitis+officiis+voluptates+mollitia+voluptate.+Asperiores+quaerat+in+facilis+explicabo+numquam.%0AAsperiores+cumque+beatae+voluptate+et+quibusdam.+Minima+vero+aperiam+error+officia+saepe.+Facilis+sunt+soluta+dolores+neque+iusto+consequatur.+Recusandae+accusamus+qui+reiciendis+at+perferendis+quisquam.&exclude_banned_modqueue=False&hide_ads=False&lang=en&link_type=any&over_18=False&public_description=Laudantium+dolor+veritatis+deserunt.&public_traffic=False&show_media=False&show_media_preview=True&sr=t5_s&submit_text=&title=Itaque+temporibus+consequatur+vero+iste.&type=private&wiki_edit_age=0&wiki_edit_karma=0&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 281-IOu--DzbDUrPcqWLk9lTkZfTsRI" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "923" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=PmVfc1xBezlD9eG6Zd; loidcreated=2019-01-30T20%3A00%3A37.309Z" - ], - "User-Agent": [ - "MIT-Open: 0.64.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 30 Jan 2019 20:00:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "559" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2019-01-30T20:00:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 281-IOu--DzbDUrPcqWLk9lTkZfTsRI" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=PmVfc1xBezlD9eG6Zd; loidcreated=2019-01-30T20%3A00%3A37.309Z" - ], - "User-Agent": [ - "MIT-Open: 0.64.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1548878437_21_eligend/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"s\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1548878437_21_eligend\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDeleniti autem ab ad repudiandae. Molestiae et odio reprehenderit quia. Nesciunt perferendis dolorum fugit dignissimos enim maiores.\\nQuos tenetur dolores pariatur repellat nemo id facere. Debitis officiis voluptates mollitia voluptate. Asperiores quaerat in facilis explicabo numquam.\\nAsperiores cumque beatae voluptate et quibusdam. Minima vero aperiam error officia saepe. Facilis sunt soluta dolores neque iusto consequatur. Recusandae accusamus qui reiciendis at perferendis quisquam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Itaque temporibus consequatur vero iste.\", \"collapse_deleted_comments\": false, \"public_description\": \"Laudantium dolor veritatis deserunt.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ELaudantium dolor veritatis deserunt.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Deleniti autem ab ad repudiandae. Molestiae et odio reprehenderit quia. Nesciunt perferendis dolorum fugit dignissimos enim maiores.\\nQuos tenetur dolores pariatur repellat nemo id facere. Debitis officiis voluptates mollitia voluptate. Asperiores quaerat in facilis explicabo numquam.\\nAsperiores cumque beatae voluptate et quibusdam. Minima vero aperiam error officia saepe. Facilis sunt soluta dolores neque iusto consequatur. Recusandae accusamus qui reiciendis at perferendis quisquam.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 2, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 1, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_s\", \"created\": 1548878437.0, \"url\": \"/r/1548878437_21_eligend/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1548878437.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2415" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 30 Jan 2019 20:00:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "559" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=syn1OOM1KhEdwF5jz2Z6qZR8JcYYZQVpAPt6EfLVzKNI73wx%2FzLJZ0iv1KX0uz0RP6uQLoIX2bXX4P0V8rckKvM9Guv1ik79" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1548878437_21_eligend/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_patch_channel_forbidden.json b/cassettes/channels.views.channels_test.test_patch_channel_forbidden.json deleted file mode 100644 index c2c0ca2348..0000000000 --- a/cassettes/channels.views.channels_test.test_patch_channel_forbidden.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-06T17:02:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=admin" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDK0MNfNyfVNSk2OLDA1jvDx8Ygvyvb2SYsPLjNxLAtU0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLa5exd4Zlf5GGYWW/gGVYWXB8cnueebZ5pnhxmA9KSklmUmp8ZnpoAMhnCUagGV3Xv6uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 06 Nov 2017 17:02:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=oyWucpNcyHuGPkXSDG; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 06-Nov-2019 17:02:27 GMT", - "loidcreated=2017-11-06T17%3A02%3A27.094Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 06-Nov-2019 17:02:27 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=admin" - } - }, - { - "recorded_at": "2017-11-06T17:02:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 187-lmMbecYp53XLLH_rkKLf_Sv4AvQ" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=oyWucpNcyHuGPkXSDG; loidcreated=2017-11-06T17%3A02%3A27.094Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/dedp2/about/edit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"message\": \"Forbidden\", \"error\": 403}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "38" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 06 Nov 2017 17:02:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=nP17LWXh883tUtF5%2B90PU%2FK9BOt4%2Fi6JEc7Ffqvj3naHib9VYU7AgrWnhdJANvaBe6%2FgnRzE1QQ%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 403, - "message": "Forbidden" - }, - "url": "https://reddit.local/r/dedp2/about/edit/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_patch_channel_image[avatar].json b/cassettes/channels.views.channels_test.test_patch_channel_image[avatar].json deleted file mode 100644 index c500f0e9d4..0000000000 --- a/cassettes/channels.views.channels_test.test_patch_channel_image[avatar].json +++ /dev/null @@ -1,436 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T17:48:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGTBRX0ZS343AK777SNCNK" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0ttD1804r9KhyMzXNNcgLqjIxDa70rfTPMDJPT3ZV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZV+UaEmXtEJYZmWfgUB0fpGlq4JpmblZlaVhmA9KSklmUmp8ZnpoAMhnCUagGiU5vcuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=UNZr6DACbXqYmdcDAb; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:48:28 GMT", - "loidcreated=2018-08-24T17%3A48%3A28.293Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:48:28 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGTBRX0ZS343AK777SNCNK" - } - }, - { - "recorded_at": "2018-08-24T17:48:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Ratione+excepturi+nobis+illo+quibusdam+sit+commodi.+Pariatur+molestiae+maxime+repellat.+Rem+velit+dolor+ex.+Aspernatur+vero+provident+totam+vel.%0ANulla+a+magni+facilis.+Commodi+eligendi+eius+quibusdam+exercitationem+maiores.+Libero+veritatis+expedita+eaque+delectus+accusantium+iste.+Autem+repellendus+itaque+illo+repudiandae+beatae+laudantium+veritatis.+Officia+accusantium+eveniet+nam+temporibus+quisquam.&link_type=any&name=1535132908_nemo&public_description=Tempore+ducimus+ipsum+quam+odio+perspiciatis+adipisci.+Odit+rerum+eius+maxime+accusantium+modi.&title=Labore+voluptatem+voluptate+ratione+molestiae.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 138-NKfqHzF55m0nRz45SyMyOh27gcE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "682" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=UNZr6DACbXqYmdcDAb; loidcreated=2018-08-24T17%3A48%3A28.293Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "92" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:48:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 138-NKfqHzF55m0nRz45SyMyOh27gcE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=UNZr6DACbXqYmdcDAb; loidcreated=2018-08-24T17%3A48%3A28.293Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535132908_nemo/about/edit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"subreddit_settings\", \"data\": {\"default_set\": true, \"subreddit_id\": \"t5_g\", \"domain\": null, \"allow_images\": null, \"show_media\": false, \"wiki_edit_age\": 0, \"submit_text\": \"\", \"spam_links\": null, \"title\": \"Labore voluptatem voluptate ratione molestiae.\", \"collapse_deleted_comments\": false, \"wikimode\": \"disabled\", \"over_18\": false, \"suggested_comment_sort\": null, \"description\": \"Ratione excepturi nobis illo quibusdam sit commodi. Pariatur molestiae maxime repellat. Rem velit dolor ex. Aspernatur vero provident totam vel.\\nNulla a magni facilis. Commodi eligendi eius quibusdam exercitationem maiores. Libero veritatis expedita eaque delectus accusantium iste. Autem repellendus itaque illo repudiandae beatae laudantium veritatis. Officia accusantium eveniet nam temporibus quisquam.\", \"submit_link_label\": null, \"spam_comments\": null, \"spam_selfposts\": null, \"submit_text_label\": null, \"language\": \"en\", \"wiki_edit_karma\": 0, \"hide_ads\": false, \"header_hover_text\": null, \"public_traffic\": false, \"public_description\": \"Tempore ducimus ipsum quam odio perspiciatis adipisci. Odit rerum eius maxime accusantium modi.\", \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"public\", \"exclude_banned_modqueue\": false, \"content_options\": \"any\"}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1277" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "89" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=9%2F68CExEoTqjKLCHbKJAFjT4rPbWpVreTjzHKmPxoVi%2Bs1RH8tqvksgrqDR4y%2BhBR13VClDGMVefyiPnqqlbnuEXo7wDx5MY" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535132908_nemo/about/edit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:48:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&collapse_deleted_comments=False&comment_score_hide_mins=0&description=Ratione+excepturi+nobis+illo+quibusdam+sit+commodi.+Pariatur+molestiae+maxime+repellat.+Rem+velit+dolor+ex.+Aspernatur+vero+provident+totam+vel.%0ANulla+a+magni+facilis.+Commodi+eligendi+eius+quibusdam+exercitationem+maiores.+Libero+veritatis+expedita+eaque+delectus+accusantium+iste.+Autem+repellendus+itaque+illo+repudiandae+beatae+laudantium+veritatis.+Officia+accusantium+eveniet+nam+temporibus+quisquam.&exclude_banned_modqueue=False&hide_ads=False&lang=en&link_type=any&over_18=False&public_description=Tempore+ducimus+ipsum+quam+odio+perspiciatis+adipisci.+Odit+rerum+eius+maxime+accusantium+modi.&public_traffic=False&show_media=False&show_media_preview=True&sr=t5_g&submit_text=&title=Labore+voluptatem+voluptate+ratione+molestiae.&type=public&wiki_edit_age=0&wiki_edit_karma=0&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 138-NKfqHzF55m0nRz45SyMyOh27gcE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "903" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=UNZr6DACbXqYmdcDAb; loidcreated=2018-08-24T17%3A48%3A28.293Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "89" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:48:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 138-NKfqHzF55m0nRz45SyMyOh27gcE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=UNZr6DACbXqYmdcDAb; loidcreated=2018-08-24T17%3A48%3A28.293Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535132908_nemo/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"g\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535132908_nemo\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ERatione excepturi nobis illo quibusdam sit commodi. Pariatur molestiae maxime repellat. Rem velit dolor ex. Aspernatur vero provident totam vel.\\nNulla a magni facilis. Commodi eligendi eius quibusdam exercitationem maiores. Libero veritatis expedita eaque delectus accusantium iste. Autem repellendus itaque illo repudiandae beatae laudantium veritatis. Officia accusantium eveniet nam temporibus quisquam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Labore voluptatem voluptate ratione molestiae.\", \"collapse_deleted_comments\": false, \"public_description\": \"Tempore ducimus ipsum quam odio perspiciatis adipisci. Odit rerum eius maxime accusantium modi.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ETempore ducimus ipsum quam odio perspiciatis adipisci. Odit rerum eius maxime accusantium modi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Ratione excepturi nobis illo quibusdam sit commodi. Pariatur molestiae maxime repellat. Rem velit dolor ex. Aspernatur vero provident totam vel.\\nNulla a magni facilis. Commodi eligendi eius quibusdam exercitationem maiores. Libero veritatis expedita eaque delectus accusantium iste. Autem repellendus itaque illo repudiandae beatae laudantium veritatis. Officia accusantium eveniet nam temporibus quisquam.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 6, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 1, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_g\", \"created\": 1535132908.0, \"url\": \"/r/1535132908_nemo/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535132908.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"public\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2360" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "89" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=5FpEv%2FLcI9tFGtv3cSkfT%2FIEHGfRTIxZYAtndiT3boeUInsY%2FwBR40dlztyuFLsiJEmh29ywfd5EdIPsvYCvW3GmeA1arbBk" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535132908_nemo/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_patch_channel_image[banner].json b/cassettes/channels.views.channels_test.test_patch_channel_image[banner].json deleted file mode 100644 index 07ce0dd6dc..0000000000 --- a/cassettes/channels.views.channels_test.test_patch_channel_image[banner].json +++ /dev/null @@ -1,436 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T17:48:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGTJ7EGVS9831K1AJK8JGN" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNvQ6CMACEX4V0NJrwF0VH8GeQkEh0YGqgPaUSAduiGOO7S2VyvC/33b1JzhiUorqpUJOVRRxvOYMfbfxoq0/Z7h7GMvOT6rnutFdEAZlaBH0rJBQVRvDmtj2wn0/1q4UZKZBLSNNVrBnRxCSJ8yCW/2+p07u3NIBO9sVCxuXR5dfOAa8vB+NwPAQDFdwMj4F8vuvfjnq4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=61QBq0rLAkGZLN3WNh; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:48:35 GMT", - "loidcreated=2018-08-24T17%3A48%3A34.888Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:48:35 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGTJ7EGVS9831K1AJK8JGN" - } - }, - { - "recorded_at": "2018-08-24T17:48:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Nemo+qui+repellat+commodi.+Exercitationem+in+vitae+atque+adipisci+dolorem.+Repellendus+fugiat+adipisci+reprehenderit+voluptatibus+provident+pariatur+similique.+Ea+numquam+ad+distinctio+nisi.%0AAut+laboriosam+assumenda+minima+voluptates+ea.+Assumenda+vel+tenetur+officiis+excepturi+soluta.+Mollitia+dolor+distinctio+distinctio+assumenda+necessitatibus+adipisci+corporis.%0ASed+incidunt+vel+fugiat+voluptates.+Exercitationem+asperiores+dolorem+quos+dolorem.+Facilis+consequatur+facere+esse.&link_type=any&name=1535132915_ullam&public_description=Totam+doloremque+praesentium+consequuntur+iste.+Expedita+ducimus+consequatur+ratione.&title=Ad+soluta+facere+ab+tenetur+et+quasi.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 139-e4CE4CFtUYGqBLrY4NkwDut3bC8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "744" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=61QBq0rLAkGZLN3WNh; loidcreated=2018-08-24T17%3A48%3A34.888Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "85" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:48:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 139-e4CE4CFtUYGqBLrY4NkwDut3bC8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=61QBq0rLAkGZLN3WNh; loidcreated=2018-08-24T17%3A48%3A34.888Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535132915_ullam/about/edit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"subreddit_settings\", \"data\": {\"default_set\": true, \"subreddit_id\": \"t5_h\", \"domain\": null, \"allow_images\": null, \"show_media\": false, \"wiki_edit_age\": 0, \"submit_text\": \"\", \"spam_links\": null, \"title\": \"Ad soluta facere ab tenetur et quasi.\", \"collapse_deleted_comments\": false, \"wikimode\": \"disabled\", \"over_18\": false, \"suggested_comment_sort\": null, \"description\": \"Nemo qui repellat commodi. Exercitationem in vitae atque adipisci dolorem. Repellendus fugiat adipisci reprehenderit voluptatibus provident pariatur similique. Ea numquam ad distinctio nisi.\\nAut laboriosam assumenda minima voluptates ea. Assumenda vel tenetur officiis excepturi soluta. Mollitia dolor distinctio distinctio assumenda necessitatibus adipisci corporis.\\nSed incidunt vel fugiat voluptates. Exercitationem asperiores dolorem quos dolorem. Facilis consequatur facere esse.\", \"submit_link_label\": null, \"spam_comments\": null, \"spam_selfposts\": null, \"submit_text_label\": null, \"language\": \"en\", \"wiki_edit_karma\": 0, \"hide_ads\": false, \"header_hover_text\": null, \"public_traffic\": false, \"public_description\": \"Totam doloremque praesentium consequuntur iste. Expedita ducimus consequatur ratione.\", \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"public\", \"exclude_banned_modqueue\": false, \"content_options\": \"any\"}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1337" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "82" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=JBr0WkGems2telldm5Wa1G4%2FrpgzYYcgbIJiz%2FSWIiBTPjRDDTgNnB16v7UW7OqKjScAQ4EIizFDJUuDc75uoSSD2Wd%2FfwDJ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535132915_ullam/about/edit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:48:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&collapse_deleted_comments=False&comment_score_hide_mins=0&description=Nemo+qui+repellat+commodi.+Exercitationem+in+vitae+atque+adipisci+dolorem.+Repellendus+fugiat+adipisci+reprehenderit+voluptatibus+provident+pariatur+similique.+Ea+numquam+ad+distinctio+nisi.%0AAut+laboriosam+assumenda+minima+voluptates+ea.+Assumenda+vel+tenetur+officiis+excepturi+soluta.+Mollitia+dolor+distinctio+distinctio+assumenda+necessitatibus+adipisci+corporis.%0ASed+incidunt+vel+fugiat+voluptates.+Exercitationem+asperiores+dolorem+quos+dolorem.+Facilis+consequatur+facere+esse.&exclude_banned_modqueue=False&hide_ads=False&lang=en&link_type=any&over_18=False&public_description=Totam+doloremque+praesentium+consequuntur+iste.+Expedita+ducimus+consequatur+ratione.&public_traffic=False&show_media=False&show_media_preview=True&sr=t5_h&submit_text=&title=Ad+soluta+facere+ab+tenetur+et+quasi.&type=public&wiki_edit_age=0&wiki_edit_karma=0&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 139-e4CE4CFtUYGqBLrY4NkwDut3bC8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "964" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=61QBq0rLAkGZLN3WNh; loidcreated=2018-08-24T17%3A48%3A34.888Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "82" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:48:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 139-e4CE4CFtUYGqBLrY4NkwDut3bC8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=61QBq0rLAkGZLN3WNh; loidcreated=2018-08-24T17%3A48%3A34.888Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535132915_ullam/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"h\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535132915_ullam\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENemo qui repellat commodi. Exercitationem in vitae atque adipisci dolorem. Repellendus fugiat adipisci reprehenderit voluptatibus provident pariatur similique. Ea numquam ad distinctio nisi.\\nAut laboriosam assumenda minima voluptates ea. Assumenda vel tenetur officiis excepturi soluta. Mollitia dolor distinctio distinctio assumenda necessitatibus adipisci corporis.\\nSed incidunt vel fugiat voluptates. Exercitationem asperiores dolorem quos dolorem. Facilis consequatur facere esse.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Ad soluta facere ab tenetur et quasi.\", \"collapse_deleted_comments\": false, \"public_description\": \"Totam doloremque praesentium consequuntur iste. Expedita ducimus consequatur ratione.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ETotam doloremque praesentium consequuntur iste. Expedita ducimus consequatur ratione.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Nemo qui repellat commodi. Exercitationem in vitae atque adipisci dolorem. Repellendus fugiat adipisci reprehenderit voluptatibus provident pariatur similique. Ea numquam ad distinctio nisi.\\nAut laboriosam assumenda minima voluptates ea. Assumenda vel tenetur officiis excepturi soluta. Mollitia dolor distinctio distinctio assumenda necessitatibus adipisci corporis.\\nSed incidunt vel fugiat voluptates. Exercitationem asperiores dolorem quos dolorem. Facilis consequatur facere esse.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 2, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 1, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_h\", \"created\": 1535132915.0, \"url\": \"/r/1535132915_ullam/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535132915.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"public\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2491" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "82" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=kZjAiakwsdKmpQ3D0v8TB99CpdfU584Ycr52DqHmeSwd%2FftYUDrEOKKSSWQ4xQK9vEOKOfQXFXrNGZq%2B58JT%2BSSyEE4fIZ4r" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535132915_ullam/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_patch_channel_moderator.json b/cassettes/channels.views.channels_test.test_patch_channel_moderator.json deleted file mode 100644 index 7a8ede9f3f..0000000000 --- a/cassettes/channels.views.channels_test.test_patch_channel_moderator.json +++ /dev/null @@ -1,961 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T17:48:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGT1RPK8SHTZMTYCTPACQC" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNywrCMBREf6VkKRYilSLuDNIWN4IQwVXI40pDbFOToBXx3+21K5dzmDPzJlJriFEk76An24ysijKvOlZ3o9LNLV8r79LuyIziiXLByTIjMA42QBQWhaKkdGI/X6TXADiiQAYI2I3az2iBKcB1Etv/N39vn2rTsMP+YgAcreVZSMd6f3LoGHhYDcIaHJ4D+XwBDAeUOLgAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=O2Kbi9QPtS7c9MMC2E; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:48:18 GMT", - "loidcreated=2018-08-24T17%3A48%3A18.020Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:48:18 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGT1RPK8SHTZMTYCTPACQC" - } - }, - { - "recorded_at": "2018-08-24T17:48:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=O2Kbi9QPtS7c9MMC2E; loidcreated=2018-08-24T17%3A48%3A18.020Z" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGT50Y3MYK561R4MKXNQV4" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0NtfVLc4vcnZ18q9MdQlOiTQJcc8MKI7KCXIvNLJQ0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZVpXiYFxe5Rgb4lIVE+hoVR4XnmRY6J0VaVEaC9KSklmUmp8ZnpoAMhnCUagHvmCfBuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGT50Y3MYK561R4MKXNQV4" - } - }, - { - "recorded_at": "2018-08-24T17:48:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Reiciendis+occaecati+dolor+earum+accusantium+ducimus+nobis+illo.+Exercitationem+ratione+animi+dicta+provident+natus+neque+sed+enim.%0AAmet+voluptatibus+inventore+delectus+eos+delectus+occaecati.+Non+distinctio+quos+rerum+facere+sapiente.+Molestias+quo+iusto+dolores+facilis.+Laborum+illum+fugiat+dolorem+voluptates+praesentium+quibusdam+libero+fugiat.&link_type=any&name=1535132901_porro&public_description=Iusto+accusantium+nihil+quo+assumenda+minima+officiis.+Accusamus+iste+similique+quae+pariatur.&title=Quisquam+assumenda+animi+nostrum+sequi.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 137--sorCEBOyeDSdY4TGiPsZlRGq28" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "619" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=O2Kbi9QPtS7c9MMC2E; loidcreated=2018-08-24T17%3A48%3A18.020Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "99" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:48:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPGT1RPK8SHTZMTYCTPACQC&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 137--sorCEBOyeDSdY4TGiPsZlRGq28" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=O2Kbi9QPtS7c9MMC2E; loidcreated=2018-08-24T17%3A48%3A18.020Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535132901_porro/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "96" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535132901_porro/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:48:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535132901_porro" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 136-FmBGmxbcHl-4boktAOBdbUt0U_U" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "75" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=O2Kbi9QPtS7c9MMC2E; loidcreated=2018-08-24T17%3A48%3A18.020Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "96" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:48:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPGT1RPK8SHTZMTYCTPACQC&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 137--sorCEBOyeDSdY4TGiPsZlRGq28" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=O2Kbi9QPtS7c9MMC2E; loidcreated=2018-08-24T17%3A48%3A18.020Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535132901_porro/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "96" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535132901_porro/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:48:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 136-FmBGmxbcHl-4boktAOBdbUt0U_U" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=O2Kbi9QPtS7c9MMC2E; loidcreated=2018-08-24T17%3A48%3A18.020Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535132901_porro/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "95" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535132901_porro/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:48:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 136-FmBGmxbcHl-4boktAOBdbUt0U_U" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=O2Kbi9QPtS7c9MMC2E; loidcreated=2018-08-24T17%3A48%3A18.020Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535132901_porro/about/moderators/?user=01CNPGT1RPK8SHTZMTYCTPACQC&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1535132905.0, \"mod_permissions\": [\"all\"], \"name\": \"01CNPGT1RPK8SHTZMTYCTPACQC\", \"id\": \"t2_3s\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "95" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=%2FGznZCOQKxPzLCFGmsNaNsi9rSbDEq5%2BUVVx2ZbmRZKiBqDby53VadopuOSIxKussyanab46FQoiaqw8bSxOnipJ29%2Fv13gS" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535132901_porro/about/moderators/?user=01CNPGT1RPK8SHTZMTYCTPACQC&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:48:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 136-FmBGmxbcHl-4boktAOBdbUt0U_U" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=O2Kbi9QPtS7c9MMC2E; loidcreated=2018-08-24T17%3A48%3A18.020Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535132901_porro/about/edit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"subreddit_settings\", \"data\": {\"default_set\": true, \"subreddit_id\": \"t5_f\", \"domain\": null, \"allow_images\": null, \"show_media\": false, \"wiki_edit_age\": 0, \"submit_text\": \"\", \"spam_links\": null, \"title\": \"Quisquam assumenda animi nostrum sequi.\", \"collapse_deleted_comments\": false, \"wikimode\": \"disabled\", \"over_18\": false, \"suggested_comment_sort\": null, \"description\": \"Reiciendis occaecati dolor earum accusantium ducimus nobis illo. Exercitationem ratione animi dicta provident natus neque sed enim.\\nAmet voluptatibus inventore delectus eos delectus occaecati. Non distinctio quos rerum facere sapiente. Molestias quo iusto dolores facilis. Laborum illum fugiat dolorem voluptates praesentium quibusdam libero fugiat.\", \"submit_link_label\": null, \"spam_comments\": null, \"spam_selfposts\": null, \"submit_text_label\": null, \"language\": \"en\", \"wiki_edit_karma\": 0, \"hide_ads\": false, \"header_hover_text\": null, \"public_traffic\": false, \"public_description\": \"Iusto accusantium nihil quo assumenda minima officiis. Accusamus iste similique quae pariatur.\", \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"exclude_banned_modqueue\": false, \"content_options\": \"any\"}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1213" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "95" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=hhPgRmmAcv057hBht8iksl3h5tgJkxis5c3kjX%2BBKS5JSaSvXTgNRid1wqqVpZJYU325eIkk3qtOkrGjUpj9B36xkM1CpUYG" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535132901_porro/about/edit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:48:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&collapse_deleted_comments=False&comment_score_hide_mins=0&description=Reiciendis+occaecati+dolor+earum+accusantium+ducimus+nobis+illo.+Exercitationem+ratione+animi+dicta+provident+natus+neque+sed+enim.%0AAmet+voluptatibus+inventore+delectus+eos+delectus+occaecati.+Non+distinctio+quos+rerum+facere+sapiente.+Molestias+quo+iusto+dolores+facilis.+Laborum+illum+fugiat+dolorem+voluptates+praesentium+quibusdam+libero+fugiat.&exclude_banned_modqueue=False&hide_ads=False&lang=en&link_type=any&over_18=False&public_description=Iusto+accusantium+nihil+quo+assumenda+minima+officiis.+Accusamus+iste+similique+quae+pariatur.&public_traffic=False&show_media=False&show_media_preview=True&sr=t5_f&submit_text=&title=Quisquam+assumenda+animi+nostrum+sequi.&type=public&wiki_edit_age=0&wiki_edit_karma=0&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 136-FmBGmxbcHl-4boktAOBdbUt0U_U" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "838" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=O2Kbi9QPtS7c9MMC2E; loidcreated=2018-08-24T17%3A48%3A18.020Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "95" - ], - "x-ratelimit-used": [ - "5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:48:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 136-FmBGmxbcHl-4boktAOBdbUt0U_U" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=O2Kbi9QPtS7c9MMC2E; loidcreated=2018-08-24T17%3A48%3A18.020Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535132901_porro/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"f\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535132901_porro\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EReiciendis occaecati dolor earum accusantium ducimus nobis illo. Exercitationem ratione animi dicta provident natus neque sed enim.\\nAmet voluptatibus inventore delectus eos delectus occaecati. Non distinctio quos rerum facere sapiente. Molestias quo iusto dolores facilis. Laborum illum fugiat dolorem voluptates praesentium quibusdam libero fugiat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Quisquam assumenda animi nostrum sequi.\", \"collapse_deleted_comments\": false, \"public_description\": \"Iusto accusantium nihil quo assumenda minima officiis. Accusamus iste similique quae pariatur.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIusto accusantium nihil quo assumenda minima officiis. Accusamus iste similique quae pariatur.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Reiciendis occaecati dolor earum accusantium ducimus nobis illo. Exercitationem ratione animi dicta provident natus neque sed enim.\\nAmet voluptatibus inventore delectus eos delectus occaecati. Non distinctio quos rerum facere sapiente. Molestias quo iusto dolores facilis. Laborum illum fugiat dolorem voluptates praesentium quibusdam libero fugiat.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 6, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_f\", \"created\": 1535132901.0, \"url\": \"/r/1535132901_porro/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535132901.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"public\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2239" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "95" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=8%2BmWWBGcvblSa%2B7PyJhIWz3TJQGss8uGd%2BMZ8YMy%2BAc04TGx4b06NeY2DPk6aEhPksEic6qCKIxjs8xMEgDveGFlD3Fu6ZQU" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535132901_porro/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_patch_channel_noauth.json b/cassettes/channels.views.channels_test.test_patch_channel_noauth.json deleted file mode 100644 index 21e7b446cc..0000000000 --- a/cassettes/channels.views.channels_test.test_patch_channel_noauth.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "http_interactions": [], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_patch_channel_nonstaff.json b/cassettes/channels.views.channels_test.test_patch_channel_nonstaff.json deleted file mode 100644 index 20e05c1ddf..0000000000 --- a/cassettes/channels.views.channels_test.test_patch_channel_nonstaff.json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-29T14:59:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01C044N74CAWJX45D3RFTZSB9W" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDK3NNMNMCjzj/BIMzQ1DTYJ9Q7KrqoMLg/1dQrLNklW0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZFGQSWpZSmV5aneQV6BoX7mDllZnsUp1t4ZBiA9KSklmUmp8ZnpoAMhnCUagEdBuOwuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Nov 2017 14:59:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=ZZXw9phCKpDw2Yudd5; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 29-Nov-2019 14:59:59 GMT", - "loidcreated=2017-11-29T14%3A59%3A58.707Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 29-Nov-2019 14:59:59 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01C044N74CAWJX45D3RFTZSB9W" - } - }, - { - "recorded_at": "2017-11-29T14:59:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 796-P0vOXHf155S4UKRkzySwUMBVk4c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ZZXw9phCKpDw2Yudd5; loidcreated=2017-11-29T14%3A59%3A58.707Z" - ], - "User-Agent": [ - "MIT-Open: 0.4.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/subreddit_for_testing/about/moderators/?user=01C044N74CAWJX45D3RFTZSB9W&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "\n \n 302 Found\n \n \n

302 Found

\n The resource was found at https://reddit.local/subreddits/search?q=subreddit_for_testing;\nyou should be redirected automatically.\n\n\n \n" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "307" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Nov 2017 14:59:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "location": [ - "https://reddit.local/subreddits/search?q=subreddit_for_testing" - ] - }, - "status": { - "code": 302, - "message": "Found" - }, - "url": "https://reddit.local/r/subreddit_for_testing/about/moderators/?user=01C044N74CAWJX45D3RFTZSB9W&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_patch_channel_not_found.json b/cassettes/channels.views.channels_test.test_patch_channel_not_found.json deleted file mode 100644 index 1fa359fac7..0000000000 --- a/cassettes/channels.views.channels_test.test_patch_channel_not_found.json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-06T17:02:57", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=admin" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDK0MNf1yQzNMLHIdXeOyI80cnMxjc+2CHE3TEnLLihW0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLa5ZJTm6FYGF+t6p/ubJeVkVBYU+Romu7q457uC9KSklmUmp8ZnpoAMhnCUagHkEXBxuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 06 Nov 2017 17:02:57 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=4aAggNlcpJGkm9sXEZ; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 06-Nov-2019 17:02:57 GMT", - "loidcreated=2017-11-06T17%3A02%3A57.358Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 06-Nov-2019 17:02:57 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=admin" - } - }, - { - "recorded_at": "2017-11-06T17:02:57", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 187-LiUh48mGCXoY2FD5_k8TG1dfkps" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=4aAggNlcpJGkm9sXEZ; loidcreated=2017-11-06T17%3A02%3A57.358Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/missing/about/edit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "\n \n 302 Found\n \n \n

302 Found

\n The resource was found at https://reddit.local/subreddits/search?q=missing;\nyou should be redirected automatically.\n\n\n \n" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "279" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 06 Nov 2017 17:02:57 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "location": [ - "https://reddit.local/subreddits/search?q=missing" - ] - }, - "status": { - "code": 302, - "message": "Found" - }, - "url": "https://reddit.local/r/missing/about/edit/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_patch_channel_validate_image[avatar].json b/cassettes/channels.views.channels_test.test_patch_channel_validate_image[avatar].json deleted file mode 100644 index c191e82a38..0000000000 --- a/cassettes/channels.views.channels_test.test_patch_channel_validate_image[avatar].json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T17:48:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGTRMDDFDZ60YGMYB8MTMF" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0MdD1SKqKDHcyM0mPLzS3DDUPMTEx9kzLjQyMcspX0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZaLZlOWa5G0U4mXi6liQHVjr55VskZif6pLt4R4L0pKSWZSanxmemgAyGcJRqAdBH61y4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=EXbGJoBbHc8f3SEIo3; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:48:41 GMT", - "loidcreated=2018-08-24T17%3A48%3A41.435Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:48:41 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGTRMDDFDZ60YGMYB8MTMF" - } - }, - { - "recorded_at": "2018-08-24T17:48:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Tenetur+nemo+recusandae+neque+placeat.+Aspernatur+repellat+ipsa+reprehenderit+earum.+Voluptates+possimus+quam+ipsum+laboriosam.+Rerum+magnam+numquam+mollitia+dignissimos+dignissimos+nobis+vitae.+Distinctio+ad+blanditiis+quisquam+dignissimos.%0AArchitecto+amet+nostrum+non+similique+nihil+nisi+dolor.+Inventore+praesentium+tempora+minus+excepturi+assumenda+officiis.&link_type=any&name=1535132921_ab&public_description=Cum+adipisci+eius+vel+rem+esse+quidem+dolorem.+Minus+facere+voluptates+aliquam+tempora+enim.&title=Pariatur+quo+alias+totam+debitis+vitae.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 140-HbzYWB64g_q79U7T443IfmYQZBo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "628" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=EXbGJoBbHc8f3SEIo3; loidcreated=2018-08-24T17%3A48%3A41.435Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "79" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_patch_channel_validate_image[banner].json b/cassettes/channels.views.channels_test.test_patch_channel_validate_image[banner].json deleted file mode 100644 index d99ecc5cde..0000000000 --- a/cassettes/channels.views.channels_test.test_patch_channel_validate_image[banner].json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T17:48:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGTYYGH84TC8YKMJQETP8H" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNyw6CMBREf4V0aSRpAzHozh2GBZKG6K4p5YJFYqG3vuO/S2Xlck7mzLyJVAoQhTNnuJBNQFjMwuRwdy++x7HbmSrraemuXViyNOExWQYEHoO2gEJ7IVpROrGfL9xzAD9SgbRgfReVmdHCJwvNJJ7+34pciHUuG5Vh32/HKC0w4ceatYZ6p4abViB07YfnQD5fz1fnSLgAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=GQYYo0xKgVVh0fF5DW; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:48:48 GMT", - "loidcreated=2018-08-24T17%3A48%3A47.915Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:48:48 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGTYYGH84TC8YKMJQETP8H" - } - }, - { - "recorded_at": "2018-08-24T17:48:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Officia+provident+a+eligendi+quo.+Illum+asperiores+culpa+sit+ab+praesentium+minima+nesciunt+deserunt.+Doloribus+natus+distinctio+rem+reprehenderit+quam+doloribus.%0AQuisquam+hic+excepturi+impedit+quaerat.+Occaecati+quidem+ipsa+aperiam+laboriosam+veniam+officia+ut.+Dolorem+autem+cumque+totam+molestias+quasi+facilis+ab.+Voluptas+nam+excepturi+modi+tenetur+enim+nesciunt.&link_type=any&name=1535132928_repellat&public_description=Labore+officia+impedit+vero+nulla+reprehenderit+iusto+in.+Inventore+ut+aliquam+facere.&title=Quia+quidem+hic+doloremque+asperiores.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 141-8WwtzSPsqjIobKl0Utuj-U1H8S4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "632" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=GQYYo0xKgVVh0fF5DW; loidcreated=2018-08-24T17%3A48%3A47.915Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "72" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_patch_title_non_superuser_forbidden.json b/cassettes/channels.views.channels_test.test_patch_title_non_superuser_forbidden.json deleted file mode 100644 index 79aea06470..0000000000 --- a/cassettes/channels.views.channels_test.test_patch_title_non_superuser_forbidden.json +++ /dev/null @@ -1,436 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-12-05T19:17:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CXZWTYERDENZ6VPYW2QGZTRM" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0NtQtDgooNK2oKsrO8rQwzElzLymvSM71tQxPTg5V0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLbF61ZlW3jHezgGGfv6hxsE50ZWBrmEO5sY+0WC9KSklmUmp8ZnpoAMhnCUagEZ+FCZuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 05 Dec 2018 19:17:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=uXp16Iw8QtqxWPx4fk; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 04-Dec-2020 19:17:15 GMT", - "loidcreated=2018-12-05T19%3A17%3A14.928Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 04-Dec-2020 19:17:15 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CXZWTYERDENZ6VPYW2QGZTRM" - } - }, - { - "recorded_at": "2018-12-05T19:17:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Enim+perspiciatis+porro+omnis+hic+quasi.+Dolore+possimus+sed+corporis+vitae.+Et+nemo+exercitationem+reprehenderit+expedita.+Alias+nam+at+nulla.%0APraesentium+qui+nulla+odit.+Quas+unde+dolorum+unde+recusandae+quod+ab.+Nemo+eaque+optio+dolorum+consectetur.%0AMolestias+tempora+ad+iste+veritatis+autem.+Magnam+aliquam+suscipit+sit+reiciendis+placeat+hic+accusamus.+Magni+ad+quibusdam+impedit+consequatur+maxime+ea+quisquam.&link_type=any&name=1544037435_id&public_description=Quod+voluptatum+quia+natus+in+culpa+eligendi+autem.&title=Laboriosam+debitis+nihil+animi+corrupti.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 131-sRPq5xzrkjI81lfGtwxcmM9WccU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "642" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=uXp16Iw8QtqxWPx4fk; loidcreated=2018-12-05T19%3A17%3A14.928Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 05 Dec 2018 19:17:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "165" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-12-05T19:17:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 131-sRPq5xzrkjI81lfGtwxcmM9WccU" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=uXp16Iw8QtqxWPx4fk; loidcreated=2018-12-05T19%3A17%3A14.928Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1544037435_id/about/edit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"subreddit_settings\", \"data\": {\"default_set\": true, \"subreddit_id\": \"t5_c\", \"domain\": null, \"allow_images\": null, \"show_media\": false, \"wiki_edit_age\": 0, \"submit_text\": \"\", \"spam_links\": null, \"title\": \"Laboriosam debitis nihil animi corrupti.\", \"collapse_deleted_comments\": false, \"wikimode\": \"disabled\", \"over_18\": false, \"suggested_comment_sort\": null, \"description\": \"Enim perspiciatis porro omnis hic quasi. Dolore possimus sed corporis vitae. Et nemo exercitationem reprehenderit expedita. Alias nam at nulla.\\nPraesentium qui nulla odit. Quas unde dolorum unde recusandae quod ab. Nemo eaque optio dolorum consectetur.\\nMolestias tempora ad iste veritatis autem. Magnam aliquam suscipit sit reiciendis placeat hic accusamus. Magni ad quibusdam impedit consequatur maxime ea quisquam.\", \"submit_link_label\": null, \"spam_comments\": null, \"spam_selfposts\": null, \"submit_text_label\": null, \"language\": \"en\", \"wiki_edit_karma\": 0, \"hide_ads\": false, \"header_hover_text\": null, \"public_traffic\": false, \"public_description\": \"Quod voluptatum quia natus in culpa eligendi autem.\", \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"public\", \"exclude_banned_modqueue\": false, \"content_options\": \"any\"}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1238" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 05 Dec 2018 19:17:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "162" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=hoAwW4sbnr%2FYtPzYlu4HyoqnpXJm%2Fnz1GWdFxVBarEyVEIhlP%2BLBcWy1IkeMOvcAM3bu6b2aYurIZ0%2FYxIoB8BS59IGJgL%2FK" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1544037435_id/about/edit/?raw_json=1" - } - }, - { - "recorded_at": "2018-12-05T19:17:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&collapse_deleted_comments=False&comment_score_hide_mins=0&description=Enim+perspiciatis+porro+omnis+hic+quasi.+Dolore+possimus+sed+corporis+vitae.+Et+nemo+exercitationem+reprehenderit+expedita.+Alias+nam+at+nulla.%0APraesentium+qui+nulla+odit.+Quas+unde+dolorum+unde+recusandae+quod+ab.+Nemo+eaque+optio+dolorum+consectetur.%0AMolestias+tempora+ad+iste+veritatis+autem.+Magnam+aliquam+suscipit+sit+reiciendis+placeat+hic+accusamus.+Magni+ad+quibusdam+impedit+consequatur+maxime+ea+quisquam.&exclude_banned_modqueue=False&hide_ads=False&lang=en&link_type=any&over_18=False&public_description=Quod+voluptatum+quia+natus+in+culpa+eligendi+autem.&public_traffic=False&show_media=False&show_media_preview=True&sr=t5_c&submit_text=&title=Laboriosam+debitis+nihil+animi+corrupti.&type=public&wiki_edit_age=0&wiki_edit_karma=0&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 131-sRPq5xzrkjI81lfGtwxcmM9WccU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "865" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=uXp16Iw8QtqxWPx4fk; loidcreated=2018-12-05T19%3A17%3A14.928Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 05 Dec 2018 19:17:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "162" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-12-05T19:17:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 131-sRPq5xzrkjI81lfGtwxcmM9WccU" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=uXp16Iw8QtqxWPx4fk; loidcreated=2018-12-05T19%3A17%3A14.928Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1544037435_id/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"c\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1544037435_id\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEnim perspiciatis porro omnis hic quasi. Dolore possimus sed corporis vitae. Et nemo exercitationem reprehenderit expedita. Alias nam at nulla.\\nPraesentium qui nulla odit. Quas unde dolorum unde recusandae quod ab. Nemo eaque optio dolorum consectetur.\\nMolestias tempora ad iste veritatis autem. Magnam aliquam suscipit sit reiciendis placeat hic accusamus. Magni ad quibusdam impedit consequatur maxime ea quisquam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Laboriosam debitis nihil animi corrupti.\", \"collapse_deleted_comments\": false, \"public_description\": \"Quod voluptatum quia natus in culpa eligendi autem.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuod voluptatum quia natus in culpa eligendi autem.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Enim perspiciatis porro omnis hic quasi. Dolore possimus sed corporis vitae. Et nemo exercitationem reprehenderit expedita. Alias nam at nulla.\\nPraesentium qui nulla odit. Quas unde dolorum unde recusandae quod ab. Nemo eaque optio dolorum consectetur.\\nMolestias tempora ad iste veritatis autem. Magnam aliquam suscipit sit reiciendis placeat hic accusamus. Magni ad quibusdam impedit consequatur maxime ea quisquam.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 5, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 1, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_c\", \"created\": 1544037435.0, \"url\": \"/r/1544037435_id/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1544037435.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"public\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2284" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 05 Dec 2018 19:17:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "162" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=VDVPhT5tc3Y50Rp%2Bt9uu%2F%2FRK0HsLWWe2ZHHpUBGwB1KAJaES5NxQtB9g07mUSMgp6hXdfY7lUxhq21tqQl9LPWWahm6eDt%2Bi" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1544037435_id/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_update_title_non_superuser_forbidden[patch].json b/cassettes/channels.views.channels_test.test_update_title_non_superuser_forbidden[patch].json deleted file mode 100644 index a3e84c400d..0000000000 --- a/cassettes/channels.views.channels_test.test_update_title_non_superuser_forbidden[patch].json +++ /dev/null @@ -1,777 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-12-06T22:17:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CY2SJ3BX6972SDHVZ376F0DX" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0ttBNzgt3jig2Do60NHLM8EgqyvdyDvP0yjfyyA5V0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaF5YcamHoZJfklBZjn55iHJebpxmeEBbql+FqA9KSklmUmp8ZnpoAMhnCUagGyz7vbuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:17:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=CiCJnRlkyWeZyMGZms; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sat, 05-Dec-2020 22:17:33 GMT", - "loidcreated=2018-12-06T22%3A17%3A33.152Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sat, 05-Dec-2020 22:17:33 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CY2SJ3BX6972SDHVZ376F0DX" - } - }, - { - "recorded_at": "2018-12-06T22:17:46", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CiCJnRlkyWeZyMGZms; loidcreated=2018-12-06T22%3A17%3A33.152Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CY2SJ6QFX89TZGM9Z2QNXT2Z" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0ttQNKPOsdPNMNylLSg8qzcgr9M7KyCktKvaPsAhU0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZlVeTH+4alFhV45BnkuSe7+BmFBQSUFfpYRkWC9KSklmUmp8ZnpoAMhnCUagHKcMQiuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:17:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CY2SJ6QFX89TZGM9Z2QNXT2Z" - } - }, - { - "recorded_at": "2018-12-06T22:17:49", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=&link_type=any&name=1544134666_porro&public_description=&title=Minus+illum+excepturi+ipsum+mollitia+culpa.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 138-cnWCXs3SY92AhHbroJCVIJo2HkU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "178" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CiCJnRlkyWeZyMGZms; loidcreated=2018-12-06T22%3A17%3A33.152Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:17:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "140" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-12-06T22:17:49", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CY2SJ6QFX89TZGM9Z2QNXT2Z&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 138-cnWCXs3SY92AhHbroJCVIJo2HkU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CiCJnRlkyWeZyMGZms; loidcreated=2018-12-06T22%3A17%3A33.152Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1544134666_porro/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:17:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "140" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1544134666_porro/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-12-06T22:17:49", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 139-PvIyFIg4vbgRuhnqKjhlursOX8Q" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CiCJnRlkyWeZyMGZms; loidcreated=2018-12-06T22%3A17%3A33.152Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1544134666_porro/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:17:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "140" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1544134666_porro/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-12-06T22:17:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 138-cnWCXs3SY92AhHbroJCVIJo2HkU" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CiCJnRlkyWeZyMGZms; loidcreated=2018-12-06T22%3A17%3A33.152Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1544134666_porro/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"j\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1544134666_porro\", \"header_img\": null, \"description_html\": null, \"title\": \"Minus illum excepturi ipsum mollitia culpa.\", \"collapse_deleted_comments\": false, \"public_description\": \"\", \"over18\": false, \"public_description_html\": null, \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 2, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 1, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_j\", \"created\": 1544134660.0, \"url\": \"/r/1544134666_porro/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1544134660.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1116" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:17:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "140" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=E9PMx6f98LCwJg5sI76x9B1FN3r7PN5ppk6FclYNdnhNNTIAoASM9DwcE7ITpi9zZz1YUej%2FbzeB5%2B%2FIGtaxE5dgBPYlxsS3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1544134666_porro/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-12-06T22:17:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 139-PvIyFIg4vbgRuhnqKjhlursOX8Q" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CiCJnRlkyWeZyMGZms; loidcreated=2018-12-06T22%3A17%3A33.152Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1544134666_porro/about/edit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"subreddit_settings\", \"data\": {\"default_set\": true, \"subreddit_id\": \"t5_j\", \"domain\": null, \"allow_images\": null, \"show_media\": false, \"wiki_edit_age\": 0, \"submit_text\": \"\", \"spam_links\": null, \"title\": \"Minus illum excepturi ipsum mollitia culpa.\", \"collapse_deleted_comments\": false, \"wikimode\": \"disabled\", \"over_18\": false, \"suggested_comment_sort\": null, \"description\": \"\", \"submit_link_label\": null, \"spam_comments\": null, \"spam_selfposts\": null, \"submit_text_label\": null, \"language\": \"en\", \"wiki_edit_karma\": 0, \"hide_ads\": false, \"header_hover_text\": null, \"public_traffic\": false, \"public_description\": \"\", \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"exclude_banned_modqueue\": false, \"content_options\": \"any\"}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "773" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:17:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "140" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=P8P9dqjCFwd4zAPTRn8ZPfPb6mkIY555yYaCCvewikXjxHZf6g8ujrGW2WEI1DpOvhrg6YeSTlq0X04ty1c8PE%2FCx1ij2%2B3I" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1544134666_porro/about/edit/?raw_json=1" - } - }, - { - "recorded_at": "2018-12-06T22:17:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&collapse_deleted_comments=False&comment_score_hide_mins=0&description=&exclude_banned_modqueue=False&hide_ads=False&lang=en&link_type=any&over_18=False&public_description=&public_traffic=False&show_media=False&show_media_preview=True&sr=t5_j&submit_text=&title=Minus+illum+excepturi+ipsum+mollitia+culpa.&type=private&wiki_edit_age=0&wiki_edit_karma=0&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 139-PvIyFIg4vbgRuhnqKjhlursOX8Q" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "398" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CiCJnRlkyWeZyMGZms; loidcreated=2018-12-06T22%3A17%3A33.152Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:17:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "140" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-12-06T22:17:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 139-PvIyFIg4vbgRuhnqKjhlursOX8Q" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CiCJnRlkyWeZyMGZms; loidcreated=2018-12-06T22%3A17%3A33.152Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1544134666_porro/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"j\", \"user_is_contributor\": false, \"submit_text\": \"\", \"display_name\": \"1544134666_porro\", \"header_img\": null, \"description_html\": null, \"title\": \"Minus illum excepturi ipsum mollitia culpa.\", \"collapse_deleted_comments\": false, \"public_description\": \"\", \"over18\": false, \"public_description_html\": null, \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 2, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 1, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_j\", \"created\": 1544134660.0, \"url\": \"/r/1544134666_porro/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1544134660.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": false}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1118" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:17:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "140" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=j5rjQmOV9gj58xIoBg%2FlY%2FvXUk4pBQXW02KEKUu3YmlHZUU2AyLs%2BmZgGyr0MBCADc36wi39Y8ySpT1CXQGzSLyR1e2FdMAG" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1544134666_porro/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.channels_test.test_update_title_non_superuser_forbidden[put].json b/cassettes/channels.views.channels_test.test_update_title_non_superuser_forbidden[put].json deleted file mode 100644 index 927acd1fe8..0000000000 --- a/cassettes/channels.views.channels_test.test_update_title_non_superuser_forbidden[put].json +++ /dev/null @@ -1,955 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-12-06T22:17:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CY2SJDW3QRHD4P45SFQN2Q9G" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0MdA18C91yY5yjA9yLcr3qMzxyjUvCQg3yQ7J9/VU0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZlpniEuJflWgQb6YbkOvu4ViRbGJqlW0a5BpuA9KSklmUmp8ZnpoAMhnCUagEuteIMuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:17:44 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=heHF47KSPvP6Giy4KI; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sat, 05-Dec-2020 22:17:44 GMT", - "loidcreated=2018-12-06T22%3A17%3A43.862Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sat, 05-Dec-2020 22:17:44 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CY2SJDW3QRHD4P45SFQN2Q9G" - } - }, - { - "recorded_at": "2018-12-06T22:17:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=heHF47KSPvP6Giy4KI; loidcreated=2018-12-06T22%3A17%3A43.862Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CY2SJH5MTEG11NEHDZK15W47" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0MdRNzvBLTTPw8HGp8DHy8Yw0igqKD/QsCiwNDrBQ0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaVZwZUWMSHOrskVlUap5qYGean+0W5pBiEZRWD9KSklmUmp8ZnpoAMhnCUagFPD1XOuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:17:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CY2SJH5MTEG11NEHDZK15W47" - } - }, - { - "recorded_at": "2018-12-06T22:18:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=&link_type=any&name=1544134676_officia&public_description=&title=Laboriosam+maiores+inventore+ab+laboriosam.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 140-0OuDkZA_REroHylJm7tPW4kToMI" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "180" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=heHF47KSPvP6Giy4KI; loidcreated=2018-12-06T22%3A17%3A43.862Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:17:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "130" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-12-06T22:18:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CY2SJH5MTEG11NEHDZK15W47&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 140-0OuDkZA_REroHylJm7tPW4kToMI" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=heHF47KSPvP6Giy4KI; loidcreated=2018-12-06T22%3A17%3A43.862Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1544134676_officia/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:17:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "130" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1544134676_officia/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-12-06T22:18:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 141-chNef0HLDxL2LIY2ZR_QIrQuSP8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=heHF47KSPvP6Giy4KI; loidcreated=2018-12-06T22%3A17%3A43.862Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1544134676_officia/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:17:51 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "130" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1544134676_officia/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-12-06T22:18:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 140-0OuDkZA_REroHylJm7tPW4kToMI" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=heHF47KSPvP6Giy4KI; loidcreated=2018-12-06T22%3A17%3A43.862Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1544134676_officia/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"k\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1544134676_officia\", \"header_img\": null, \"description_html\": null, \"title\": \"Laboriosam maiores inventore ab laboriosam.\", \"collapse_deleted_comments\": false, \"public_description\": \"\", \"over18\": false, \"public_description_html\": null, \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 4, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 1, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_k\", \"created\": 1544134670.0, \"url\": \"/r/1544134676_officia/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1544134670.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1120" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:17:51 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "129" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=BoIoO8L0amRVCHbEdtMQQl1OiU3G8W0rf07PPIh0sAL4K5EL8NOrg8mWrNG8VXMWM1ZIqL%2B1gF7eni1%2BZQr07n%2FlRZ8ZLfX2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1544134676_officia/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-12-06T22:18:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 141-chNef0HLDxL2LIY2ZR_QIrQuSP8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=heHF47KSPvP6Giy4KI; loidcreated=2018-12-06T22%3A17%3A43.862Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1544134676_officia/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"k\", \"user_is_contributor\": false, \"submit_text\": \"\", \"display_name\": \"1544134676_officia\", \"header_img\": null, \"description_html\": null, \"title\": \"Laboriosam maiores inventore ab laboriosam.\", \"collapse_deleted_comments\": false, \"public_description\": \"\", \"over18\": false, \"public_description_html\": null, \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 4, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 1, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_k\", \"created\": 1544134670.0, \"url\": \"/r/1544134676_officia/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1544134670.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": false}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1122" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:18:22 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "98" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=%2Fiw82g5q%2F7XaSriFKTY9ipp058qScLEBbbgSGfaf%2FVvNcrx20k6OKbVwNobsJY9mkR26zBMjPor972Q4xiT%2B7ONsHW48Cw7p" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1544134676_officia/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-12-06T22:18:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 141-chNef0HLDxL2LIY2ZR_QIrQuSP8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=heHF47KSPvP6Giy4KI; loidcreated=2018-12-06T22%3A17%3A43.862Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1544134676_officia/about/edit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"subreddit_settings\", \"data\": {\"default_set\": true, \"subreddit_id\": \"t5_k\", \"domain\": null, \"allow_images\": null, \"show_media\": false, \"wiki_edit_age\": 0, \"submit_text\": \"\", \"spam_links\": null, \"title\": \"Laboriosam maiores inventore ab laboriosam.\", \"collapse_deleted_comments\": false, \"wikimode\": \"disabled\", \"over_18\": false, \"suggested_comment_sort\": null, \"description\": \"\", \"submit_link_label\": null, \"spam_comments\": null, \"spam_selfposts\": null, \"submit_text_label\": null, \"language\": \"en\", \"wiki_edit_karma\": 0, \"hide_ads\": false, \"header_hover_text\": null, \"public_traffic\": false, \"public_description\": \"\", \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"exclude_banned_modqueue\": false, \"content_options\": \"any\"}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "773" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:18:22 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "98" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=pQki1JV%2FNbhvxemguwS7jsHN1LUG%2B0xeyqOnJP0s8MnVsbkA%2BonJK8N5s1SwCy0RY17%2Fgy39Pql3I0HipikVfnpP8EiywXMQ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1544134676_officia/about/edit/?raw_json=1" - } - }, - { - "recorded_at": "2018-12-06T22:18:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&collapse_deleted_comments=False&comment_score_hide_mins=0&description=&exclude_banned_modqueue=False&hide_ads=False&lang=en&link_type=any&over_18=False&public_description=&public_traffic=False&show_media=False&show_media_preview=True&sr=t5_k&submit_text=&title=Laboriosam+maiores+inventore+ab+laboriosam.&type=private&wiki_edit_age=0&wiki_edit_karma=0&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 141-chNef0HLDxL2LIY2ZR_QIrQuSP8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "398" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=heHF47KSPvP6Giy4KI; loidcreated=2018-12-06T22%3A17%3A43.862Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:18:22 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "98" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-12-06T22:18:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 141-chNef0HLDxL2LIY2ZR_QIrQuSP8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=heHF47KSPvP6Giy4KI; loidcreated=2018-12-06T22%3A17%3A43.862Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1544134676_officia/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"k\", \"user_is_contributor\": false, \"submit_text\": \"\", \"display_name\": \"1544134676_officia\", \"header_img\": null, \"description_html\": null, \"title\": \"Laboriosam maiores inventore ab laboriosam.\", \"collapse_deleted_comments\": false, \"public_description\": \"\", \"over18\": false, \"public_description_html\": null, \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 4, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 1, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_k\", \"created\": 1544134670.0, \"url\": \"/r/1544134676_officia/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1544134670.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": false}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1122" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:18:22 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "98" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=X6WBot0Q8NlZ%2BCVYpqjU%2B2zaISHQjTQGpg0Wodyuo77nx%2FmQL14rKNqPmbmUII10wZ6oJt%2Fia9XPMCv6PVFSW80yh6hNwQTE" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1544134676_officia/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-12-06T22:18:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 141-chNef0HLDxL2LIY2ZR_QIrQuSP8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=heHF47KSPvP6Giy4KI; loidcreated=2018-12-06T22%3A17%3A43.862Z" - ], - "User-Agent": [ - "MIT-Open: 0.55.3 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1544134676_officia/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"k\", \"user_is_contributor\": false, \"submit_text\": \"\", \"display_name\": \"1544134676_officia\", \"header_img\": null, \"description_html\": null, \"title\": \"Laboriosam maiores inventore ab laboriosam.\", \"collapse_deleted_comments\": false, \"public_description\": \"\", \"over18\": false, \"public_description_html\": null, \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 4, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 1, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_k\", \"created\": 1544134670.0, \"url\": \"/r/1544134676_officia/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1544134670.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": false}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1122" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 06 Dec 2018 22:18:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "98" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=qh2NOndDKHZcwpboCqYun83aisX6e27X0sjFEODT5l5NYL80o%2BpL99MBoQ41lppL3SyqsJeqlTBNQ2tr2abJi0UX%2BV%2BJ%2BPbE" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1544134676_officia/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_create_comment[extra_params0-extra_expected0-1].json b/cassettes/channels.views.comments_test.test_create_comment[extra_params0-extra_expected0-1].json deleted file mode 100644 index 661caf3ca2..0000000000 --- a/cassettes/channels.views.comments_test.test_create_comment[extra_params0-extra_expected0-1].json +++ /dev/null @@ -1,780 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T21:53:47", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPNH7V5H6H0QW9CD03CCTK" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDK21C0NyrcstfA1c/f1Cs4PcHIuDPXz9crI9khxL1bSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolqUEG7gY+/uWeDuZm3qWe7onu+bEm2YFJrn7moC0pKSWZSanxmemgMyFcJRqAUnwya62AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:53:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=VjDmZHRsRN5QtLXVky; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:53:47 GMT", - "loidcreated=2020-07-28T21%3A53%3A46.701Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:53:47 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPNH7V5H6H0QW9CD03CCTK" - } - }, - { - "recorded_at": "2020-07-28T21:53:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=VjDmZHRsRN5QtLXVky; loidcreated=2020-07-28T21%3A53%3A46.701Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPNMGM2YNRGZAJEKHJQ9WN" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIx0A238PR2DCoPdKsosfSz9NU1iCwO9khOKS/Nc1TSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkoljk5RwYHp7gZleUnVVY6+vv65kQGeVmEGpV4lIO0pKSWZSanxmemgMyFcJRqAVhByk62AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:53:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPNMGM2YNRGZAJEKHJQ9WN" - } - }, - { - "recorded_at": "2020-07-28T21:53:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Relate+actually+accept+success+listen.+Democrat+speech+as+ready.+Land+truth+inside+professor+however+worry+ago.%0AAct+news+deal+college+window+minute.+Worry+natural+avoid+foot+really+charge+finally.+Read+these+first+group+event+parent.%0AHeart+program+executive+likely+person+why+happen+like.+Tough+east+up+worry+television+deep.+Second+keep+parent+dinner+hear.+Laugh+available+goal+price+center.&link_type=any&name=1595973230_9_especial&public_description=Country+instead+accept+expect+election.&title=Live+garden+behind+more+common.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 40-W8IKARwQFxt9N9M-0YsSHcdwunA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "606" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=VjDmZHRsRN5QtLXVky; loidcreated=2020-07-28T21%3A53%3A46.701Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:53:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "370" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:53:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBPNH7V5H6H0QW9CD03CCTK&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 40-W8IKARwQFxt9N9M-0YsSHcdwunA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=VjDmZHRsRN5QtLXVky; loidcreated=2020-07-28T21%3A53%3A46.701Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595973230_9_especial/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:53:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "367" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973230_9_especial/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:53:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595973230_9_especial" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 39-uRo9u8M6GMJSoPBCqUNMJhkHdGs" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "80" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=VjDmZHRsRN5QtLXVky; loidcreated=2020-07-28T21%3A53%3A46.701Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:53:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "367" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:53:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595973230_9_especial&text=Film+eye+nor+create+somebody.+Memory+move+everyone+now+more+modern+south.&title=Similar+ever+night." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 39-uRo9u8M6GMJSoPBCqUNMJhkHdGs" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "184" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=VjDmZHRsRN5QtLXVky; loidcreated=2020-07-28T21%3A53%3A46.701Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595973230_9_especial/comments/k/similar_ever_night/\", \"id\": \"k\", \"name\": \"t3_k\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "147" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:53:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "367" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:53:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 39-uRo9u8M6GMJSoPBCqUNMJhkHdGs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=VjDmZHRsRN5QtLXVky; loidcreated=2020-07-28T21%3A53%3A46.701Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/k/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595973230_9_especial\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EFilm eye nor create somebody. Memory move everyone now more modern south.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Film eye nor create somebody. Memory move everyone now more modern south.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"k\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBPNH7V5H6H0QW9CD03CCTK\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595973230_9_especial\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_e\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595973230_9_especial/comments/k/similar_ever_night/\", \"locked\": false, \"name\": \"t3_k\", \"created\": 1595973233.0, \"url\": \"http://reddit.local/r/1595973230_9_especial/comments/k/similar_ever_night/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Similar ever night.\", \"created_utc\": 1595973233.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1682" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:53:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "367" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=rXxioZ%2FvJqYH9baWZTFI4sRmOnt3hMSKepLYLl2hXaYEHM0xFBKUvk4unQ%2B27aJOowT%2BfcUf3idFVzh2peT8zBUKNsoWl3mo" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/k/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:53:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=reply_to_post+2&thing_id=t3_k" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 39-uRo9u8M6GMJSoPBCqUNMJhkHdGs" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "48" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=VjDmZHRsRN5QtLXVky; loidcreated=2020-07-28T21%3A53%3A46.701Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_e\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_k\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"20\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EEBPNH7V5H6H0QW9CD03CCTK\", \"parent_id\": \"t3_k\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"reply_to_post 2\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ereply_to_post 2\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973230_9_especial\", \"score_hidden\": false, \"name\": \"t1_20\", \"created\": 1595973236.0, \"author_flair_text\": null, \"created_utc\": 1595973236.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "834" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:53:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "364" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:53:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 39-uRo9u8M6GMJSoPBCqUNMJhkHdGs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=VjDmZHRsRN5QtLXVky; loidcreated=2020-07-28T21%3A53%3A46.701Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595973230_9_especial/about/moderators/?user=01EEBPNH7V5H6H0QW9CD03CCTK&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:53:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "364" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=wolAu%2BsYrC8RWHOxCeiXuhbGHLZfZ9pEaqGMXmSt1SOWrF%2FRge0W5lvlfWA%2FFRBTIazoAvonOt7DEfkHK1a4bt6JFlRVwb6K" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973230_9_especial/about/moderators/?user=01EEBPNH7V5H6H0QW9CD03CCTK&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_create_comment[extra_params1-extra_expected1-0].json b/cassettes/channels.views.comments_test.test_create_comment[extra_params1-extra_expected1-0].json deleted file mode 100644 index e41c5810fd..0000000000 --- a/cassettes/channels.views.comments_test.test_create_comment[extra_params1-extra_expected1-0].json +++ /dev/null @@ -1,961 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T21:54:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPNY3B2C7PN3TR4A8021Y7" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIx1HXMjih3c3PPK8nPsTQLLs/JjDRxiXCxzPfydFXSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkollkWGYdFBRjnZDg7R7q7eHo7VYRHZhrp5htVGYC0pKSWZSanxmemgMyFcJRqAdQHdhO2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=JAtebRjQWt4MBJ8RNy; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:54:00 GMT", - "loidcreated=2020-07-28T21%3A53%3A59.853Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:54:00 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPNY3B2C7PN3TR4A8021Y7" - } - }, - { - "recorded_at": "2020-07-28T21:54:03", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=JAtebRjQWt4MBJ8RNy; loidcreated=2020-07-28T21%3A53%3A59.853Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPP1BZKWGW8CCR1ZM5CGX3" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIx0vUIDMpPM4rXzalIDy0wLK2wNA0JCqsMyjUKC1TSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolsVbJBk6mlW5hQdY5lf6ZuXklDkbBvq7VwTmhYK0pKSWZSanxmemgMyFcJRqAd+vyHG2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:03 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPP1BZKWGW8CCR1ZM5CGX3" - } - }, - { - "recorded_at": "2020-07-28T21:54:03", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Lose+third+enough+night+mission.+Themselves+attack+low+brother.+Might+break+today+author+or+north.%0AConsumer+answer+color+floor+bed+another+move+fear.+Teach+land+whom+service+laugh+chair+control.+White+attack+food+size+recently+friend.%0AEffort+including+citizen+improve+Democrat.+Election+data+audience+experience+individual+scene.%0ASo+health+only+fight+strong+condition+successful.+Analysis+country+just+Congress+hot+seven.%0AAlmost+game+difference+around+child.+Buy+defense+give+laugh+card.&link_type=any&name=1595973243_10_able&public_description=Last+war+action+relate+religious.+Market+Mrs+who+might+do.&title=Watch+part+show+money+study.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 42-HQRof2_-lxgUp1ux95TRVyRm2VQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "718" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JAtebRjQWt4MBJ8RNy; loidcreated=2020-07-28T21%3A53%3A59.853Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:03 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "357" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBPNY3B2C7PN3TR4A8021Y7&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 42-HQRof2_-lxgUp1ux95TRVyRm2VQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JAtebRjQWt4MBJ8RNy; loidcreated=2020-07-28T21%3A53%3A59.853Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595973243_10_able/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "354" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973243_10_able/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595973243_10_able" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 41-AkXwFFGntol96SwliY4DXD9oJIE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "77" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JAtebRjQWt4MBJ8RNy; loidcreated=2020-07-28T21%3A53%3A59.853Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "354" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595973243_10_able&text=Kid+under+evening+region.+Certain+future+fight+land+fast+course+level.+Raise+race+too+religious.&title=Out+voice+through+tree+forward+large+would." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 41-AkXwFFGntol96SwliY4DXD9oJIE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "228" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JAtebRjQWt4MBJ8RNy; loidcreated=2020-07-28T21%3A53%3A59.853Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595973243_10_able/comments/l/out_voice_through_tree_forward_large_would/\", \"id\": \"l\", \"name\": \"t3_l\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "168" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "354" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 41-AkXwFFGntol96SwliY4DXD9oJIE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=JAtebRjQWt4MBJ8RNy; loidcreated=2020-07-28T21%3A53%3A59.853Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/l/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595973243_10_able\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EKid under evening region. Certain future fight land fast course level. Raise race too religious.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Kid under evening region. Certain future fight land fast course level. Raise race too religious.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"l\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBPNY3B2C7PN3TR4A8021Y7\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595973243_10_able\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_f\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595973243_10_able/comments/l/out_voice_through_tree_forward_large_would/\", \"locked\": false, \"name\": \"t3_l\", \"created\": 1595973246.0, \"url\": \"http://reddit.local/r/1595973243_10_able/comments/l/out_voice_through_tree_forward_large_would/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Out voice through tree forward large would.\", \"created_utc\": 1595973246.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1788" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "354" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=UtXtuHAhyagmz%2FIvD679rcf2p%2F6Qq8ANQ%2Bwh3rgsVNblQPzGJsMWschA2JISgAGB%2FSeqVcCrYiXAn8R0%2BbwTgq2zXBsP4Zr3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/l/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=reply_to_post+2&thing_id=t3_l" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 41-AkXwFFGntol96SwliY4DXD9oJIE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "48" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JAtebRjQWt4MBJ8RNy; loidcreated=2020-07-28T21%3A53%3A59.853Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_f\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_l\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"21\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EEBPNY3B2C7PN3TR4A8021Y7\", \"parent_id\": \"t3_l\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"reply_to_post 2\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ereply_to_post 2\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973243_10_able\", \"score_hidden\": false, \"name\": \"t1_21\", \"created\": 1595973249.0, \"author_flair_text\": null, \"created_utc\": 1595973249.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "831" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "351" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&dir=0&id=t1_21" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 41-AkXwFFGntol96SwliY4DXD9oJIE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "28" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JAtebRjQWt4MBJ8RNy; loidcreated=2020-07-28T21%3A53%3A59.853Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/vote/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "350" - ], - "x-ratelimit-used": [ - "5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/vote/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 41-AkXwFFGntol96SwliY4DXD9oJIE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=JAtebRjQWt4MBJ8RNy; loidcreated=2020-07-28T21%3A53%3A59.853Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595973243_10_able/about/moderators/?user=01EEBPNY3B2C7PN3TR4A8021Y7&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "350" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=OkKfrv9PNwS%2FXoJ6qJp4zLBfbklLGtiBvTuB6g3orkE%2FEfugvjNgYGpP3ZbgOzVNdkNgejWZpurT4Cem7frb9YXlJzhd6vh7" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973243_10_able/about/moderators/?user=01EEBPNY3B2C7PN3TR4A8021Y7&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 41-AkXwFFGntol96SwliY4DXD9oJIE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=JAtebRjQWt4MBJ8RNy; loidcreated=2020-07-28T21%3A53%3A59.853Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_21&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_f\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_l\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"21\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EEBPNY3B2C7PN3TR4A8021Y7\", \"parent_id\": \"t3_l\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"reply_to_post 2\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ereply_to_post 2\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973243_10_able\", \"score_hidden\": false, \"name\": \"t1_21\", \"created\": 1595973249.0, \"author_flair_text\": null, \"created_utc\": 1595973249.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "876" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "350" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=h%2FGzKOxwwCmmyA8GdlfO5a6ndJqrjGPgMQFEMYN1xZ1%2FfhNUtSs0zYPd7NsGzAXeEpCY2C6Y6b4%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_21&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_create_comment[extra_params2-extra_expected2--1].json b/cassettes/channels.views.comments_test.test_create_comment[extra_params2-extra_expected2--1].json deleted file mode 100644 index ac97e30e02..0000000000 --- a/cassettes/channels.views.comments_test.test_create_comment[extra_params2-extra_expected2--1].json +++ /dev/null @@ -1,961 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T21:54:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPPB2RB5RWBTF4QY72RD53" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNSwuCQBSF/4rMMgoMJaKdoxFFiC10OzjjNS895iWhRP89b65ano/znfNmtVLgvej1DZ5sF7A4WlXdmBTp6WBMzjEu84fos1Lc5aW9smXAYDDowAukfrQJw4n9dNGPBmhDQu3AUdcrPaMFJQftJHZ/Z0W1HZBLV2c6tXZ9tond87BBK4+kNPBCBQIb2p0D+3wB/ceCt7YAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=lmr3cd5l5z6sq0cwUZ; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:54:13 GMT", - "loidcreated=2020-07-28T21%3A54%3A13.162Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:54:13 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPPB2RB5RWBTF4QY72RD53" - } - }, - { - "recorded_at": "2020-07-28T21:54:16", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=lmr3cd5l5z6sq0cwUZ; loidcreated=2020-07-28T21%3A54%3A13.162Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPPEAG1Y4DVTRKC2EATC6W" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIx0c0s8DB2KQ02ifSO9zYuNA41DM50N4oIdg0JMVHSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolgUaFCSFZ5rlVEZEeVRWZXmlWgRWRpaFF4Zk+4K0pKSWZSanxmemgMyFcJRqAcunaru2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPPEAG1Y4DVTRKC2EATC6W" - } - }, - { - "recorded_at": "2020-07-28T21:54:16", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=In+campaign+image+goal+price+sell+much.+Marriage+determine+receive+great.+Will+think+right+discover+reality+or+soldier.%0AResponse+camera+hotel+something.%0AUnder+reveal+expect+yeah+necessary.+Meeting+southern+beat+ground.+Measure+their+nature+new+politics.%0ADecision+eye+hand+section+appear.+Leg+speak+scientist+administration+we.+Form+answer+stage+appear.%0AUpon+picture+case+give+race.+Million+now+spring+big.+Past+treatment+expert.%0APower+wall+matter.+Structure+blue+tough+national.&link_type=any&name=1595973256_11_help&public_description=End+past+message.+Action+people+threat+hope+financial.&title=Though+owner+throughout+civil+manage+keep+writer.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 44-ipH3DuS4YK_K3q3U1SiG2XSETT4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "728" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=lmr3cd5l5z6sq0cwUZ; loidcreated=2020-07-28T21%3A54%3A13.162Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "344" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBPPB2RB5RWBTF4QY72RD53&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 44-ipH3DuS4YK_K3q3U1SiG2XSETT4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=lmr3cd5l5z6sq0cwUZ; loidcreated=2020-07-28T21%3A54%3A13.162Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595973256_11_help/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "341" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973256_11_help/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595973256_11_help" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 43-VhyAPCJGppNBi4UNm_tDU_lbQfg" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "77" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=lmr3cd5l5z6sq0cwUZ; loidcreated=2020-07-28T21%3A54%3A13.162Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "341" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595973256_11_help&text=Health+middle+court+issue+general+want+hotel+page.&title=Cell+try+exactly+in+practice+institution+stuff." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 43-VhyAPCJGppNBi4UNm_tDU_lbQfg" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "186" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=lmr3cd5l5z6sq0cwUZ; loidcreated=2020-07-28T21%3A54%3A13.162Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595973256_11_help/comments/m/cell_try_exactly_in_practice_institution_stuff/\", \"id\": \"m\", \"name\": \"t3_m\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "340" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 43-VhyAPCJGppNBi4UNm_tDU_lbQfg" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=lmr3cd5l5z6sq0cwUZ; loidcreated=2020-07-28T21%3A54%3A13.162Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/m/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595973256_11_help\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EHealth middle court issue general want hotel page.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Health middle court issue general want hotel page.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"m\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBPPB2RB5RWBTF4QY72RD53\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595973256_11_help\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_g\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595973256_11_help/comments/m/cell_try_exactly_in_practice_institution_stuff/\", \"locked\": false, \"name\": \"t3_m\", \"created\": 1595973260.0, \"url\": \"http://reddit.local/r/1595973256_11_help/comments/m/cell_try_exactly_in_practice_institution_stuff/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Cell try exactly in practice institution stuff.\", \"created_utc\": 1595973260.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1708" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "340" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ibImVH8HH%2F9dQkVUeiaupx%2FN0OgjCR2b%2BWPBQz74nQZD9DhLP%2BjByYqfNETUXZs2mm4%2BBCqn4xE14T4bhrVgxR%2BYQhRgSl%2F6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/m/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=reply_to_post+2&thing_id=t3_m" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 43-VhyAPCJGppNBi4UNm_tDU_lbQfg" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "48" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=lmr3cd5l5z6sq0cwUZ; loidcreated=2020-07-28T21%3A54%3A13.162Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_g\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_m\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"22\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EEBPPB2RB5RWBTF4QY72RD53\", \"parent_id\": \"t3_m\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"reply_to_post 2\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ereply_to_post 2\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973256_11_help\", \"score_hidden\": false, \"name\": \"t1_22\", \"created\": 1595973263.0, \"author_flair_text\": null, \"created_utc\": 1595973263.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "831" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "337" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&dir=-1&id=t1_22" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 43-VhyAPCJGppNBi4UNm_tDU_lbQfg" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "29" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=lmr3cd5l5z6sq0cwUZ; loidcreated=2020-07-28T21%3A54%3A13.162Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/vote/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "337" - ], - "x-ratelimit-used": [ - "5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/vote/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 43-VhyAPCJGppNBi4UNm_tDU_lbQfg" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=lmr3cd5l5z6sq0cwUZ; loidcreated=2020-07-28T21%3A54%3A13.162Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595973256_11_help/about/moderators/?user=01EEBPPB2RB5RWBTF4QY72RD53&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "337" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=u1y9z5369FZ6D7LwSceFsXJAnnpEtyMwcsc4KeccNs4HDbN6hEoB%2BRsZ06bbvJkD58xR4hVt1Gh%2BaQiuwVF2GfivRm4hyWYQ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973256_11_help/about/moderators/?user=01EEBPPB2RB5RWBTF4QY72RD53&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 43-VhyAPCJGppNBi4UNm_tDU_lbQfg" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=lmr3cd5l5z6sq0cwUZ; loidcreated=2020-07-28T21%3A54%3A13.162Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_22&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_g\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_m\", \"likes\": false, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"22\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EEBPPB2RB5RWBTF4QY72RD53\", \"parent_id\": \"t3_m\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"reply_to_post 2\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ereply_to_post 2\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973256_11_help\", \"score_hidden\": false, \"name\": \"t1_22\", \"created\": 1595973263.0, \"author_flair_text\": null, \"created_utc\": 1595973263.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "877" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "337" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=DoiI0wrOdwG9wORfLL9bkABstZiMDN9rlJBgz6aB2B1IQM1VyLTGKJMCZ9E8SNGUvCxJX2jDwkI%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_22&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_create_comment_anonymous.json b/cassettes/channels.views.comments_test.test_create_comment_anonymous.json deleted file mode 100644 index 21e7b446cc..0000000000 --- a/cassettes/channels.views.comments_test.test_create_comment_anonymous.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "http_interactions": [], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_create_comment_forbidden.json b/cassettes/channels.views.comments_test.test_create_comment_forbidden.json deleted file mode 100644 index 3ec839a75a..0000000000 --- a/cassettes/channels.views.comments_test.test_create_comment_forbidden.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T21:54:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPPQYEACBSE2KCY6DTQD26" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIx1c1wT7aMLA/JN/LyjYpKczcxrXCucE7K88woNFHSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolpWkpegaV1Y65WR6xmdUuvrnOqU6hRQ6mpibl4O0pKSWZSanxmemgMyFcJRqAQ8ei7y2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=VoCZa1WfnSoM8lFNoV; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:54:26 GMT", - "loidcreated=2020-07-28T21%3A54%3A26.320Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:54:26 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPPQYEACBSE2KCY6DTQD26" - } - }, - { - "recorded_at": "2020-07-28T21:54:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=reply_to_post+2&thing_id=t3_adc" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 45-hGc9YwTo2JMZZfG45xCxCbnIhq4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "50" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=VoCZa1WfnSoM8lFNoV; loidcreated=2020-07-28T21%3A54%3A26.320Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"message\": \"Forbidden\", \"error\": 403}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "38" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "334" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 403, - "message": "Forbidden" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_create_comment_moderator.json b/cassettes/channels.views.comments_test.test_create_comment_moderator.json deleted file mode 100644 index c33e70a264..0000000000 --- a/cassettes/channels.views.comments_test.test_create_comment_moderator.json +++ /dev/null @@ -1,964 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-29T00:09:03", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBYD7C007T0X87E4Z5183FP" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0NNENjDAKKy1zS/XxDcuITDQySTLPDM+zLC/wMfVV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLbFB1gEh2dY+jhnBheUhli4F6cah1V6GJUWRmSD9KSklmUmp8ZnpoAMhnCUagFHCe/HuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:09:03 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=g7A94xF8nw9aU4gfi4; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 29-Jul-2022 00:09:03 GMT", - "loidcreated=2020-07-29T00%3A09%3A03.037Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 29-Jul-2022 00:09:03 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBYD7C007T0X87E4Z5183FP" - } - }, - { - "recorded_at": "2020-07-29T00:09:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=g7A94xF8nw9aU4gfi4; loidcreated=2020-07-29T00%3A09%3A03.037Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBYDB4GB1S20C7JPS993JMN" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNXQvCIBiF/8rwMhJcMRld1wxW0QcMuhKnbyWr3FRiEv33Zrvq8jyc55w3ElKCc9ybBp5okaA0zfAsKzqgSh59KKu6VJhX6+tqm/f0jKYJgr7VFhzXUZhTQgb287kPLcSRGoQFG7tOmhFNYrJwGcTb/xuFmuVsfxCbuyB8h1nQ3emxtI1x0VHw0hK4VnF4DOjzBQK80xS4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:09:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBYDB4GB1S20C7JPS993JMN" - } - }, - { - "recorded_at": "2020-07-29T00:09:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Page+middle+sport+service.+Case+determine+shoulder+spring.%0ADegree+game+specific+drop.+Bed+trial+nice+computer+dark.+Interesting+final+sell+rest+despite.%0ALeg+single+order+mouth.+Stop+close+minute+spring+leader.+Nation+boy+herself.%0AEast+sit+poor+question.+Son+easy+who+not+control.%0AOnto+hold+bring+today+staff+opportunity+power+different.+Ahead+face+risk+find+indeed+whose+agree.%0AGet+word+sport+man+leg.+Cover+name+avoid+paper+enter+of+data.+Relate+know+maybe+run+local.&link_type=any&name=1595981347_12_choose&public_description=Impact+determine+crime+teacher+high.+Who+listen+brother+skin.&title=Network+box+finally+discuss+hotel.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 115-25Fqe6dcRtyKVbKd-_VHgEM8x6Y" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "712" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=g7A94xF8nw9aU4gfi4; loidcreated=2020-07-29T00%3A09%3A03.037Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:09:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "53" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-29T00:09:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBYD7C007T0X87E4Z5183FP&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 115-25Fqe6dcRtyKVbKd-_VHgEM8x6Y" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=g7A94xF8nw9aU4gfi4; loidcreated=2020-07-29T00%3A09%3A03.037Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595981347_12_choose/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:09:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "49" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595981347_12_choose/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-29T00:09:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595981347_12_choose" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 114-QX2VuvFeLMVhYa24b7iWn9wpL5M" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=g7A94xF8nw9aU4gfi4; loidcreated=2020-07-29T00%3A09%3A03.037Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:09:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "49" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-29T00:09:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBYD7C007T0X87E4Z5183FP&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 115-25Fqe6dcRtyKVbKd-_VHgEM8x6Y" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=g7A94xF8nw9aU4gfi4; loidcreated=2020-07-29T00%3A09%3A03.037Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595981347_12_choose/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:09:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "49" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595981347_12_choose/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-29T00:09:12", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 114-QX2VuvFeLMVhYa24b7iWn9wpL5M" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=g7A94xF8nw9aU4gfi4; loidcreated=2020-07-29T00%3A09%3A03.037Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595981347_12_choose/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:09:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "49" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595981347_12_choose/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2020-07-29T00:09:12", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595981347_12_choose&text=Doctor+put+born+stock+head+even+possible+war.+Of+I+week+add.&title=Especially+require+gas+lead." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 114-QX2VuvFeLMVhYa24b7iWn9wpL5M" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "179" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=g7A94xF8nw9aU4gfi4; loidcreated=2020-07-29T00%3A09%3A03.037Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595981347_12_choose/comments/1f/especially_require_gas_lead/\", \"id\": \"1f\", \"name\": \"t3_1f\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "158" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:09:12 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "48" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-29T00:09:12", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 114-QX2VuvFeLMVhYa24b7iWn9wpL5M" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=g7A94xF8nw9aU4gfi4; loidcreated=2020-07-29T00%3A09%3A03.037Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1f/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595981347_12_choose\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDoctor put born stock head even possible war. Of I week add.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Doctor put born stock head even possible war. Of I week add.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1f\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [], \"author\": \"01EEBYD7C007T0X87E4Z5183FP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595981347_12_choose\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1b\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595981347_12_choose/comments/1f/especially_require_gas_lead/\", \"locked\": false, \"name\": \"t3_1f\", \"created\": 1595981352.0, \"url\": \"http://reddit.local/r/1595981347_12_choose/comments/1f/especially_require_gas_lead/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Especially require gas lead.\", \"created_utc\": 1595981352.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1679" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:09:12 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "48" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=SXcpEZ%2BCxsEQBYbygEq1epzHpxvkBXAGtXIVoC9T6A3b%2B7jDdU1Cj6j6GF0z00caGkimHkgZJ8%2Bjyv1K9KbOKCuCVoLJrS7L" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1f/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-29T00:09:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=reply_to_post+2&thing_id=t3_1f" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 114-QX2VuvFeLMVhYa24b7iWn9wpL5M" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "49" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=g7A94xF8nw9aU4gfi4; loidcreated=2020-07-29T00%3A09%3A03.037Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_1b\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1f\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2g\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01EEBYD7C007T0X87E4Z5183FP\", \"parent_id\": \"t3_1f\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"reply_to_post 2\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ereply_to_post 2\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595981347_12_choose\", \"score_hidden\": false, \"name\": \"t1_2g\", \"created\": 1595981355.0, \"author_flair_text\": null, \"created_utc\": 1595981355.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": 0, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "831" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:09:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "45" - ], - "x-ratelimit-used": [ - "5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-29T00:09:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 114-QX2VuvFeLMVhYa24b7iWn9wpL5M" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=g7A94xF8nw9aU4gfi4; loidcreated=2020-07-29T00%3A09%3A03.037Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595981347_12_choose/about/moderators/?user=01EEBYD7C007T0X87E4Z5183FP&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1595981351.0, \"mod_permissions\": [\"all\"], \"name\": \"01EEBYD7C007T0X87E4Z5183FP\", \"id\": \"t2_36\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:09:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "45" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=wRObxzIOatyeZ5EL6qBuK3LrKYCxGFcXZsHF1qlVAEidIx8%2B0WlMHLIgC4xpz5CbkAu6WlHO3dkZrMef7lV3P1GlTZp8fYL%2F" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595981347_12_choose/about/moderators/?user=01EEBYD7C007T0X87E4Z5183FP&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_create_comment_not_found.json b/cassettes/channels.views.comments_test.test_create_comment_not_found.json deleted file mode 100644 index 4574e22f88..0000000000 --- a/cassettes/channels.views.comments_test.test_create_comment_not_found.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T21:54:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPPV8YQNTRK7SQ936G6269" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIx000vcDU2Ms02NfLPSvcwTcvLrTRLLfXNSjYKLVbSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkoljkZlYSWOgX7Rwal5afHZxuap3r6FhXFG+Q4loO0pKSWZSanxmemgMyFcJRqAW5pvdC2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=ntqbdC9R3l23EpYTiV; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:54:30 GMT", - "loidcreated=2020-07-28T21%3A54%3A29.729Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:54:30 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPPV8YQNTRK7SQ936G6269" - } - }, - { - "recorded_at": "2020-07-28T21:54:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=reply_to_post+2&thing_id=t3_missing" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 46-gpE325k52OjgH5fnmy6euMjc2Us" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "54" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ntqbdC9R3l23EpYTiV; loidcreated=2020-07-28T21%3A54%3A29.729Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"message\": \"Forbidden\", \"error\": 403}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "38" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "330" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 403, - "message": "Forbidden" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_create_comment_reply_to_comment.json b/cassettes/channels.views.comments_test.test_create_comment_reply_to_comment.json deleted file mode 100644 index 7506ade76d..0000000000 --- a/cassettes/channels.views.comments_test.test_create_comment_reply_to_comment.json +++ /dev/null @@ -1,872 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T21:54:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPPYMQWNAR3SA8JY0DYXY4" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIx100OLs5KCrQwdNT19XN1cSvzyMpKMs/zMys39lXSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolqUHBngVBpenuPsHF6cYGYdZGLkHRVYkeYQWR4K0pKSWZSanxmemgMyFcJRqAfoTDtW2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=iOORmVCWMe7flbrTa2; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:54:33 GMT", - "loidcreated=2020-07-28T21%3A54%3A33.178Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:54:33 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPPYMQWNAR3SA8JY0DYXY4" - } - }, - { - "recorded_at": "2020-07-28T21:54:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=iOORmVCWMe7flbrTa2; loidcreated=2020-07-28T21%3A54%3A33.178Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPQ1YM6J1VK48VW7CP0XWC" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDKx0A0P8aiKSnd1cks0dnZxLowq8MzLTLHwCfd1j1TSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolpX7pHkGO7rnhMbHZxblpmYlF6Um5QR4Bbm4p4O0pKSWZSanxmemgMyFcJRqAUS0vs62AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPQ1YM6J1VK48VW7CP0XWC" - } - }, - { - "recorded_at": "2020-07-28T21:54:37", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Fly+politics+building+according+carry.+Card+little+discuss.+Recently+dog+little.%0ADrug+piece+concern+cause+girl.+Report+wife+him+able+a+word.%0ADraw+seem+these+customer+evening+station+indeed.+One+citizen+window+bring+especially+room+coach.%0AThis+stuff+ten+over.+Process+common+law+memory.+Hot+check+discussion+real+class.%0ABox+anyone+community+child+data+resource+light.+Measure+billion+also+everyone.%0ACommunity+blood+by+mouth+study+owner+analysis.+Free+open+education+early+paper.&link_type=any&name=1595973276_12_last&public_description=Cause+reflect+culture+letter.+Up+certainly+join+morning+why+popular.&title=Care+pretty+across+coach+cause.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 48-WTHzZgEBFa3CDCqZpInid8LWMGY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "723" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iOORmVCWMe7flbrTa2; loidcreated=2020-07-28T21%3A54%3A33.178Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "323" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:40", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBPPYMQWNAR3SA8JY0DYXY4&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 48-WTHzZgEBFa3CDCqZpInid8LWMGY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iOORmVCWMe7flbrTa2; loidcreated=2020-07-28T21%3A54%3A33.178Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595973276_12_last/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "320" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973276_12_last/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:40", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595973276_12_last" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 47-cSsjbQ81A-MNEDFvHjjb7nN6w3M" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "77" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iOORmVCWMe7flbrTa2; loidcreated=2020-07-28T21%3A54%3A33.178Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "320" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:40", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595973276_12_last&text=Person+official+campaign+film.+Particularly+officer+learn+box+factor+agency+special+behavior.&title=Himself+population+year+this+at+thank." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 47-cSsjbQ81A-MNEDFvHjjb7nN6w3M" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "220" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iOORmVCWMe7flbrTa2; loidcreated=2020-07-28T21%3A54%3A33.178Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595973276_12_last/comments/n/himself_population_year_this_at_thank/\", \"id\": \"n\", \"name\": \"t3_n\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "163" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "320" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:40", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 47-cSsjbQ81A-MNEDFvHjjb7nN6w3M" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=iOORmVCWMe7flbrTa2; loidcreated=2020-07-28T21%3A54%3A33.178Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/n/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595973276_12_last\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPerson official campaign film. Particularly officer learn box factor agency special behavior.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Person official campaign film. Particularly officer learn box factor agency special behavior.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"n\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBPPYMQWNAR3SA8JY0DYXY4\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595973276_12_last\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_h\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595973276_12_last/comments/n/himself_population_year_this_at_thank/\", \"locked\": false, \"name\": \"t3_n\", \"created\": 1595973280.0, \"url\": \"http://reddit.local/r/1595973276_12_last/comments/n/himself_population_year_this_at_thank/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Himself population year this at thank.\", \"created_utc\": 1595973280.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1767" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "320" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=0qmpUAIGLNdphfP7Y91boYDjWN3eN3umry%2BpHjQGCmn3mDZDyYsqe0iYdjebvGPe2ohYfJg7xwimXLCFB3BEu5ZNP2BqcN%2Bk" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/n/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:43", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=By+actually+expert+their+clear+ability+between.+Entire+back+smile+cold.&thing_id=t3_n" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 47-cSsjbQ81A-MNEDFvHjjb7nN6w3M" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "104" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iOORmVCWMe7flbrTa2; loidcreated=2020-07-28T21%3A54%3A33.178Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_h\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_n\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"23\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EEBPPYMQWNAR3SA8JY0DYXY4\", \"parent_id\": \"t3_n\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"By actually expert their clear ability between. Entire back smile cold.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EBy actually expert their clear ability between. Entire back smile cold.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973276_12_last\", \"score_hidden\": false, \"name\": \"t1_23\", \"created\": 1595973283.0, \"author_flair_text\": null, \"created_utc\": 1595973283.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "943" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:43 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "317" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:46", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=reply_to_comment+3&thing_id=t1_23" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 47-cSsjbQ81A-MNEDFvHjjb7nN6w3M" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "52" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iOORmVCWMe7flbrTa2; loidcreated=2020-07-28T21%3A54%3A33.178Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_h\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_n\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"24\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EEBPPYMQWNAR3SA8JY0DYXY4\", \"parent_id\": \"t1_23\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"reply_to_comment 3\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ereply_to_comment 3\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973276_12_last\", \"score_hidden\": false, \"name\": \"t1_24\", \"created\": 1595973286.0, \"author_flair_text\": null, \"created_utc\": 1595973286.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "838" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:46 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "314" - ], - "x-ratelimit-used": [ - "5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:46", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 47-cSsjbQ81A-MNEDFvHjjb7nN6w3M" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=iOORmVCWMe7flbrTa2; loidcreated=2020-07-28T21%3A54%3A33.178Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595973276_12_last/about/moderators/?user=01EEBPPYMQWNAR3SA8JY0DYXY4&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:46 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "314" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=zouaZo1xWSp2Xrvv0GPsYTXmP438Em3UzeicuuytoF7rFtwsfOHT%2BKQPXzNNNGoBYIzP6tfeMslWcVawJlmBagaE7yyI0wD2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973276_12_last/about/moderators/?user=01EEBPPYMQWNAR3SA8JY0DYXY4&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_create_comment_reply_to_deleted_comment.json b/cassettes/channels.views.comments_test.test_create_comment_reply_to_deleted_comment.json deleted file mode 100644 index d5bc8d3a55..0000000000 --- a/cassettes/channels.views.comments_test.test_create_comment_reply_to_deleted_comment.json +++ /dev/null @@ -1,875 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T21:54:49", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPQERJ2GFHTKKBXAJRAB40" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDKx1PV1cSwt9AhNLwkuyTMPSvHw80x1KS93S8mIilTSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolvkZRYbmhxQXR0T5ZulG+Wa4lBVFeCZ7+hiW54O0pKSWZSanxmemgMyFcJRqATOY9Zu2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:49 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=gHyMTgKFBtYHFXf3Ic; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:54:49 GMT", - "loidcreated=2020-07-28T21%3A54%3A49.691Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:54:49 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPQERJ2GFHTKKBXAJRAB40" - } - }, - { - "recorded_at": "2020-07-28T21:54:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=gHyMTgKFBtYHFXf3Ic; loidcreated=2020-07-28T21%3A54%3A49.691Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPQJ005T31NBTG00EZ3VSB" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI10LUsc/QONQ/2t3RxKjAx8TY1LC5KKcj3NUw0NlHSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolrkZJhv5mFakJQXmGkf4ebs7+ReWxxsHmDomhoK0pKSWZSanxmemgMyFcJRqAUBCswi2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPQJ005T31NBTG00EZ3VSB" - } - }, - { - "recorded_at": "2020-07-28T21:54:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Want+like+official+according+can+maybe+win+popular.+General+hear+culture.+Accept+common+executive+town+peace+behind+worry.+Pattern+rate+part+rate+by+what.%0AStrong+tough+dog+bed+minute+white+nature.+Give+baby+each+experience+shake+foreign+picture.%0APrice+morning+radio+quickly.%0AMedia+region+particularly+end+push.+Size+media+voice+interview+option.+Land+not+thus+a+forward+where+stuff+writer.%0AMarriage+according+various+town+note.&link_type=any&name=1595973293_13_raise&public_description=Place+measure+tough+health+situation.+Office+be+poor+particular+computer+food.&title=Treatment+want+Democrat.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 50-9vAKU7SO9DBp44K51srdpoM1a34" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "675" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=gHyMTgKFBtYHFXf3Ic; loidcreated=2020-07-28T21%3A54%3A49.691Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "307" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBPQERJ2GFHTKKBXAJRAB40&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 50-9vAKU7SO9DBp44K51srdpoM1a34" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=gHyMTgKFBtYHFXf3Ic; loidcreated=2020-07-28T21%3A54%3A49.691Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595973293_13_raise/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "304" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973293_13_raise/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595973293_13_raise" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 49-MDAuqHUgtStn7RdHNIeDwwFdhZY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "78" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=gHyMTgKFBtYHFXf3Ic; loidcreated=2020-07-28T21%3A54%3A49.691Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "304" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595973293_13_raise&text=Weight+she+create+return+inside+off+they.+City+story+wish+fast.&title=Cost+leader+big+reflect+huge." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 49-MDAuqHUgtStn7RdHNIeDwwFdhZY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "182" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=gHyMTgKFBtYHFXf3Ic; loidcreated=2020-07-28T21%3A54%3A49.691Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595973293_13_raise/comments/o/cost_leader_big_reflect_huge/\", \"id\": \"o\", \"name\": \"t3_o\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "155" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "304" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 49-MDAuqHUgtStn7RdHNIeDwwFdhZY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=gHyMTgKFBtYHFXf3Ic; loidcreated=2020-07-28T21%3A54%3A49.691Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/o/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595973293_13_raise\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EWeight she create return inside off they. City story wish fast.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Weight she create return inside off they. City story wish fast.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"o\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBPQERJ2GFHTKKBXAJRAB40\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595973293_13_raise\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_i\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595973293_13_raise/comments/o/cost_leader_big_reflect_huge/\", \"locked\": false, \"name\": \"t3_o\", \"created\": 1595973296.0, \"url\": \"http://reddit.local/r/1595973293_13_raise/comments/o/cost_leader_big_reflect_huge/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Cost leader big reflect huge.\", \"created_utc\": 1595973296.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1684" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "304" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=3U0wPVOrsXLvxcelxrWR2cSKCCt5%2FvfcNo5lIQiOeAoyQZ2hte9Z39oLnlquyDO9SZchgwpSu6tkBG3Jw0FNzZR8a4RcA6Jz" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/o/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:54:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Give+concern+western+bring+newspaper.+Place+street+such+public+four+best+often.&thing_id=t3_o" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 49-MDAuqHUgtStn7RdHNIeDwwFdhZY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "112" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=gHyMTgKFBtYHFXf3Ic; loidcreated=2020-07-28T21%3A54%3A49.691Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_i\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_o\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"25\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EEBPQERJ2GFHTKKBXAJRAB40\", \"parent_id\": \"t3_o\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Give concern western bring newspaper. Place street such public four best often.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EGive concern western bring newspaper. Place street such public four best often.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973293_13_raise\", \"score_hidden\": false, \"name\": \"t1_25\", \"created\": 1595973299.0, \"author_flair_text\": null, \"created_utc\": 1595973299.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "960" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:54:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "301" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t1_25" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 49-MDAuqHUgtStn7RdHNIeDwwFdhZY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "22" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=gHyMTgKFBtYHFXf3Ic; loidcreated=2020-07-28T21%3A54%3A49.691Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/del/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "298" - ], - "x-ratelimit-used": [ - "5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/del/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=reply_to_comment+3&thing_id=t1_25" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 49-MDAuqHUgtStn7RdHNIeDwwFdhZY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "52" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=gHyMTgKFBtYHFXf3Ic; loidcreated=2020-07-28T21%3A54%3A49.691Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [[\"DELETED_COMMENT\", \"that comment has been deleted\", \"parent\"]]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "86" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "298" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_delete_comment.json b/cassettes/channels.views.comments_test.test_delete_comment.json deleted file mode 100644 index b04ee9b657..0000000000 --- a/cassettes/channels.views.comments_test.test_delete_comment.json +++ /dev/null @@ -1,249 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-07-25T21:51:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=george" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDLUDUxxzisuMPd2KnPPLS/TLXIvC6sqKwwoN/dNV9JRUEqtKMgsSi2OzwQpNzYzMACKgXXHl1QWpIKMSEpNLEotAqktTs6HCGmBeEWpaUCNGch2eSVnJob4uOWHlnkEmRRYJlf4VoYmRTm5p0QYgHSkpJZlJqfGZ6aAjIVwlGoBeT+eKrQAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 25 Jul 2017 21:51:09 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=0ihoOKtX7jYnBNuAqZ; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 25-Jul-2019 21:51:09 GMT", - "loidcreated=2017-07-25T21%3A51%3A09.190Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 25-Jul-2019 21:51:09 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=george" - } - }, - { - "recorded_at": "2017-07-25T21:51:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=refresh_token&refresh_token=1-JciaTLFoUvHR4p9cxMyUbZBGdX0" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic MW1pM3JwTTZ4SjN0RlE6LTNmQkxfZDk2R2o5d20tQU01TTRSOHpFajA0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "68" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=0ihoOKtX7jYnBNuAqZ; loidcreated=2017-07-25T21%3A51%3A09.190Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"1-h_8ekRdloVxMuY0fMn2MqrlcxGY\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "107" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 25 Jul 2017 21:51:09 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299" - ], - "x-ratelimit-reset": [ - "531" - ], - "x-ratelimit-used": [ - "1" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2017-07-25T21:51:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t1_6" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 1-h_8ekRdloVxMuY0fMn2MqrlcxGY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "21" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=0ihoOKtX7jYnBNuAqZ; loidcreated=2017-07-25T21%3A51%3A09.190Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/del/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 25 Jul 2017 21:51:09 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "531" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/del/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_delete_comment_anonymous.json b/cassettes/channels.views.comments_test.test_delete_comment_anonymous.json deleted file mode 100644 index 21e7b446cc..0000000000 --- a/cassettes/channels.views.comments_test.test_delete_comment_anonymous.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "http_interactions": [], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_get_comment.json b/cassettes/channels.views.comments_test.test_get_comment.json deleted file mode 100644 index cce0e205ba..0000000000 --- a/cassettes/channels.views.comments_test.test_get_comment.json +++ /dev/null @@ -1,869 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T17:55:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPH6Q3ZWR6NS2TGTW3HV93P" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0NdA1qwqvcKy08PH0cTFN9vWLynAtNUnySzcJzy9X0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLY5Z3mFGFc5VQQXJlo4FweEG5almZW7+2e6BUWC9KSklmUmp8ZnpoAMhnCUagG7BEJHuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=35CSuQCI1qRpD3tw1P; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:55:13 GMT", - "loidcreated=2018-08-24T17%3A55%3A13.127Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:55:13 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPH6Q3ZWR6NS2TGTW3HV93P" - } - }, - { - "recorded_at": "2018-08-24T17:55:16", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=35CSuQCI1qRpD3tw1P; loidcreated=2018-08-24T17%3A55%3A13.127Z" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPH6TD7NDXY1BR13KTWW3MF" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0NdS1CPT2iAgyMjerCMkuMDEN9a0IyK4oKQ/PzgpU0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLa5mQflZOVHJhdnRBXnJSV6p+RVpPi66Yal+5SD9KSklmUmp8ZnpoAMhnCUagHT66/PuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPH6TD7NDXY1BR13KTWW3MF" - } - }, - { - "recorded_at": "2018-08-24T17:55:16", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Laudantium+et+ex+consectetur+ducimus+impedit.+Necessitatibus+dolorum+a+dolores.+Consequatur+repellat+inventore+voluptatibus+pariatur.%0APossimus+nam+odit+voluptatem+accusantium+earum.+Officia+impedit+quam+ea+maxime+hic.+Voluptatum+maiores+facere+rerum+distinctio+recusandae.%0AEx+accusamus+porro+iste+veritatis.+Eveniet+porro+dolor+numquam+reprehenderit+quod.+Quia+aspernatur+expedita+expedita+et+blanditiis+voluptatem.&link_type=any&name=1535133316_praesentiu&public_description=Incidunt+porro+amet+consequuntur+exercitationem.+Cumque+quidem+delectus+nostrum+quam+dignissimos.&title=Ut+magnam+dolorem+quaerat+neque.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 151-8QKHXR276xTkp45UMxPkxtwWkjQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "688" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=35CSuQCI1qRpD3tw1P; loidcreated=2018-08-24T17%3A55%3A13.127Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "284" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:55:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPH6Q3ZWR6NS2TGTW3HV93P&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 151-8QKHXR276xTkp45UMxPkxtwWkjQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=35CSuQCI1qRpD3tw1P; loidcreated=2018-08-24T17%3A55%3A13.127Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133316_praesentiu/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "281" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133316_praesentiu/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:55:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535133316_praesentiu" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 150-6zWxAy8LILD5cMNZhEu4bNg4Wow" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "80" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=35CSuQCI1qRpD3tw1P; loidcreated=2018-08-24T17%3A55%3A13.127Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "280" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:55:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535133316_praesentiu&text=Quaerat+quaerat+laudantium+maxime.+Adipisci+id+dolor+nam+dolor.+Eius+et+illum+accusamus.&title=Quidem+debitis+nemo+explicabo+ea." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 150-6zWxAy8LILD5cMNZhEu4bNg4Wow" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "213" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=35CSuQCI1qRpD3tw1P; loidcreated=2018-08-24T17%3A55%3A13.127Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535133316_praesentiu/comments/a/quidem_debitis_nemo_explicabo_ea/\", \"id\": \"a\", \"name\": \"t3_a\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "161" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "280" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:55:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 150-6zWxAy8LILD5cMNZhEu4bNg4Wow" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=35CSuQCI1qRpD3tw1P; loidcreated=2018-08-24T17%3A55%3A13.127Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/a/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133316_praesentiu\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuaerat quaerat laudantium maxime. Adipisci id dolor nam dolor. Eius et illum accusamus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quaerat quaerat laudantium maxime. Adipisci id dolor nam dolor. Eius et illum accusamus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"a\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPH6Q3ZWR6NS2TGTW3HV93P\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535133316_praesentiu\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535133316_praesentiu/comments/a/quidem_debitis_nemo_explicabo_ea/\", \"locked\": false, \"name\": \"t3_a\", \"created\": 1535133320.0, \"url\": \"http://reddit.local/r/1535133316_praesentiu/comments/a/quidem_debitis_nemo_explicabo_ea/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quidem debitis nemo explicabo ea.\", \"created_utc\": 1535133320.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1754" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "280" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=7X2qMzo8rQUW7hre7eBNQkJXV1QHIBiSb%2BMAgk5j8ChtYR4MPMgL1WwOfef%2BKVyRXwSyBkHkNu1MEfd2MDtjchXRuVDZecFe" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/a/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:55:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Saepe+enim+fuga+rem.+Reprehenderit+culpa+culpa+itaque+consequuntur+voluptate.&thing_id=t3_a" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 150-6zWxAy8LILD5cMNZhEu4bNg4Wow" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "110" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=35CSuQCI1qRpD3tw1P; loidcreated=2018-08-24T17%3A55%3A13.127Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_p\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_a\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2z\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CNPH6Q3ZWR6NS2TGTW3HV93P\", \"parent_id\": \"t3_a\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Saepe enim fuga rem. Reprehenderit culpa culpa itaque consequuntur voluptate.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESaepe enim fuga rem. Reprehenderit culpa culpa itaque consequuntur voluptate.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535133316_praesentiu\", \"score_hidden\": false, \"name\": \"t1_2z\", \"created\": 1535133323.0, \"author_flair_text\": null, \"created_utc\": 1535133323.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "958" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "277" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:55:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 150-6zWxAy8LILD5cMNZhEu4bNg4Wow" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=35CSuQCI1qRpD3tw1P; loidcreated=2018-08-24T17%3A55%3A13.127Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_2z&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_p\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_a\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2z\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CNPH6Q3ZWR6NS2TGTW3HV93P\", \"parent_id\": \"t3_a\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Saepe enim fuga rem. Reprehenderit culpa culpa itaque consequuntur voluptate.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESaepe enim fuga rem. Reprehenderit culpa culpa itaque consequuntur voluptate.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535133316_praesentiu\", \"score_hidden\": false, \"name\": \"t1_2z\", \"created\": 1535133323.0, \"author_flair_text\": null, \"created_utc\": 1535133323.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1003" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "274" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=5gmmaERLK4m6TTpRcZ16C94TLQZAinvVdnPF02KJi5szT55bM80QhmQHUu6sGv2DKLxaHjGFHhY%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_2z&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:55:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 150-6zWxAy8LILD5cMNZhEu4bNg4Wow" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=35CSuQCI1qRpD3tw1P; loidcreated=2018-08-24T17%3A55%3A13.127Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/a/_/2z?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133316_praesentiu\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuaerat quaerat laudantium maxime. Adipisci id dolor nam dolor. Eius et illum accusamus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quaerat quaerat laudantium maxime. Adipisci id dolor nam dolor. Eius et illum accusamus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"a\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPH6Q3ZWR6NS2TGTW3HV93P\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535133316_praesentiu\", \"hidden\": false, \"num_comments\": 1, \"thumbnail\": \"\", \"subreddit_id\": \"t5_p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535133316_praesentiu/comments/a/quidem_debitis_nemo_explicabo_ea/\", \"locked\": false, \"name\": \"t3_a\", \"created\": 1535133320.0, \"url\": \"http://reddit.local/r/1535133316_praesentiu/comments/a/quidem_debitis_nemo_explicabo_ea/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quidem debitis nemo explicabo ea.\", \"created_utc\": 1535133320.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_p\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_a\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2z\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CNPH6Q3ZWR6NS2TGTW3HV93P\", \"parent_id\": \"t3_a\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Saepe enim fuga rem. Reprehenderit culpa culpa itaque consequuntur voluptate.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESaepe enim fuga rem. Reprehenderit culpa culpa itaque consequuntur voluptate.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535133316_praesentiu\", \"score_hidden\": false, \"name\": \"t1_2z\", \"created\": 1535133323.0, \"author_flair_text\": null, \"created_utc\": 1535133323.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2664" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "274" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=uWVEBQpsa3xHGKcEJter2KEBHYFgZDMCMPogPG%2F90YElMXuYlCTZQnz4PlSOZo%2FnzqC327FdiQwQ8U1zbUvyGAPyOG7vNxaF" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/a/_/2z?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_get_comment_404.json b/cassettes/channels.views.comments_test.test_get_comment_404.json deleted file mode 100644 index 0d42312346..0000000000 --- a/cassettes/channels.views.comments_test.test_get_comment_404.json +++ /dev/null @@ -1,507 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T17:55:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPH774DQG4KMV54CM7VF2PA" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0NdJ1N/H3Mqj0cTLJMaryLi00Cy3zMos3K01PNnVV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaVFHsZ+5fqpqemJGZEugQk+Xrlpzv56ZYV+iWD9KSklmUmp8ZnpoAMhnCUagEGZDNyuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=oFwe7mQqT011QAAwAZ; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:55:29 GMT", - "loidcreated=2018-08-24T17%3A55%3A29.524Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:55:29 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPH774DQG4KMV54CM7VF2PA" - } - }, - { - "recorded_at": "2018-08-24T17:55:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=oFwe7mQqT011QAAwAZ; loidcreated=2018-08-24T17%3A55%3A29.524Z" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPH7AEMKTCZTADFW3M7CDC6" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNwQ6CMBBEf4X0aCRpJYp6I4Gg8WCMHrxt6rJKJUptG0SM/y6Vk8d5mTfzZhKRrAVXV3Rny4CJaRS2sLopBC4avp2IRyrLQzhPO+3ijI0DRq1WhiwoL0Qzznv288G9NPmRE0lDxnct1gMa+WTo3Ivl/xtlFcZms7hWZm1B5Lv9BbujeGKeeKegRiGBKvzwENjnC0TJghS4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPH7AEMKTCZTADFW3M7CDC6" - } - }, - { - "recorded_at": "2018-08-24T17:55:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Dicta+iste+corrupti+quos+nam+ad.+Dolorum+ab+laborum+minima+voluptas+magni+enim+architecto.+Dolore+saepe+sint+quasi+veniam+delectus+velit.+Est+suscipit+cupiditate+voluptatem+aliquam+veniam+voluptatem.%0AEst+exercitationem+maxime+adipisci+repellat.+Possimus+ex+nihil+totam+voluptatibus+minima+ducimus+fuga+aliquam.+Facilis+nisi+eius+molestias+molestias.+Quae+laborum+sit+vitae+quisquam+recusandae.&link_type=any&name=1535133333_ducimus&public_description=Natus+ducimus+quidem+doloremque+deleniti+earum+dolorum+commodi.+Rem+nobis+iusto+explicabo.&title=Necessitatibus+tempora+possimus+consequatur.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 153-x_Hmic_01v0O21qDahT-8Dzpt7E" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "666" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=oFwe7mQqT011QAAwAZ; loidcreated=2018-08-24T17%3A55%3A29.524Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "267" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:55:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPH774DQG4KMV54CM7VF2PA&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 153-x_Hmic_01v0O21qDahT-8Dzpt7E" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=oFwe7mQqT011QAAwAZ; loidcreated=2018-08-24T17%3A55%3A29.524Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133333_ducimus/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "264" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133333_ducimus/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:55:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535133333_ducimus" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 152-G4OJ0yLB4l2zKuq6UvJ6_6ugc5E" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "77" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=oFwe7mQqT011QAAwAZ; loidcreated=2018-08-24T17%3A55%3A29.524Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "264" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:55:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 152-G4OJ0yLB4l2zKuq6UvJ6_6ugc5E" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=oFwe7mQqT011QAAwAZ; loidcreated=2018-08-24T17%3A55%3A29.524Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_23432&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "93" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "264" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=jfW%2BTyt3uQqzpiCZjiVxyuZX0TlgTTq7PdppNNI4heMKs41OonuiM78D7v5PSTDKlm4qf3HQkaM%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_23432&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_get_comment_anonymous.json b/cassettes/channels.views.comments_test.test_get_comment_anonymous.json deleted file mode 100644 index 34624ebfde..0000000000 --- a/cassettes/channels.views.comments_test.test_get_comment_anonymous.json +++ /dev/null @@ -1,762 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T17:55:39", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPH7GZ9722JZ3QWRTM6H83K" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0NdFNKg83L3fJcvEsDAoKTnLOTI7UzQgJNEtPT/NU0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYF5QWVebmHh6R7ZSZblBZmp5hbRhUbBwWYG0eC9KSklmUmp8ZnpoAMhnCUagHACLLEuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:39 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=Bjo717TlvkvCxZiuk3; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:55:39 GMT", - "loidcreated=2018-08-24T17%3A55%3A39.600Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:55:39 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPH7GZ9722JZ3QWRTM6H83K" - } - }, - { - "recorded_at": "2018-08-24T17:55:40", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Libero+animi+ducimus+exercitationem+vel+a+odio+nostrum.+Repellat+repudiandae+atque+aperiam+voluptatibus+exercitationem+amet.+Quo+quaerat+autem+rerum+unde+tempora+similique+placeat+eius.%0AProvident+soluta+similique+maxime+provident+dolorem+cum+molestias+voluptas.+Sit+eaque+in+esse+tenetur+error+est+quis.+Atque+illo+provident+eaque.+Repellat+ab+laborum+at+atque+itaque+ab+possimus+recusandae.+Sequi+voluptates+ad+ut+magnam.&link_type=any&name=1535133339_ratione&public_description=Dolor+vitae+laboriosam+perferendis+eum.+Incidunt+corporis+nulla+voluptatem+veniam.&title=Error+laudantium+iste+aut+earum+provident+ipsum.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 154-bwW7wDjDIqRRSbCicY-hTQ6ggfI" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "690" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Bjo717TlvkvCxZiuk3; loidcreated=2018-08-24T17%3A55%3A39.600Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "261" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:55:43", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Bjo717TlvkvCxZiuk3; loidcreated=2018-08-24T17%3A55%3A39.600Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CBDBP5F8XRQ1T5GATHDWA99Z" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNXQuCMBiF/4rsMgpWYmWXgUFkyAjW5XDzNd8S5zaxL/rvubzq8jyc55w3yZUC50Snb9CQTUDmUTQzVd2cdLjOdtnVIEZM8lWP+2PqFJkGBB4tWnACvRAuKR3YzxfdswU/IiG3YH3XKT2iiU8WykGs/t9ii/ULSsY1PbMkMYcsTi+LLZdw904BPSoQWPjhMZDPF/SLAvy4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:43 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CBDBP5F8XRQ1T5GATHDWA99Z" - } - }, - { - "recorded_at": "2018-08-24T17:55:43", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535133339_ratione&text=Velit+maiores+consequatur+illo+eum.+Nemo+voluptate+provident+deleniti+delectus+architecto.&title=Inventore+esse+quas+sequi+quod+aliquam." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 155-qhlnSo38OFOjqii5QbV7viIMLsc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "218" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Bjo717TlvkvCxZiuk3; loidcreated=2018-08-24T17%3A55%3A39.600Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535133339_ratione/comments/b/inventore_esse_quas_sequi_quod_aliquam/\", \"id\": \"b\", \"name\": \"t3_b\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "164" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:43 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "257" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:55:43", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 155-qhlnSo38OFOjqii5QbV7viIMLsc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Bjo717TlvkvCxZiuk3; loidcreated=2018-08-24T17%3A55%3A39.600Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/b/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133339_ratione\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVelit maiores consequatur illo eum. Nemo voluptate provident deleniti delectus architecto.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Velit maiores consequatur illo eum. Nemo voluptate provident deleniti delectus architecto.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CBDBP5F8XRQ1T5GATHDWA99Z\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535133339_ratione\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_r\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535133339_ratione/comments/b/inventore_esse_quas_sequi_quod_aliquam/\", \"locked\": false, \"name\": \"t3_b\", \"created\": 1535133343.0, \"url\": \"http://reddit.local/r/1535133339_ratione/comments/b/inventore_esse_quas_sequi_quod_aliquam/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Inventore esse quas sequi quod aliquam.\", \"created_utc\": 1535133343.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1764" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:43 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "257" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=zaFNzv0luhJyLw3%2F%2BJj0DCS51iavGi0%2BkxrtOimHJ%2Bfr0gxazu%2Ff04aF3m%2BeBRAubuzDIbWQYGHODupR6MFkHEFRKcb9q82V" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/b/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:55:46", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Voluptas+eos+sit+voluptatem+sequi.+Corporis+atque+totam+amet+alias+enim.&thing_id=t3_b" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 155-qhlnSo38OFOjqii5QbV7viIMLsc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "105" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Bjo717TlvkvCxZiuk3; loidcreated=2018-08-24T17%3A55%3A39.600Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_r\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_b\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"30\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDBP5F8XRQ1T5GATHDWA99Z\", \"parent_id\": \"t3_b\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Voluptas eos sit voluptatem sequi. Corporis atque totam amet alias enim.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptas eos sit voluptatem sequi. Corporis atque totam amet alias enim.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535133339_ratione\", \"score_hidden\": false, \"name\": \"t1_30\", \"created\": 1535133346.0, \"author_flair_text\": null, \"created_utc\": 1535133346.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "945" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:46 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "254" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:55:49", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=client_credentials" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic b2RfY2xpZW50X2lkOm9kX2NsaWVudF9zZWNyZXQ=" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "29" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Bjo717TlvkvCxZiuk3; loidcreated=2018-08-24T17%3A55%3A39.600Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"-Ofrj3q4M7x57gXB9M1GjHhOM7QA\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "106" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:49 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297" - ], - "x-ratelimit-reset": [ - "251" - ], - "x-ratelimit-used": [ - "3" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2018-08-24T17:55:49", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer -Ofrj3q4M7x57gXB9M1GjHhOM7QA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Bjo717TlvkvCxZiuk3; loidcreated=2018-08-24T17%3A55%3A39.600Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_30&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": \"\", \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_r\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_b\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"30\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDBP5F8XRQ1T5GATHDWA99Z\", \"parent_id\": \"t3_b\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Voluptas eos sit voluptatem sequi. Corporis atque totam amet alias enim.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptas eos sit voluptatem sequi. Corporis atque totam amet alias enim.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535133339_ratione\", \"score_hidden\": false, \"name\": \"t1_30\", \"created\": 1535133346.0, \"author_flair_text\": null, \"created_utc\": 1535133346.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "988" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:49 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296" - ], - "x-ratelimit-reset": [ - "251" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Q2j%2FVeJzzMUNoDMQTlmTiIBFxnec%2FmLTfH2eGyo1Kdulr5Cw3vJ%2BUYa0uBh8jyD9Eiq8V38QLRI%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_30&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:55:49", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer -Ofrj3q4M7x57gXB9M1GjHhOM7QA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Bjo717TlvkvCxZiuk3; loidcreated=2018-08-24T17%3A55%3A39.600Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/b/_/30?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": \"\", \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133339_ratione\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVelit maiores consequatur illo eum. Nemo voluptate provident deleniti delectus architecto.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Velit maiores consequatur illo eum. Nemo voluptate provident deleniti delectus architecto.\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CBDBP5F8XRQ1T5GATHDWA99Z\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535133339_ratione\", \"hidden\": false, \"num_comments\": 1, \"thumbnail\": \"\", \"subreddit_id\": \"t5_r\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/1535133339_ratione/comments/b/inventore_esse_quas_sequi_quod_aliquam/\", \"locked\": false, \"name\": \"t3_b\", \"created\": 1535133343.0, \"url\": \"http://reddit.local/r/1535133339_ratione/comments/b/inventore_esse_quas_sequi_quod_aliquam/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Inventore esse quas sequi quod aliquam.\", \"created_utc\": 1535133343.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": \"\", \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_r\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_b\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"30\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDBP5F8XRQ1T5GATHDWA99Z\", \"parent_id\": \"t3_b\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Voluptas eos sit voluptatem sequi. Corporis atque totam amet alias enim.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptas eos sit voluptatem sequi. Corporis atque totam amet alias enim.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535133339_ratione\", \"score_hidden\": false, \"name\": \"t1_30\", \"created\": 1535133346.0, \"author_flair_text\": null, \"created_utc\": 1535133346.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2656" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:55:49 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295" - ], - "x-ratelimit-reset": [ - "251" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=1xUKLTxTo1iYE2RBlMbQuCBcbRd7wo5gxMgz6vFBP9lFv8%2Bhx2%2Ft0FnZh8BT6q9oxVUtFTJhEooTIgGLpyIksoC1s%2BOWejvj" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/b/_/30?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_get_removed_comment[None-404].json b/cassettes/channels.views.comments_test.test_get_removed_comment[None-404].json deleted file mode 100644 index 1700b9f1f3..0000000000 --- a/cassettes/channels.views.comments_test.test_get_removed_comment[None-404].json +++ /dev/null @@ -1,922 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-11-05T14:43:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.24.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDSJBB352X9DKFXY72QVYE" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULI01S3zjPAIjKpwMTIsLzcP9wguc8tKD/fXjTSJMFHSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkoljkHZ1lGmFimOjkHeZk5mwcH53sZG6RkeIR7gC1LSS3LTE6Nz0wBmQvhKNUCAKSlGZi2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:43:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=nHLzCJlZV2ug73jvGF; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sat, 05-Nov-2022 14:43:31 GMT", - "loidcreated=2020-11-05T14%3A43%3A30.717Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sat, 05-Nov-2022 14:43:31 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDSJBB352X9DKFXY72QVYE" - } - }, - { - "recorded_at": "2020-11-05T14:43:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=nHLzCJlZV2ug73jvGF; loidcreated=2020-11-05T14%3A43%3A30.717Z" - ], - "User-Agent": [ - "python-requests/2.24.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDSNNBM1T2VC3ADCXQPZ72" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULI00w3yNTZwNitLSonITnT0dwvLS/FJjcotiMp39lTSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolrkFlFaURDpX+RXr5geWJ3o5FaXpmkaZpBtllIO0pKSWZSanxmemgMyFcJRqAYGXHn62AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:43:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDSNNBM1T2VC3ADCXQPZ72" - } - }, - { - "recorded_at": "2020-11-05T14:43:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Through+laugh+area+security+mention.+Prepare+factor+western+expert+country.+Party+feel+lawyer+technology+cause+long+blood.%0AOff+none+police+key+beyond+become+lay+town.+Particularly+major+yes+hospital.+Off+listen+hear+top+movie+box.%0ACurrent+future+price+authority+behind.+Even+stay+claim+thus+far+card.+President+unit+machine+share+magazine+environment.%0AEight+might+identify+spend+education+something.+Card+over+force+sense+surface.+Beat+technology+significant+south+since+throughout+process.&link_type=any&name=1604587414_8_hotel&public_description=Agency+away+friend+thus.+Rule+sit+late+smile+stay.+West+gas+especially.&title=American+catch+life+various+fly+child.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 96-RM30C6vbdXkaAOFVndLeZmpZoCI" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "741" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=nHLzCJlZV2ug73jvGF; loidcreated=2020-11-05T14%3A43%3A30.717Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:43:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "386" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:43:40", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=nHLzCJlZV2ug73jvGF; loidcreated=2020-11-05T14%3A43%3A30.717Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDSVZ8ZX1BFDG6XWFSN7WQ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULI017UoSizVdS8rtkj18C11D3TJz/aMKjVMdjdKzlbSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolhlFRHhbBBh4ZhinphnnpZX65JqGVZTmmDrllIO0pKSWZSanxmemgMyFcJRqAdVUFX62AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:43:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDSVZ8ZX1BFDG6XWFSN7WQ" - } - }, - { - "recorded_at": "2020-11-05T14:43:40", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1604587414_8_hotel&text=Art+campaign+cause+lose.+Close+film+large+help+approach.&title=Himself+chance+only+fact+whole+career+so." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 95-vIXHQZxD21ww7WHSvFjgWO-Y4X4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "186" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=nHLzCJlZV2ug73jvGF; loidcreated=2020-11-05T14%3A43%3A30.717Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1604587414_8_hotel/comments/1c/himself_chance_only_fact_whole_career_so/\", \"id\": \"1c\", \"name\": \"t3_1c\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "169" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:43:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "380" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:43:40", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 95-vIXHQZxD21ww7WHSvFjgWO-Y4X4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=nHLzCJlZV2ug73jvGF; loidcreated=2020-11-05T14%3A43%3A30.717Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1c/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1604587414_8_hotel\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EArt campaign cause lose. Close film large help approach.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Art campaign cause lose. Close film large help approach.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1c\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EPCDSJBB352X9DKFXY72QVYE\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1604587414_8_hotel\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_s\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1604587414_8_hotel/comments/1c/himself_chance_only_fact_whole_career_so/\", \"locked\": false, \"name\": \"t3_1c\", \"created\": 1604587420.0, \"url\": \"http://reddit.local/r/1604587414_8_hotel/comments/1c/himself_chance_only_fact_whole_career_so/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Himself chance only fact whole career so.\", \"created_utc\": 1604587420.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1706" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:43:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "380" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=0ShE8RNO5KWzucrK4pUg%2Bg3qEVa3qmenDoCPFVJEuqdXThlZHnXjNYnGEz0i2HZgn4saN6NkOwdBfXXGmoNabnqQs10MlN%2F9" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1c/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:43:44", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Brother+level+source+top+know.+Tough+director+more.+Seem+so+really+lawyer+however+senior+hair.&thing_id=t3_1c" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 97-8rau-Gvs8eHMuGQDokIZu1cG2ck" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "128" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=nHLzCJlZV2ug73jvGF; loidcreated=2020-11-05T14%3A43%3A30.717Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_s\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1c\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"x\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EPCDSVZ8ZX1BFDG6XWFSN7WQ\", \"parent_id\": \"t3_1c\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Brother level source top know. Tough director more. Seem so really lawyer however senior hair.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EBrother level source top know. Tough director more. Seem so really lawyer however senior hair.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1604587414_8_hotel\", \"score_hidden\": false, \"name\": \"t1_x\", \"created\": 1604587423.0, \"author_flair_text\": null, \"created_utc\": 1604587423.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "989" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:43:44 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "377" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:43:47", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t1_x&spam=False" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 96-RM30C6vbdXkaAOFVndLeZmpZoCI" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "32" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=nHLzCJlZV2ug73jvGF; loidcreated=2020-11-05T14%3A43%3A30.717Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/remove/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:43:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "373" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/remove/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:43:47", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=client_credentials" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic b2RfY2xpZW50X2lkOm9kX2NsaWVudF9zZWNyZXQ=" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "29" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=nHLzCJlZV2ug73jvGF; loidcreated=2020-11-05T14%3A43%3A30.717Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"-K_tUyGX5_4IPNpgviCU_OzwBf-k\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "106" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:43:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299" - ], - "x-ratelimit-reset": [ - "373" - ], - "x-ratelimit-used": [ - "1" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2020-11-05T14:43:47", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer -K_tUyGX5_4IPNpgviCU_OzwBf-k" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=nHLzCJlZV2ug73jvGF; loidcreated=2020-11-05T14%3A43%3A30.717Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_x&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": \"\", \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_s\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1c\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"x\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"[deleted]\", \"parent_id\": \"t3_1c\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"[removed]\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003E[removed]\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1604587414_8_hotel\", \"score_hidden\": false, \"name\": \"t1_x\", \"created\": 1604587423.0, \"author_flair_text\": null, \"created_utc\": 1604587423.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "845" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:43:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298" - ], - "x-ratelimit-reset": [ - "373" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=jQUasHgm8CSHIy%2FhKN0YLwz69ZLYnLK6Gh4wFw5n2g6rqJrr6SWslwntWslZFvzRpyZREux17e4%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_x&raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:43:47", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer -K_tUyGX5_4IPNpgviCU_OzwBf-k" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=nHLzCJlZV2ug73jvGF; loidcreated=2020-11-05T14%3A43%3A30.717Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1c/_/x?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": \"\", \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1604587414_8_hotel\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EArt campaign cause lose. Close film large help approach.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Art campaign cause lose. Close film large help approach.\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1c\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EPCDSJBB352X9DKFXY72QVYE\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1604587414_8_hotel\", \"hidden\": false, \"num_comments\": 1, \"thumbnail\": \"\", \"subreddit_id\": \"t5_s\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/1604587414_8_hotel/comments/1c/himself_chance_only_fact_whole_career_so/\", \"locked\": false, \"name\": \"t3_1c\", \"created\": 1604587420.0, \"url\": \"http://reddit.local/r/1604587414_8_hotel/comments/1c/himself_chance_only_fact_whole_career_so/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Himself chance only fact whole career so.\", \"created_utc\": 1604587420.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": \"\", \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1701" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:43:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297" - ], - "x-ratelimit-reset": [ - "373" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=X4r%2FDv0gi57AUgI6moPtlmlkpT07ArLmZig%2FRItvthliYK2%2Bgo2NZf3wbpyryA2ICJ41GpIJu3uRmiigJcubR%2B16OiNIxG%2Bm" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1c/_/x?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_get_removed_comment[comment_writer-200].json b/cassettes/channels.views.comments_test.test_get_removed_comment[comment_writer-200].json deleted file mode 100644 index 17712a524d..0000000000 --- a/cassettes/channels.views.comments_test.test_get_removed_comment[comment_writer-200].json +++ /dev/null @@ -1,934 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-11-05T14:43:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.24.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDT5DA29PN7KEX3SYYR9CA" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULK00PVKT/UKNkx29nBOKQ92dXIL9XPJdkmOSK8y8lXSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolnkUOicVpIUk+YUVuXtWlWcVJBUFe/u6V+UYgy1LSS3LTE6Nz0wBmQvhKNUCAG0PONC2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:43:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=i543MH1IUhkdFz8M7j; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sat, 05-Nov-2022 14:43:50 GMT", - "loidcreated=2020-11-05T14%3A43%3A50.243Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sat, 05-Nov-2022 14:43:50 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDT5DA29PN7KEX3SYYR9CA" - } - }, - { - "recorded_at": "2020-11-05T14:43:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=i543MH1IUhkdFz8M7j; loidcreated=2020-11-05T14%3A43%3A50.243Z" - ], - "User-Agent": [ - "python-requests/2.24.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDT8P32TFT8SWHB1DJJV37" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULK01M0LMg/xywgyTwyqMA0LTvRKCYsI8Ch3jNINzFbSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolhWWRZQkBZZUehVmhecXFwcZOVVG6Wamllukl4O0pKSWZSanxmemgMyFcJRqAbsJ4aS2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:43:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDT8P32TFT8SWHB1DJJV37" - } - }, - { - "recorded_at": "2020-11-05T14:43:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Young+move+home+call+hair+skill.+Politics+language+cold+the+quality+speech.+Find+policy+billion+enough+business.+Hundred+effect+space.%0AEstablish+image+less+tend+wrong.+Work+describe+me.+Manager+fine+continue+phone+read+top.+Respond+measure+position+democratic.%0APlay+live+whole+among.+Small+budget+window+eye+girl+approach+professional+loss.+Home+mind+under+music.+Economy+husband+experience+local+student+forget+season+water.&link_type=any&name=1604587433_9_adult&public_description=Five+sell+station+training+throw+hour+minute.&title=Investment+back+probably+message+happy+view.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 99-nR7TNhR7aRx5VSaJdVXPHwAZ-Qk" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "654" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=i543MH1IUhkdFz8M7j; loidcreated=2020-11-05T14%3A43%3A50.243Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:43:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "367" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=i543MH1IUhkdFz8M7j; loidcreated=2020-11-05T14%3A43%3A50.243Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDTEYCKH6GX99WRZG6299P" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNQQvCIBzFv8rwGAWOIFrHNkaxU8QKusjU/0gX09ScFX33Zjt1fD/e7703ahgDa4lTHfRok6AU44USJvDAXzs/3Kim63N5KPMLddnJonmCIGhhwBIRheUK45H9fOKeGuIIhcaAiV3L1IRmMRloR/H6/1bA0OOC7mFb+UdXyzzNWXaXsjrW0eHgBQMieByeAvp8AZ33Yxu4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDTEYCKH6GX99WRZG6299P" - } - }, - { - "recorded_at": "2020-11-05T14:44:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1604587433_9_adult&text=If+contain+long+I+full+believe.+Player+minute+new+clearly+until+inside.+Present+democratic+more.&title=Top+then+project.+Dark+nearly+speech+everyone." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 98-JgeJS1cCHCdwSEBFUNDkDcXgz2M" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "231" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=i543MH1IUhkdFz8M7j; loidcreated=2020-11-05T14%3A43%3A50.243Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1604587433_9_adult/comments/1d/top_then_project_dark_nearly_speech_everyone/\", \"id\": \"1d\", \"name\": \"t3_1d\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "173" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "360" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 98-JgeJS1cCHCdwSEBFUNDkDcXgz2M" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=i543MH1IUhkdFz8M7j; loidcreated=2020-11-05T14%3A43%3A50.243Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1d/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1604587433_9_adult\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIf contain long I full believe. Player minute new clearly until inside. Present democratic more.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"If contain long I full believe. Player minute new clearly until inside. Present democratic more.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1d\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EPCDT5DA29PN7KEX3SYYR9CA\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1604587433_9_adult\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_t\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1604587433_9_adult/comments/1d/top_then_project_dark_nearly_speech_everyone/\", \"locked\": false, \"name\": \"t3_1d\", \"created\": 1604587440.0, \"url\": \"http://reddit.local/r/1604587433_9_adult/comments/1d/top_then_project_dark_nearly_speech_everyone/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Top then project. Dark nearly speech everyone.\", \"created_utc\": 1604587440.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1799" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "360" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=30N4Kphz7cswuwcB77q7UzDRyRZ61x4APUWIX%2BajcksNi3xX4qmo6Fmb5udmAv4tu%2FogPSwN9vPBuZnM4TeoszSUlRvZ03MN" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1d/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:03", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Sound+author+his+hundred+result+movie.+Answer+stay+southern.+Stop+use+young+drug+result.&thing_id=t3_1d" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 100-oirxdxdzHvwlbpb8WFQFCZbt9Vs" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "122" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=i543MH1IUhkdFz8M7j; loidcreated=2020-11-05T14%3A43%3A50.243Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_t\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1d\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"y\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EPCDTEYCKH6GX99WRZG6299P\", \"parent_id\": \"t3_1d\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Sound author his hundred result movie. Answer stay southern. Stop use young drug result.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESound author his hundred result movie. Answer stay southern. Stop use young drug result.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1604587433_9_adult\", \"score_hidden\": false, \"name\": \"t1_y\", \"created\": 1604587443.0, \"author_flair_text\": null, \"created_utc\": 1604587443.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "977" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:03 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "357" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t1_y&spam=False" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 99-nR7TNhR7aRx5VSaJdVXPHwAZ-Qk" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "32" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=i543MH1IUhkdFz8M7j; loidcreated=2020-11-05T14%3A43%3A50.243Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/remove/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "354" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/remove/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 100-oirxdxdzHvwlbpb8WFQFCZbt9Vs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=i543MH1IUhkdFz8M7j; loidcreated=2020-11-05T14%3A43%3A50.243Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_y&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_t\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1d\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"y\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EPCDTEYCKH6GX99WRZG6299P\", \"parent_id\": \"t3_1d\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Sound author his hundred result movie. Answer stay southern. Stop use young drug result.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESound author his hundred result movie. Answer stay southern. Stop use young drug result.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1604587433_9_adult\", \"score_hidden\": false, \"name\": \"t1_y\", \"created\": 1604587443.0, \"author_flair_text\": null, \"created_utc\": 1604587443.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1022" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "354" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=%2BMzr%2B0mvl1IRAeBKYStd2TFz0IOQxGXIH%2FC7uFf9%2BbdrN9E96MgvJz0SIcObufH9MwDCR1YVlzA%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_y&raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 100-oirxdxdzHvwlbpb8WFQFCZbt9Vs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=i543MH1IUhkdFz8M7j; loidcreated=2020-11-05T14%3A43%3A50.243Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1d/_/y?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1604587433_9_adult\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIf contain long I full believe. Player minute new clearly until inside. Present democratic more.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"If contain long I full believe. Player minute new clearly until inside. Present democratic more.\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1d\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EPCDT5DA29PN7KEX3SYYR9CA\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1604587433_9_adult\", \"hidden\": false, \"num_comments\": 1, \"thumbnail\": \"\", \"subreddit_id\": \"t5_t\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/1604587433_9_adult/comments/1d/top_then_project_dark_nearly_speech_everyone/\", \"locked\": false, \"name\": \"t3_1d\", \"created\": 1604587440.0, \"url\": \"http://reddit.local/r/1604587433_9_adult/comments/1d/top_then_project_dark_nearly_speech_everyone/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Top then project. Dark nearly speech everyone.\", \"created_utc\": 1604587440.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_t\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1d\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"y\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EPCDTEYCKH6GX99WRZG6299P\", \"parent_id\": \"t3_1d\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Sound author his hundred result movie. Answer stay southern. Stop use young drug result.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESound author his hundred result movie. Answer stay southern. Stop use young drug result.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1604587433_9_adult\", \"score_hidden\": false, \"name\": \"t1_y\", \"created\": 1604587443.0, \"author_flair_text\": null, \"created_utc\": 1604587443.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2727" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "354" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=4bgNhZr5u5KR2qefuULKqI%2FVxFIOq5HMDowHZ6Mswpt5wY1S3O4K7aQByvJJyxVtkwtRhNJNHQn7oEuWx%2FQZwV0d6ZHUXZjl" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1d/_/y?raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 100-oirxdxdzHvwlbpb8WFQFCZbt9Vs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=i543MH1IUhkdFz8M7j; loidcreated=2020-11-05T14%3A43%3A50.243Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1604587433_9_adult/about/moderators/?user=01EPCDTEYCKH6GX99WRZG6299P&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "354" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ed3IWoHgSA5bkzXjxpkdkloKPqLcD70mntoHJU4sAweoyn7yTgTGpn5FzHyIutTZ1nX8PJLQ%2FQ%2F0kV4IvksbuVEVGjcWvT0E" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1604587433_9_adult/about/moderators/?user=01EPCDTEYCKH6GX99WRZG6299P&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_get_removed_comment[staff_user-200].json b/cassettes/channels.views.comments_test.test_get_removed_comment[staff_user-200].json deleted file mode 100644 index 3e501c67eb..0000000000 --- a/cassettes/channels.views.comments_test.test_get_removed_comment[staff_user-200].json +++ /dev/null @@ -1,934 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-11-05T14:44:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.24.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDVBFC808BXDM43QK4JRFK" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNsQrCMBiEX6VkFIWEFGndJA1SrHZwEF1CTH5pUNKQFLUV393GTo73cd/dG0mlIATRtTewaJUggtMFEWynt5UBldEA+aG+Z6ymp4HtSzRPELyc8RCEiQJdYjyyny+63kEcuYD04GM3qHZCs5g8XEex+X+relbkhON1qp9ntSmltZwfB2caHB0ND6NAGB2Hp4A+X0X+FQS4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=9fmv4xT8IdTJp6L8on; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sat, 05-Nov-2022 14:44:29 GMT", - "loidcreated=2020-11-05T14%3A44%3A29.215Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sat, 05-Nov-2022 14:44:29 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDVBFC808BXDM43QK4JRFK" - } - }, - { - "recorded_at": "2020-11-05T14:44:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9fmv4xT8IdTJp6L8on; loidcreated=2020-11-05T14%3A44%3A29.215Z" - ], - "User-Agent": [ - "python-requests/2.24.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDVERKNH4T0ABBKKPNX2J2" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0MNU1izIJTjcLzokydbLQDfEKq3JNN8ixiErxMcpW0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLblx/ulh5d5uiY7poSXhbqaJMen+Hr6FVQkhnuC9KSklmUmp8ZnpoAMhnCUagGjNkTDuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDVERKNH4T0ABBKKPNX2J2" - } - }, - { - "recorded_at": "2020-11-05T14:44:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Material+treatment+option+where+wind.+Other+end+reality+against+agree.%0AIf+serve+nothing+lose.+Computer+add+risk+media+hit+fine.+Test+dinner+kind+hospital+safe+just+own.%0AYourself+heavy+long+clearly+direction+money+know.+Campaign+source+understand+modern+everybody+design+continue.+Provide+drive+policy+page+decade+reduce+personal+popular.%0AChair+account+rich+key+site+hand.+Window+education+audience+information+nature+edge+agent.+Much+exactly+wall+report.&link_type=any&name=1604587472_11_lead&public_description=Pull+region+it+court+sister+day+grow.+Billion+exactly+attack+imagine.&title=Successful+address+join+memory.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 105-6Z4Sg6SlZ5B8-TJVzEg0l8ZdL2k" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "696" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=9fmv4xT8IdTJp6L8on; loidcreated=2020-11-05T14%3A44%3A29.215Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "328" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:39", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9fmv4xT8IdTJp6L8on; loidcreated=2020-11-05T14%3A44%3A29.215Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDVMZHJMFA9MTSD3QA3NRJ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNQQrCMBREr1KyFIXUShF3IipoKZgogptPm/zQKNqYlGAQ725jVy7nMW/mTSoh0Dno2hs+yCIhKc0n6VNd+f4YvC/1Bs6q5Jdizq0s/ImME4Ivoy060FHIckp79vOhCwbjSI2VRRu7TrQDGsVkUfVi8/8WZoe14lvPqrAyd6BZsM1uumSUuehI9FogaBmHh0A+X4P5BDy4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:39 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDVMZHJMFA9MTSD3QA3NRJ" - } - }, - { - "recorded_at": "2020-11-05T14:44:39", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1604587472_11_lead&text=Win+similar+music+put.&title=Feel+Mr+begin+tend." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 104-1_CMdKLiec83se9SOl8CO3YzCNI" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "130" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=9fmv4xT8IdTJp6L8on; loidcreated=2020-11-05T14%3A44%3A29.215Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1604587472_11_lead/comments/1f/feel_mr_begin_tend/\", \"id\": \"1f\", \"name\": \"t3_1f\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "147" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:39 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "321" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:39", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 104-1_CMdKLiec83se9SOl8CO3YzCNI" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9fmv4xT8IdTJp6L8on; loidcreated=2020-11-05T14%3A44%3A29.215Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1f/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1604587472_11_lead\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EWin similar music put.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Win similar music put.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1f\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EPCDVBFC808BXDM43QK4JRFK\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1604587472_11_lead\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_v\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1604587472_11_lead/comments/1f/feel_mr_begin_tend/\", \"locked\": false, \"name\": \"t3_1f\", \"created\": 1604587479.0, \"url\": \"http://reddit.local/r/1604587472_11_lead/comments/1f/feel_mr_begin_tend/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Feel Mr begin tend.\", \"created_utc\": 1604587479.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1572" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:39 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "321" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=WKiVZoNazH85n5OSPym4kSvp1JbSGRXSfV00Un5VSfLc0NkzR0vdCbUK9tNVwLuUbxmI65Vbrpw2ouyctJZccFJekFGM6sIn" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1f/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Yard+address+form+fact+view+him+many.+Three+show+which+thought+billion.&thing_id=t3_1f" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 106-1qfjSKTyvvNiF_WfNSZL8SrdLvU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "105" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=9fmv4xT8IdTJp6L8on; loidcreated=2020-11-05T14%3A44%3A29.215Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_v\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1f\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"10\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EPCDVMZHJMFA9MTSD3QA3NRJ\", \"parent_id\": \"t3_1f\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Yard address form fact view him many. Three show which thought billion.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EYard address form fact view him many. Three show which thought billion.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1604587472_11_lead\", \"score_hidden\": false, \"name\": \"t1_10\", \"created\": 1604587482.0, \"author_flair_text\": null, \"created_utc\": 1604587482.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "945" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "318" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t1_10&spam=False" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 105-6Z4Sg6SlZ5B8-TJVzEg0l8ZdL2k" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "33" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=9fmv4xT8IdTJp6L8on; loidcreated=2020-11-05T14%3A44%3A29.215Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/remove/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "315" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/remove/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 105-6Z4Sg6SlZ5B8-TJVzEg0l8ZdL2k" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9fmv4xT8IdTJp6L8on; loidcreated=2020-11-05T14%3A44%3A29.215Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_10&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_v\", \"banned_by\": \"01EPCDVERKNH4T0ABBKKPNX2J2\", \"removal_reason\": null, \"link_id\": \"t3_1f\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"10\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01EPCDVMZHJMFA9MTSD3QA3NRJ\", \"parent_id\": \"t3_1f\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Yard address form fact view him many. Three show which thought billion.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EYard address form fact view him many. Three show which thought billion.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1604587472_11_lead\", \"score_hidden\": false, \"name\": \"t1_10\", \"created\": 1604587482.0, \"author_flair_text\": null, \"created_utc\": 1604587482.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": 0, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1009" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "315" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=NikhI0HYzQHxWWMAMgErPJC%2B2AQ7WZluYCUpQtbtRZEYqH9FDpsXp6i43lc9kDB3611BSXTdWrk%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_10&raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 105-6Z4Sg6SlZ5B8-TJVzEg0l8ZdL2k" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9fmv4xT8IdTJp6L8on; loidcreated=2020-11-05T14%3A44%3A29.215Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1f/_/10?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1604587472_11_lead\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EWin similar music put.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Win similar music put.\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1f\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [], \"author\": \"01EPCDVBFC808BXDM43QK4JRFK\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1604587472_11_lead\", \"hidden\": false, \"num_comments\": 1, \"thumbnail\": \"\", \"subreddit_id\": \"t5_v\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1604587472_11_lead/comments/1f/feel_mr_begin_tend/\", \"locked\": false, \"name\": \"t3_1f\", \"created\": 1604587479.0, \"url\": \"http://reddit.local/r/1604587472_11_lead/comments/1f/feel_mr_begin_tend/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Feel Mr begin tend.\", \"created_utc\": 1604587479.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_v\", \"banned_by\": \"01EPCDVERKNH4T0ABBKKPNX2J2\", \"removal_reason\": null, \"link_id\": \"t3_1f\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"10\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01EPCDVMZHJMFA9MTSD3QA3NRJ\", \"parent_id\": \"t3_1f\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Yard address form fact view him many. Three show which thought billion.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EYard address form fact view him many. Three show which thought billion.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1604587472_11_lead\", \"score_hidden\": false, \"name\": \"t1_10\", \"created\": 1604587482.0, \"author_flair_text\": null, \"created_utc\": 1604587482.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2483" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "315" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=N6owwlNMcBzzZmxhSfRXyHaxjk2P7uxThNeao01oD5IsL0tCmKpDh4kM8ZH8ZbUX95I1WrFmu0N8CbErOeSHQ19G5AhVnFox" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1f/_/10?raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 105-6Z4Sg6SlZ5B8-TJVzEg0l8ZdL2k" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9fmv4xT8IdTJp6L8on; loidcreated=2020-11-05T14%3A44%3A29.215Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1604587472_11_lead/about/moderators/?user=01EPCDVERKNH4T0ABBKKPNX2J2&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1604587472.0, \"mod_permissions\": [\"all\"], \"name\": \"01EPCDVERKNH4T0ABBKKPNX2J2\", \"id\": \"t2_2x\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "315" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=%2BRTnamxJm8%2FBbaZhiP5YxmHh014mBUJqYU1LX7i8eDA5QO53zeqtX7I%2BOeXNtYJLAu7lj7HEgEsR%2FotGpbBu5YcvPuCULl7L" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1604587472_11_lead/about/moderators/?user=01EPCDVERKNH4T0ABBKKPNX2J2&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_get_removed_comment[user-404].json b/cassettes/channels.views.comments_test.test_get_removed_comment[user-404].json deleted file mode 100644 index 77f52eef8f..0000000000 --- a/cassettes/channels.views.comments_test.test_get_removed_comment[user-404].json +++ /dev/null @@ -1,845 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-11-05T14:44:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.24.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDTRDD0S27V71Y9KA5HE5T" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0MNT1zTE2LHIrLzKMjDCPKksptEjJdjP39Mp2DzJR0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaVFQaHVDg5Zkelm5okZQV7BmVWBRn5pRiUFpeD9KSklmUmp8ZnpoAMhnCUagEPcsmpuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=SlytKcEgaXRY8JSh1q; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sat, 05-Nov-2022 14:44:10 GMT", - "loidcreated=2020-11-05T14%3A44%3A09.734Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sat, 05-Nov-2022 14:44:10 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDTRDD0S27V71Y9KA5HE5T" - } - }, - { - "recorded_at": "2020-11-05T14:44:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=SlytKcEgaXRY8JSh1q; loidcreated=2020-11-05T14%3A44%3A09.734Z" - ], - "User-Agent": [ - "python-requests/2.24.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDTVQTKJQMPAX0E9B9QZXB" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNQQuCMACF/4rsGAUrKaSbFhOypA4WdBk6XzVEnZuEFv33XJ46vo/3vfcmqRAwhrd1gYqsHTKni5nqSt8H81R6OtfYsyt/ec0yanbhgUwdgk5JDcOlFdwVpQP7+bztFexIhlRD264R9YgmNmncBvHx/1YV5XaTBJc+YWWAIhYmcpswvkfHxDo5nlKAy9wOj4F8vt4UaK64AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDTVQTKJQMPAX0E9B9QZXB" - } - }, - { - "recorded_at": "2020-11-05T14:44:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Moment+election+goal+look+response.+Listen+hope+least+south+break+analysis+must.+Short+nation+fast+fund.%0AElection+maybe+but+sense+itself.+Occur+reduce+culture+from+say.+Improve+thus+last+be+friend+whatever+star+condition.%0AMention+service+perform+scene+hot.+Along+this+peace+question+do+together+today.%0AHour+security+discussion+within+often.%0AWhat+difficult+seem+stage+full.+Thousand+indeed+consumer+be+reach+what.&link_type=any&name=1604587453_10_item&public_description=Newspaper+meet+team+enjoy+campaign.+Budget+training+sing+second.&title=Only+cup+at+very+here+team+senior.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 102-pxmAAeF8paQVoeLFZ_z8q5KqJGM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "654" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=SlytKcEgaXRY8JSh1q; loidcreated=2020-11-05T14%3A44%3A09.734Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "347" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=SlytKcEgaXRY8JSh1q; loidcreated=2020-11-05T14%3A44%3A09.734Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDV204J8NZ5WKDCYRGHH8F" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0MNb1sSwvdfNKzSw2d3EPzDOMzPYN9i8urjAMiPBV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaF51d5uZX5hkcZGKbnlcW7pIWmZ2blhBYUZzqC9KSklmUmp8ZnpoAMhnCUagGlbDtfuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EPCDV204J8NZ5WKDCYRGHH8F" - } - }, - { - "recorded_at": "2020-11-05T14:44:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1604587453_10_item&text=Magazine+thing+range+difficult.+Piece+send+material+off+cover.+Art+tend+guess+away+would.&title=Morning+serious+true." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 101-Ml31rFwr1YX7Zvdq8dkF7IJkGR4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "199" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=SlytKcEgaXRY8JSh1q; loidcreated=2020-11-05T14%3A44%3A09.734Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1604587453_10_item/comments/1e/morning_serious_true/\", \"id\": \"1e\", \"name\": \"t3_1e\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "341" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 101-Ml31rFwr1YX7Zvdq8dkF7IJkGR4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=SlytKcEgaXRY8JSh1q; loidcreated=2020-11-05T14%3A44%3A09.734Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1e/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1604587453_10_item\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMagazine thing range difficult. Piece send material off cover. Art tend guess away would.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Magazine thing range difficult. Piece send material off cover. Art tend guess away would.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1e\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EPCDTRDD0S27V71Y9KA5HE5T\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1604587453_10_item\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_u\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1604587453_10_item/comments/1e/morning_serious_true/\", \"locked\": false, \"name\": \"t3_1e\", \"created\": 1604587459.0, \"url\": \"http://reddit.local/r/1604587453_10_item/comments/1e/morning_serious_true/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Morning serious true.\", \"created_utc\": 1604587459.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1712" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "341" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=iiAK5545qlcvGS0Win%2BhPvxZrq%2BDhtBrl6jvgvhboGvb9qrK7WGOLIXuz6Ks7RW4G2QJFlm5rk0q6xHtjPvuWZFOvq4nHkx3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1e/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Fast+guess+keep+reach+at.+Customer+production+hard+two+shoulder.&thing_id=t3_1e" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 103-L9wuFJeis7DGQn1YkMSOssx1PXM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "98" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=SlytKcEgaXRY8JSh1q; loidcreated=2020-11-05T14%3A44%3A09.734Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_u\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1e\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"z\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EPCDV204J8NZ5WKDCYRGHH8F\", \"parent_id\": \"t3_1e\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Fast guess keep reach at. Customer production hard two shoulder.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EFast guess keep reach at. Customer production hard two shoulder.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1604587453_10_item\", \"score_hidden\": false, \"name\": \"t1_z\", \"created\": 1604587462.0, \"author_flair_text\": null, \"created_utc\": 1604587462.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "929" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "338" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t1_z&spam=False" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 102-pxmAAeF8paQVoeLFZ_z8q5KqJGM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "32" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=SlytKcEgaXRY8JSh1q; loidcreated=2020-11-05T14%3A44%3A09.734Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/remove/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "334" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/remove/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 101-Ml31rFwr1YX7Zvdq8dkF7IJkGR4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=SlytKcEgaXRY8JSh1q; loidcreated=2020-11-05T14%3A44%3A09.734Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_z&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_u\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1e\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"z\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"[deleted]\", \"parent_id\": \"t3_1e\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"[removed]\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003E[removed]\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1604587453_10_item\", \"score_hidden\": false, \"name\": \"t1_z\", \"created\": 1604587462.0, \"author_flair_text\": null, \"created_utc\": 1604587462.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "847" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "334" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=83hUJk7wE1p2B4DbOrLqGkYPGycdaXj8AbjNrZbU9My6IrOJDZ%2B6DmaEXf1QqH4fXmmOlR7SSJc%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_z&raw_json=1" - } - }, - { - "recorded_at": "2020-11-05T14:44:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 101-Ml31rFwr1YX7Zvdq8dkF7IJkGR4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=SlytKcEgaXRY8JSh1q; loidcreated=2020-11-05T14%3A44%3A09.734Z" - ], - "User-Agent": [ - "MIT-Open: 0.147.2 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1e/_/z?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1604587453_10_item\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMagazine thing range difficult. Piece send material off cover. Art tend guess away would.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Magazine thing range difficult. Piece send material off cover. Art tend guess away would.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1e\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EPCDTRDD0S27V71Y9KA5HE5T\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1604587453_10_item\", \"hidden\": false, \"num_comments\": 1, \"thumbnail\": \"\", \"subreddit_id\": \"t5_u\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1604587453_10_item/comments/1e/morning_serious_true/\", \"locked\": false, \"name\": \"t3_1e\", \"created\": 1604587459.0, \"url\": \"http://reddit.local/r/1604587453_10_item/comments/1e/morning_serious_true/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Morning serious true.\", \"created_utc\": 1604587459.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1712" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 05 Nov 2020 14:44:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "334" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=HkTjOc873F19PHW0ysFtuHDIqqBr%2BvYjuhOv6emdvMzE4Ct5Px6BuIA4g0WaNcnWAeBO1LoYhorCnd46rd%2FgctBno%2BnEfL%2FG" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1e/_/z?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_list_comments[False].json b/cassettes/channels.views.comments_test.test_list_comments[False].json deleted file mode 100644 index c9bf3d1954..0000000000 --- a/cassettes/channels.views.comments_test.test_list_comments[False].json +++ /dev/null @@ -1,1240 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:22:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEHW86XXTG19Q4R0WZ0MX8E" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNrLU9TXxCUyPivc1NneyiAwyM3DPzNf1Twos9fZIVtJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9CsMzV1DktxjgrN9sgod3bSDcq3KPfNybQs9wzLB2lKSS3LTE6Nz0wBmQzhKNUCAFDRO/K6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:22:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=Xe4SGH5S3nB19nFxRK; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:22:56 GMT", - "loidcreated=2018-11-16T15%3A22%3A56.080Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:22:56 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEHW86XXTG19Q4R0WZ0MX8E" - } - }, - { - "recorded_at": "2018-11-16T15:22:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Xe4SGH5S3nB19nFxRK; loidcreated=2018-11-16T15%3A22%3A56.080Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEHWBFY8WG9VEY88E9HSA7M" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNjbQ9U9ODw1ITQl2jI9PLA/0100zTXbJNkn3M4/IV9JRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9CsywuyrEz1zKn0svQvDHTMD0iPsgzzDKxyNnAJBWlKSS3LTE6Nz0wBmQzhKNUCABsYt1a6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:22:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEHWBFY8WG9VEY88E9HSA7M" - } - }, - { - "recorded_at": "2018-11-16T15:22:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Voluptatibus+voluptatem+ea+ullam+voluptates+dicta+explicabo+cum.+Odio+nesciunt+quia+illum+odit+animi.+A+a+a+odio+quasi+ex+dolorum.+Harum+impedit+ea+sapiente+nulla+doloremque+pariatur+non.%0AAmet+optio+enim+quis+saepe.+Exercitationem+quod+excepturi+iste+quas.%0AAliquam+quaerat+incidunt+quis+dolore.+Nisi+ab+asperiores+rem+mollitia+voluptate+tempore.%0AVoluptas+amet+commodi+aliquid+inventore.+Sit+esse+et+molestiae+atque.+Veritatis+sequi+voluptates+odio+quae.&link_type=any&name=1542381779_veritatis&public_description=Impedit+enim+similique+fugit+aliquam.&title=Ea+fugiat+accusamus+repellat+odio+vitae.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2329-M4LQgZ_M37B8YR60Gio-ObQuKHc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "674" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Xe4SGH5S3nB19nFxRK; loidcreated=2018-11-16T15%3A22%3A56.080Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:22:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "421" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:23:03", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381779_veritatis&text=Dicta+dolor+non+odit.+A+et+amet+iste+itaque.+Fugit+eveniet+minima+delectus.&title=Tenetur+architecto+soluta+asperiores." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2330-OcgUPedSA__awQO-f5cDk4gN7Xo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "203" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Xe4SGH5S3nB19nFxRK; loidcreated=2018-11-16T15%3A22%3A56.080Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381779_veritatis/comments/bb/tenetur_architecto_soluta_asperiores/\", \"id\": \"bb\", \"name\": \"t3_bb\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "167" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:03 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "418" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:23:03", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2330-OcgUPedSA__awQO-f5cDk4gN7Xo" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Xe4SGH5S3nB19nFxRK; loidcreated=2018-11-16T15%3A22%3A56.080Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/bb/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381779_veritatis\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDicta dolor non odit. A et amet iste itaque. Fugit eveniet minima delectus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Dicta dolor non odit. A et amet iste itaque. Fugit eveniet minima delectus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"bb\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEHWBFY8WG9VEY88E9HSA7M\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381779_veritatis\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_64\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381779_veritatis/comments/bb/tenetur_architecto_soluta_asperiores/\", \"locked\": false, \"name\": \"t3_bb\", \"created\": 1542381782.0, \"url\": \"http://reddit.local/r/1542381779_veritatis/comments/bb/tenetur_architecto_soluta_asperiores/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Tenetur architecto soluta asperiores.\", \"created_utc\": 1542381782.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1741" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:03 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "417" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=PXlf3gKEK9GIBiPMS4OvPurP4NabGaXXp%2Ba1Ttz70P%2B1M4xtfc%2FdbW4st85CSXPHoBceAN5aYsK%2FON5CGUZtr7%2FNknJdLpju" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/bb/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:23:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Quidem+temporibus+nostrum+enim+ducimus.+Dolorum+dignissimos+fuga+a+quaerat.+Nihil+eos+at+nam+omnis.&thing_id=t3_bb" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2330-OcgUPedSA__awQO-f5cDk4gN7Xo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "133" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Xe4SGH5S3nB19nFxRK; loidcreated=2018-11-16T15%3A22%3A56.080Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_64\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_bb\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"83\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHWBFY8WG9VEY88E9HSA7M\", \"parent_id\": \"t3_bb\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Quidem temporibus nostrum enim ducimus. Dolorum dignissimos fuga a quaerat. Nihil eos at nam omnis.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuidem temporibus nostrum enim ducimus. Dolorum dignissimos fuga a quaerat. Nihil eos at nam omnis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381779_veritatis\", \"score_hidden\": false, \"name\": \"t1_83\", \"created\": 1542381786.0, \"author_flair_text\": null, \"created_utc\": 1542381786.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1004" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "414" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:23:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Quaerat+provident+eos+molestiae+totam+corporis+nulla.+Cum+optio+distinctio+repellendus+modi.&thing_id=t1_83" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2330-OcgUPedSA__awQO-f5cDk4gN7Xo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "126" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Xe4SGH5S3nB19nFxRK; loidcreated=2018-11-16T15%3A22%3A56.080Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_64\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_bb\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"84\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHWBFY8WG9VEY88E9HSA7M\", \"parent_id\": \"t1_83\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Quaerat provident eos molestiae totam corporis nulla. Cum optio distinctio repellendus modi.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuaerat provident eos molestiae totam corporis nulla. Cum optio distinctio repellendus modi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381779_veritatis\", \"score_hidden\": false, \"name\": \"t1_84\", \"created\": 1542381789.0, \"author_flair_text\": null, \"created_utc\": 1542381789.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "990" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:09 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "411" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:23:12", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Sed+necessitatibus+rem+voluptates.+Fugit+fugiat+harum+laboriosam.+Corrupti+maxime+atque+optio.&thing_id=t1_83" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2330-OcgUPedSA__awQO-f5cDk4gN7Xo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "128" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Xe4SGH5S3nB19nFxRK; loidcreated=2018-11-16T15%3A22%3A56.080Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_64\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_bb\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"85\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHWBFY8WG9VEY88E9HSA7M\", \"parent_id\": \"t1_83\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Sed necessitatibus rem voluptates. Fugit fugiat harum laboriosam. Corrupti maxime atque optio.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESed necessitatibus rem voluptates. Fugit fugiat harum laboriosam. Corrupti maxime atque optio.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381779_veritatis\", \"score_hidden\": false, \"name\": \"t1_85\", \"created\": 1542381792.0, \"author_flair_text\": null, \"created_utc\": 1542381792.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "994" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:12 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "408" - ], - "x-ratelimit-used": [ - "5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:23:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Ipsa+nobis+rem+sit+enim.+Quidem+laboriosam+similique+itaque.&thing_id=t1_83" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2330-OcgUPedSA__awQO-f5cDk4gN7Xo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "94" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Xe4SGH5S3nB19nFxRK; loidcreated=2018-11-16T15%3A22%3A56.080Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_64\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_bb\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"86\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHWBFY8WG9VEY88E9HSA7M\", \"parent_id\": \"t1_83\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Ipsa nobis rem sit enim. Quidem laboriosam similique itaque.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIpsa nobis rem sit enim. Quidem laboriosam similique itaque.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381779_veritatis\", \"score_hidden\": false, \"name\": \"t1_86\", \"created\": 1542381795.0, \"author_flair_text\": null, \"created_utc\": 1542381795.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "926" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "405" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:23:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Ipsum+porro+perferendis+cum+repudiandae+non.+Veniam+vitae+consectetur+dicta+fugit.&thing_id=t3_bb" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2330-OcgUPedSA__awQO-f5cDk4gN7Xo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "116" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Xe4SGH5S3nB19nFxRK; loidcreated=2018-11-16T15%3A22%3A56.080Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_64\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_bb\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"87\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHWBFY8WG9VEY88E9HSA7M\", \"parent_id\": \"t3_bb\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Ipsum porro perferendis cum repudiandae non. Veniam vitae consectetur dicta fugit.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIpsum porro perferendis cum repudiandae non. Veniam vitae consectetur dicta fugit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381779_veritatis\", \"score_hidden\": false, \"name\": \"t1_87\", \"created\": 1542381798.0, \"author_flair_text\": null, \"created_utc\": 1542381798.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "970" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "402" - ], - "x-ratelimit-used": [ - "7" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:23:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Quaerat+provident+eos+molestiae+totam+corporis+nulla.+Cum+optio+distinctio+repellendus+modi.&thing_id=t1_87" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2330-OcgUPedSA__awQO-f5cDk4gN7Xo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "126" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Xe4SGH5S3nB19nFxRK; loidcreated=2018-11-16T15%3A22%3A56.080Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_64\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_bb\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"88\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHWBFY8WG9VEY88E9HSA7M\", \"parent_id\": \"t1_87\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Quaerat provident eos molestiae totam corporis nulla. Cum optio distinctio repellendus modi.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuaerat provident eos molestiae totam corporis nulla. Cum optio distinctio repellendus modi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381779_veritatis\", \"score_hidden\": false, \"name\": \"t1_88\", \"created\": 1542381801.0, \"author_flair_text\": null, \"created_utc\": 1542381801.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "990" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "399" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:23:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Sed+necessitatibus+rem+voluptates.+Fugit+fugiat+harum+laboriosam.+Corrupti+maxime+atque+optio.&thing_id=t1_87" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2330-OcgUPedSA__awQO-f5cDk4gN7Xo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "128" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Xe4SGH5S3nB19nFxRK; loidcreated=2018-11-16T15%3A22%3A56.080Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_64\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_bb\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"89\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHWBFY8WG9VEY88E9HSA7M\", \"parent_id\": \"t1_87\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Sed necessitatibus rem voluptates. Fugit fugiat harum laboriosam. Corrupti maxime atque optio.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESed necessitatibus rem voluptates. Fugit fugiat harum laboriosam. Corrupti maxime atque optio.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381779_veritatis\", \"score_hidden\": false, \"name\": \"t1_89\", \"created\": 1542381801.0, \"author_flair_text\": null, \"created_utc\": 1542381801.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "994" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "399" - ], - "x-ratelimit-used": [ - "9" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:23:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Ipsa+nobis+rem+sit+enim.+Quidem+laboriosam+similique+itaque.&thing_id=t1_87" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2330-OcgUPedSA__awQO-f5cDk4gN7Xo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "94" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Xe4SGH5S3nB19nFxRK; loidcreated=2018-11-16T15%3A22%3A56.080Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_64\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_bb\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"8a\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHWBFY8WG9VEY88E9HSA7M\", \"parent_id\": \"t1_87\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Ipsa nobis rem sit enim. Quidem laboriosam similique itaque.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIpsa nobis rem sit enim. Quidem laboriosam similique itaque.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381779_veritatis\", \"score_hidden\": false, \"name\": \"t1_8a\", \"created\": 1542381801.0, \"author_flair_text\": null, \"created_utc\": 1542381801.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "926" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "399" - ], - "x-ratelimit-used": [ - "10" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:23:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2330-OcgUPedSA__awQO-f5cDk4gN7Xo" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Xe4SGH5S3nB19nFxRK; loidcreated=2018-11-16T15%3A22%3A56.080Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/bb/?limit=50&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381779_veritatis\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDicta dolor non odit. A et amet iste itaque. Fugit eveniet minima delectus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Dicta dolor non odit. A et amet iste itaque. Fugit eveniet minima delectus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"bb\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEHWBFY8WG9VEY88E9HSA7M\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381779_veritatis\", \"hidden\": false, \"num_comments\": 8, \"thumbnail\": \"\", \"subreddit_id\": \"t5_64\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381779_veritatis/comments/bb/tenetur_architecto_soluta_asperiores/\", \"locked\": false, \"name\": \"t3_bb\", \"created\": 1542381782.0, \"url\": \"http://reddit.local/r/1542381779_veritatis/comments/bb/tenetur_architecto_soluta_asperiores/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Tenetur architecto soluta asperiores.\", \"created_utc\": 1542381782.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_64\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_bb\", \"likes\": true, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_64\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_bb\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"84\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHWBFY8WG9VEY88E9HSA7M\", \"parent_id\": \"t1_83\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Quaerat provident eos molestiae totam corporis nulla. Cum optio distinctio repellendus modi.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuaerat provident eos molestiae totam corporis nulla. Cum optio distinctio repellendus modi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381779_veritatis\", \"score_hidden\": false, \"name\": \"t1_84\", \"created\": 1542381789.0, \"author_flair_text\": null, \"created_utc\": 1542381789.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_64\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_bb\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"85\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHWBFY8WG9VEY88E9HSA7M\", \"parent_id\": \"t1_83\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Sed necessitatibus rem voluptates. Fugit fugiat harum laboriosam. Corrupti maxime atque optio.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESed necessitatibus rem voluptates. Fugit fugiat harum laboriosam. Corrupti maxime atque optio.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381779_veritatis\", \"score_hidden\": false, \"name\": \"t1_85\", \"created\": 1542381792.0, \"author_flair_text\": null, \"created_utc\": 1542381792.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_64\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_bb\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"86\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHWBFY8WG9VEY88E9HSA7M\", \"parent_id\": \"t1_83\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Ipsa nobis rem sit enim. Quidem laboriosam similique itaque.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIpsa nobis rem sit enim. Quidem laboriosam similique itaque.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381779_veritatis\", \"score_hidden\": false, \"name\": \"t1_86\", \"created\": 1542381795.0, \"author_flair_text\": null, \"created_utc\": 1542381795.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"83\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHWBFY8WG9VEY88E9HSA7M\", \"parent_id\": \"t3_bb\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Quidem temporibus nostrum enim ducimus. Dolorum dignissimos fuga a quaerat. Nihil eos at nam omnis.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuidem temporibus nostrum enim ducimus. Dolorum dignissimos fuga a quaerat. Nihil eos at nam omnis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381779_veritatis\", \"score_hidden\": false, \"name\": \"t1_83\", \"created\": 1542381786.0, \"author_flair_text\": null, \"created_utc\": 1542381786.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_64\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_bb\", \"likes\": true, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_64\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_bb\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"88\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHWBFY8WG9VEY88E9HSA7M\", \"parent_id\": \"t1_87\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Quaerat provident eos molestiae totam corporis nulla. Cum optio distinctio repellendus modi.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuaerat provident eos molestiae totam corporis nulla. Cum optio distinctio repellendus modi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381779_veritatis\", \"score_hidden\": false, \"name\": \"t1_88\", \"created\": 1542381801.0, \"author_flair_text\": null, \"created_utc\": 1542381801.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_64\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_bb\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"89\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHWBFY8WG9VEY88E9HSA7M\", \"parent_id\": \"t1_87\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Sed necessitatibus rem voluptates. Fugit fugiat harum laboriosam. Corrupti maxime atque optio.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESed necessitatibus rem voluptates. Fugit fugiat harum laboriosam. Corrupti maxime atque optio.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381779_veritatis\", \"score_hidden\": false, \"name\": \"t1_89\", \"created\": 1542381801.0, \"author_flair_text\": null, \"created_utc\": 1542381801.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_64\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_bb\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"8a\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHWBFY8WG9VEY88E9HSA7M\", \"parent_id\": \"t1_87\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Ipsa nobis rem sit enim. Quidem laboriosam similique itaque.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIpsa nobis rem sit enim. Quidem laboriosam similique itaque.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381779_veritatis\", \"score_hidden\": false, \"name\": \"t1_8a\", \"created\": 1542381801.0, \"author_flair_text\": null, \"created_utc\": 1542381801.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"87\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHWBFY8WG9VEY88E9HSA7M\", \"parent_id\": \"t3_bb\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Ipsum porro perferendis cum repudiandae non. Veniam vitae consectetur dicta fugit.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIpsum porro perferendis cum repudiandae non. Veniam vitae consectetur dicta fugit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381779_veritatis\", \"score_hidden\": false, \"name\": \"t1_87\", \"created\": 1542381798.0, \"author_flair_text\": null, \"created_utc\": 1542381798.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "9343" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "289.0" - ], - "x-ratelimit-reset": [ - "389" - ], - "x-ratelimit-used": [ - "11" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=pwwKJa%2BzwbwZYQij6a20WouhGYc6JYMO0YOSi6CXUIKbtwvQR4jvHOHRyR7qjy6%2Ff1UvjmFNhwjG3Fe8VyK9aoG6DmydRwq%2F" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/bb/?limit=50&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_list_comments[True].json b/cassettes/channels.views.comments_test.test_list_comments[True].json deleted file mode 100644 index d808a79a54..0000000000 --- a/cassettes/channels.views.comments_test.test_list_comments[True].json +++ /dev/null @@ -1,1240 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:22:17", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEHV2B6D15J5D54AVX9FNB3" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNjLXNTMKKzVOLc1xCTcodwvIiSjTLapwTM/ySneJVNJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9Csy/GvdPS3SKn0Ng82CzQIKTX3S3cszyj1dyoDW5eSWpaZnBqfmQIyGcJRqgUAayg1aboAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:22:17 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=v5Ce7DfMLrPK6611mm; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:22:17 GMT", - "loidcreated=2018-11-16T15%3A22%3A17.311Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:22:17 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEHV2B6D15J5D54AVX9FNB3" - } - }, - { - "recorded_at": "2018-11-16T15:22:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=v5Ce7DfMLrPK6611mm; loidcreated=2018-11-16T15%3A22%3A17.311Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEHV5MM5Y1TMX3FRXW9PEJF" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NTQuCQBRF/4rMMgpsRjLaVTvJDLJwN0zPJw2l8yWlRf89J3ct7+Wec99EAKBzvFU3bMgqIJTR5WxtqshEsUhA9nGdiJ1WVJ5fh9ylZBoQ7LS06Lj0BFuE4dD9BLztNXrLBYVF67cO1FhNfLJYDeD17y4rwGVmU8yPxur62VTbdM9y1d3ZyUMlPiQgl6U3j4F8vg8zIQi6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:22:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEHV5MM5Y1TMX3FRXW9PEJF" - } - }, - { - "recorded_at": "2018-11-16T15:22:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Suscipit+aperiam+molestias+debitis+delectus.+Voluptates+ullam+sunt+voluptatem+aliquid+voluptatem+optio+neque.+Labore+molestiae+aut+corrupti+quis.%0ANulla+dolor+optio+fugit+quod+nisi+provident.+Impedit+quo+incidunt+at+quidem+nulla+quas.+Vero+aspernatur+beatae+alias+eligendi+magni+blanditiis+aut+magnam.&link_type=any&name=1542381740_quasi&public_description=Nulla+delectus+repellat+totam+reprehenderit+est+facere.&title=Non+harum+atque+ex+ratione.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2327-62Vu3eulDW0wFPlXv-rxAgjJgDY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "518" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=v5Ce7DfMLrPK6611mm; loidcreated=2018-11-16T15%3A22%3A17.311Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:22:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "459" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:22:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381740_quasi&text=Expedita+ea+esse+magni+ipsam+praesentium+vero.+Mollitia+dolor+veniam+amet+sequi+a+corporis.&title=Eos+modi+soluta+tempore+iusto." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2328-Aqf4q47aJciy7mJaLpo2iVzPTsM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "208" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=v5Ce7DfMLrPK6611mm; loidcreated=2018-11-16T15%3A22%3A17.311Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381740_quasi/comments/ba/eos_modi_soluta_tempore_iusto/\", \"id\": \"ba\", \"name\": \"t3_ba\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "156" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:22:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "456" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:22:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2328-Aqf4q47aJciy7mJaLpo2iVzPTsM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=v5Ce7DfMLrPK6611mm; loidcreated=2018-11-16T15%3A22%3A17.311Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ba/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381740_quasi\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita ea esse magni ipsam praesentium vero. Mollitia dolor veniam amet sequi a corporis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Expedita ea esse magni ipsam praesentium vero. Mollitia dolor veniam amet sequi a corporis.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ba\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEHV5MM5Y1TMX3FRXW9PEJF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381740_quasi\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_63\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381740_quasi/comments/ba/eos_modi_soluta_tempore_iusto/\", \"locked\": false, \"name\": \"t3_ba\", \"created\": 1542381744.0, \"url\": \"http://reddit.local/r/1542381740_quasi/comments/ba/eos_modi_soluta_tempore_iusto/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Eos modi soluta tempore iusto.\", \"created_utc\": 1542381744.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1736" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:22:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "456" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=bz4sX7fr09g3lYuWg2XrzPkB2omYQ1n67eG0OTZNUSqCzZctyRhxQHcU%2FrTMusZIAzB9SoPP4vQWHcB9L4LtTOQf6l1CyYO0" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ba/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:22:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Ab+officia+animi+ut+occaecati+praesentium.+Soluta+eos+recusandae+sapiente+repellendus+qui.&thing_id=t3_ba" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2328-Aqf4q47aJciy7mJaLpo2iVzPTsM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "124" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=v5Ce7DfMLrPK6611mm; loidcreated=2018-11-16T15%3A22%3A17.311Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_63\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_ba\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"7v\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHV5MM5Y1TMX3FRXW9PEJF\", \"parent_id\": \"t3_ba\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Ab officia animi ut occaecati praesentium. Soluta eos recusandae sapiente repellendus qui.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAb officia animi ut occaecati praesentium. Soluta eos recusandae sapiente repellendus qui.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381740_quasi\", \"score_hidden\": false, \"name\": \"t1_7v\", \"created\": 1542381747.0, \"author_flair_text\": null, \"created_utc\": 1542381747.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "982" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:22:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "453" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:22:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Numquam+earum+nobis+amet+aspernatur+nesciunt+voluptas+cum.+Voluptas+animi+enim+commodi+odit.&thing_id=t1_7v" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2328-Aqf4q47aJciy7mJaLpo2iVzPTsM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "126" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=v5Ce7DfMLrPK6611mm; loidcreated=2018-11-16T15%3A22%3A17.311Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_63\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_ba\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"7w\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHV5MM5Y1TMX3FRXW9PEJF\", \"parent_id\": \"t1_7v\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Numquam earum nobis amet aspernatur nesciunt voluptas cum. Voluptas animi enim commodi odit.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENumquam earum nobis amet aspernatur nesciunt voluptas cum. Voluptas animi enim commodi odit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381740_quasi\", \"score_hidden\": false, \"name\": \"t1_7w\", \"created\": 1542381750.0, \"author_flair_text\": null, \"created_utc\": 1542381750.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "986" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:22:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "450" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:22:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Ea+explicabo+expedita+dicta+eligendi.+Hic+eveniet+vel+nihil+culpa+qui+occaecati.&thing_id=t1_7v" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2328-Aqf4q47aJciy7mJaLpo2iVzPTsM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "114" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=v5Ce7DfMLrPK6611mm; loidcreated=2018-11-16T15%3A22%3A17.311Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_63\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_ba\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"7x\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHV5MM5Y1TMX3FRXW9PEJF\", \"parent_id\": \"t1_7v\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Ea explicabo expedita dicta eligendi. Hic eveniet vel nihil culpa qui occaecati.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEa explicabo expedita dicta eligendi. Hic eveniet vel nihil culpa qui occaecati.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381740_quasi\", \"score_hidden\": false, \"name\": \"t1_7x\", \"created\": 1542381753.0, \"author_flair_text\": null, \"created_utc\": 1542381753.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "962" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:22:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "447" - ], - "x-ratelimit-used": [ - "5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:22:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Sit+quisquam+ratione+blanditiis+blanditiis+adipisci+assumenda+et.+Quo+molestiae+esse+voluptatibus.&thing_id=t1_7v" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2328-Aqf4q47aJciy7mJaLpo2iVzPTsM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "132" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=v5Ce7DfMLrPK6611mm; loidcreated=2018-11-16T15%3A22%3A17.311Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_63\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_ba\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"7y\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHV5MM5Y1TMX3FRXW9PEJF\", \"parent_id\": \"t1_7v\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Sit quisquam ratione blanditiis blanditiis adipisci assumenda et. Quo molestiae esse voluptatibus.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESit quisquam ratione blanditiis blanditiis adipisci assumenda et. Quo molestiae esse voluptatibus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381740_quasi\", \"score_hidden\": false, \"name\": \"t1_7y\", \"created\": 1542381756.0, \"author_flair_text\": null, \"created_utc\": 1542381756.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "998" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:22:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "444" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:22:39", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Minus+blanditiis+tempore+aut+facere+voluptates+vero.+Sint+ex+nobis+quas+veniam.&thing_id=t3_ba" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2328-Aqf4q47aJciy7mJaLpo2iVzPTsM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "113" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=v5Ce7DfMLrPK6611mm; loidcreated=2018-11-16T15%3A22%3A17.311Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_63\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_ba\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"7z\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHV5MM5Y1TMX3FRXW9PEJF\", \"parent_id\": \"t3_ba\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Minus blanditiis tempore aut facere voluptates vero. Sint ex nobis quas veniam.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMinus blanditiis tempore aut facere voluptates vero. Sint ex nobis quas veniam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381740_quasi\", \"score_hidden\": false, \"name\": \"t1_7z\", \"created\": 1542381759.0, \"author_flair_text\": null, \"created_utc\": 1542381759.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "960" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:22:39 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "441" - ], - "x-ratelimit-used": [ - "7" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:22:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Numquam+earum+nobis+amet+aspernatur+nesciunt+voluptas+cum.+Voluptas+animi+enim+commodi+odit.&thing_id=t1_7z" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2328-Aqf4q47aJciy7mJaLpo2iVzPTsM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "126" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=v5Ce7DfMLrPK6611mm; loidcreated=2018-11-16T15%3A22%3A17.311Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_63\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_ba\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"80\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHV5MM5Y1TMX3FRXW9PEJF\", \"parent_id\": \"t1_7z\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Numquam earum nobis amet aspernatur nesciunt voluptas cum. Voluptas animi enim commodi odit.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENumquam earum nobis amet aspernatur nesciunt voluptas cum. Voluptas animi enim commodi odit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381740_quasi\", \"score_hidden\": false, \"name\": \"t1_80\", \"created\": 1542381762.0, \"author_flair_text\": null, \"created_utc\": 1542381762.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "986" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:22:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "438" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:22:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Ea+explicabo+expedita+dicta+eligendi.+Hic+eveniet+vel+nihil+culpa+qui+occaecati.&thing_id=t1_7z" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2328-Aqf4q47aJciy7mJaLpo2iVzPTsM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "114" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=v5Ce7DfMLrPK6611mm; loidcreated=2018-11-16T15%3A22%3A17.311Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_63\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_ba\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"81\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHV5MM5Y1TMX3FRXW9PEJF\", \"parent_id\": \"t1_7z\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Ea explicabo expedita dicta eligendi. Hic eveniet vel nihil culpa qui occaecati.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEa explicabo expedita dicta eligendi. Hic eveniet vel nihil culpa qui occaecati.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381740_quasi\", \"score_hidden\": false, \"name\": \"t1_81\", \"created\": 1542381762.0, \"author_flair_text\": null, \"created_utc\": 1542381762.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "962" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:22:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "438" - ], - "x-ratelimit-used": [ - "9" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:22:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Sit+quisquam+ratione+blanditiis+blanditiis+adipisci+assumenda+et.+Quo+molestiae+esse+voluptatibus.&thing_id=t1_7z" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2328-Aqf4q47aJciy7mJaLpo2iVzPTsM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "132" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=v5Ce7DfMLrPK6611mm; loidcreated=2018-11-16T15%3A22%3A17.311Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_63\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_ba\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"82\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHV5MM5Y1TMX3FRXW9PEJF\", \"parent_id\": \"t1_7z\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Sit quisquam ratione blanditiis blanditiis adipisci assumenda et. Quo molestiae esse voluptatibus.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESit quisquam ratione blanditiis blanditiis adipisci assumenda et. Quo molestiae esse voluptatibus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381740_quasi\", \"score_hidden\": false, \"name\": \"t1_82\", \"created\": 1542381762.0, \"author_flair_text\": null, \"created_utc\": 1542381762.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "998" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:22:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "438" - ], - "x-ratelimit-used": [ - "10" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:22:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2328-Aqf4q47aJciy7mJaLpo2iVzPTsM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=v5Ce7DfMLrPK6611mm; loidcreated=2018-11-16T15%3A22%3A17.311Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ba/?limit=50&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381740_quasi\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita ea esse magni ipsam praesentium vero. Mollitia dolor veniam amet sequi a corporis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Expedita ea esse magni ipsam praesentium vero. Mollitia dolor veniam amet sequi a corporis.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ba\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEHV5MM5Y1TMX3FRXW9PEJF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381740_quasi\", \"hidden\": false, \"num_comments\": 8, \"thumbnail\": \"\", \"subreddit_id\": \"t5_63\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381740_quasi/comments/ba/eos_modi_soluta_tempore_iusto/\", \"locked\": false, \"name\": \"t3_ba\", \"created\": 1542381744.0, \"url\": \"http://reddit.local/r/1542381740_quasi/comments/ba/eos_modi_soluta_tempore_iusto/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Eos modi soluta tempore iusto.\", \"created_utc\": 1542381744.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_63\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_ba\", \"likes\": true, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_63\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_ba\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"7w\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHV5MM5Y1TMX3FRXW9PEJF\", \"parent_id\": \"t1_7v\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Numquam earum nobis amet aspernatur nesciunt voluptas cum. Voluptas animi enim commodi odit.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENumquam earum nobis amet aspernatur nesciunt voluptas cum. Voluptas animi enim commodi odit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381740_quasi\", \"score_hidden\": false, \"name\": \"t1_7w\", \"created\": 1542381750.0, \"author_flair_text\": null, \"created_utc\": 1542381750.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_63\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_ba\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"7x\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHV5MM5Y1TMX3FRXW9PEJF\", \"parent_id\": \"t1_7v\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Ea explicabo expedita dicta eligendi. Hic eveniet vel nihil culpa qui occaecati.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEa explicabo expedita dicta eligendi. Hic eveniet vel nihil culpa qui occaecati.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381740_quasi\", \"score_hidden\": false, \"name\": \"t1_7x\", \"created\": 1542381753.0, \"author_flair_text\": null, \"created_utc\": 1542381753.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_63\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_ba\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"7y\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHV5MM5Y1TMX3FRXW9PEJF\", \"parent_id\": \"t1_7v\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Sit quisquam ratione blanditiis blanditiis adipisci assumenda et. Quo molestiae esse voluptatibus.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESit quisquam ratione blanditiis blanditiis adipisci assumenda et. Quo molestiae esse voluptatibus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381740_quasi\", \"score_hidden\": false, \"name\": \"t1_7y\", \"created\": 1542381756.0, \"author_flair_text\": null, \"created_utc\": 1542381756.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"7v\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHV5MM5Y1TMX3FRXW9PEJF\", \"parent_id\": \"t3_ba\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Ab officia animi ut occaecati praesentium. Soluta eos recusandae sapiente repellendus qui.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAb officia animi ut occaecati praesentium. Soluta eos recusandae sapiente repellendus qui.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381740_quasi\", \"score_hidden\": false, \"name\": \"t1_7v\", \"created\": 1542381747.0, \"author_flair_text\": null, \"created_utc\": 1542381747.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_63\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_ba\", \"likes\": true, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_63\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_ba\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"80\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHV5MM5Y1TMX3FRXW9PEJF\", \"parent_id\": \"t1_7z\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Numquam earum nobis amet aspernatur nesciunt voluptas cum. Voluptas animi enim commodi odit.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENumquam earum nobis amet aspernatur nesciunt voluptas cum. Voluptas animi enim commodi odit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381740_quasi\", \"score_hidden\": false, \"name\": \"t1_80\", \"created\": 1542381762.0, \"author_flair_text\": null, \"created_utc\": 1542381762.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_63\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_ba\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"81\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHV5MM5Y1TMX3FRXW9PEJF\", \"parent_id\": \"t1_7z\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Ea explicabo expedita dicta eligendi. Hic eveniet vel nihil culpa qui occaecati.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEa explicabo expedita dicta eligendi. Hic eveniet vel nihil culpa qui occaecati.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381740_quasi\", \"score_hidden\": false, \"name\": \"t1_81\", \"created\": 1542381762.0, \"author_flair_text\": null, \"created_utc\": 1542381762.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_63\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_ba\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"82\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHV5MM5Y1TMX3FRXW9PEJF\", \"parent_id\": \"t1_7z\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Sit quisquam ratione blanditiis blanditiis adipisci assumenda et. Quo molestiae esse voluptatibus.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESit quisquam ratione blanditiis blanditiis adipisci assumenda et. Quo molestiae esse voluptatibus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381740_quasi\", \"score_hidden\": false, \"name\": \"t1_82\", \"created\": 1542381762.0, \"author_flair_text\": null, \"created_utc\": 1542381762.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"7z\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEHV5MM5Y1TMX3FRXW9PEJF\", \"parent_id\": \"t3_ba\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Minus blanditiis tempore aut facere voluptates vero. Sint ex nobis quas veniam.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMinus blanditiis tempore aut facere voluptates vero. Sint ex nobis quas veniam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542381740_quasi\", \"score_hidden\": false, \"name\": \"t1_7z\", \"created\": 1542381759.0, \"author_flair_text\": null, \"created_utc\": 1542381759.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "9378" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:22:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "289.0" - ], - "x-ratelimit-reset": [ - "428" - ], - "x-ratelimit-used": [ - "11" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=AOhr6sMmCNPghNjkoPUmpd7RH4VS4mdkcg49%2B07UsfSFyFISHUarvzaX9fozgdOQNV3Kkz3pvJDEQmmLhMo4xD51UXHGpuzk" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ba/?limit=50&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_list_comments_anonymous.json b/cassettes/channels.views.comments_test.test_list_comments_anonymous.json deleted file mode 100644 index cbec5c8411..0000000000 --- a/cassettes/channels.views.comments_test.test_list_comments_anonymous.json +++ /dev/null @@ -1,676 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T17:48:57", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGV86QAH0JQVFXX7R50YHD" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNzQqCQACEX0X2GAlq/x0rBEskL0VdFltHXaRd2xXbiN49N08d52O+mTfJGIPWtJU1BFk7xJ8GbriJo/huTB4dEXW12Jv0sT2vylKmZOwQmIYraMqtMJl7Xs9+Pm1fDezIDZmCsl3N5IBGNikUvVj9vyU4pcHT9Wc41MlCimtVhF0idhe9tE6OjjNQntvhIZDPF3pRKLK4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:57 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=hkKpsdSOI2UKXcCvZ0; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:48:57 GMT", - "loidcreated=2018-08-24T17%3A48%3A57.391Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:48:57 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGV86QAH0JQVFXX7R50YHD" - } - }, - { - "recorded_at": "2018-08-24T17:48:57", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Et+voluptas+praesentium+a+officia.+Officia+earum+aut+deserunt+exercitationem+possimus+eum+veniam.+Atque+facilis+blanditiis+numquam+dignissimos+voluptates.+Aliquid+maxime+quam+delectus+tempore.%0AQuisquam+suscipit+aperiam+nesciunt+sequi+ea+adipisci+at.+Itaque+vitae+aut+saepe+necessitatibus.+Occaecati+dolorum+fuga+assumenda+occaecati+harum+et+aliquam.&link_type=any&name=1535132937_in&public_description=Accusantium+hic+temporibus+ex+saepe.+Ex+consequatur+saepe+illum+aspernatur.&title=Molestias+temporibus+laborum+rerum.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 142-FBLILmxxdIPeIvknJxQqCW9ggoQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "592" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=hkKpsdSOI2UKXcCvZ0; loidcreated=2018-08-24T17%3A48%3A57.391Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:48:57 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "63" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:49:01", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=hkKpsdSOI2UKXcCvZ0; loidcreated=2018-08-24T17%3A48%3A57.391Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CBD756K3RS4Z59TCJ46QCHZJ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0MdZN9yo2C3ELyc+LiKiwDHItDiuwCEl2N0t2ckxX0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaVlURWlPjlR1iUpvmHhbmaWbilF/sHF/l6WZaD9KSklmUmp8ZnpoAMhnCUagFfkQsLuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:01 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CBD756K3RS4Z59TCJ46QCHZJ" - } - }, - { - "recorded_at": "2018-08-24T17:49:01", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535132937_in&text=Modi+corrupti+aliquam+quibusdam+nostrum+id+harum+nisi.+Voluptatem+rem+adipisci+autem.&title=Sed+quas+necessitatibus+distinctio+aliquam." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 143-gJs6TFTonXXx9REsVp8TcG6cBAg" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "212" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=hkKpsdSOI2UKXcCvZ0; loidcreated=2018-08-24T17%3A48%3A57.391Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535132937_in/comments/5/sed_quas_necessitatibus_distinctio_aliquam/\", \"id\": \"5\", \"name\": \"t3_5\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "163" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:01 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "59" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:49:01", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 143-gJs6TFTonXXx9REsVp8TcG6cBAg" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=hkKpsdSOI2UKXcCvZ0; loidcreated=2018-08-24T17%3A48%3A57.391Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/5/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535132937_in\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EModi corrupti aliquam quibusdam nostrum id harum nisi. Voluptatem rem adipisci autem.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Modi corrupti aliquam quibusdam nostrum id harum nisi. Voluptatem rem adipisci autem.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"5\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CBD756K3RS4Z59TCJ46QCHZJ\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535132937_in\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_k\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535132937_in/comments/5/sed_quas_necessitatibus_distinctio_aliquam/\", \"locked\": false, \"name\": \"t3_5\", \"created\": 1535132941.0, \"url\": \"http://reddit.local/r/1535132937_in/comments/5/sed_quas_necessitatibus_distinctio_aliquam/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Sed quas necessitatibus distinctio aliquam.\", \"created_utc\": 1535132941.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1746" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:01 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "59" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=VYstf46nVEfqTQ3UmDKYevUKci7M9reXZC9Mvji6ZBhDhYJv%2FTsqnysDhNHestws66mSVg%2Bv5SUVVYt8dhV7YVH5FWWXyKrM" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/5/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:49:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Velit+officia+nostrum+quis+error.+Totam+fugiat+odit+harum+culpa.&thing_id=t3_5" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 143-gJs6TFTonXXx9REsVp8TcG6cBAg" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "97" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=hkKpsdSOI2UKXcCvZ0; loidcreated=2018-08-24T17%3A48%3A57.391Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_k\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_5\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBD756K3RS4Z59TCJ46QCHZJ\", \"parent_id\": \"t3_5\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Velit officia nostrum quis error. Totam fugiat odit harum culpa.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVelit officia nostrum quis error. Totam fugiat odit harum culpa.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132937_in\", \"score_hidden\": false, \"name\": \"t1_3\", \"created\": 1535132944.0, \"author_flair_text\": null, \"created_utc\": 1535132944.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "922" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "56" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:49:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=client_credentials" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic b2RfY2xpZW50X2lkOm9kX2NsaWVudF9zZWNyZXQ=" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "29" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=hkKpsdSOI2UKXcCvZ0; loidcreated=2018-08-24T17%3A48%3A57.391Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"-91PXK6Ko1QEAXGhltx1v7mZPdMc\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "106" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297" - ], - "x-ratelimit-reset": [ - "53" - ], - "x-ratelimit-used": [ - "3" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2018-08-24T17:49:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer -91PXK6Ko1QEAXGhltx1v7mZPdMc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=hkKpsdSOI2UKXcCvZ0; loidcreated=2018-08-24T17%3A48%3A57.391Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/5/?limit=50&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": \"\", \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535132937_in\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EModi corrupti aliquam quibusdam nostrum id harum nisi. Voluptatem rem adipisci autem.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Modi corrupti aliquam quibusdam nostrum id harum nisi. Voluptatem rem adipisci autem.\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"5\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CBD756K3RS4Z59TCJ46QCHZJ\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535132937_in\", \"hidden\": false, \"num_comments\": 1, \"thumbnail\": \"\", \"subreddit_id\": \"t5_k\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/1535132937_in/comments/5/sed_quas_necessitatibus_distinctio_aliquam/\", \"locked\": false, \"name\": \"t3_5\", \"created\": 1535132941.0, \"url\": \"http://reddit.local/r/1535132937_in/comments/5/sed_quas_necessitatibus_distinctio_aliquam/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Sed quas necessitatibus distinctio aliquam.\", \"created_utc\": 1535132941.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": \"\", \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_k\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_5\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBD756K3RS4Z59TCJ46QCHZJ\", \"parent_id\": \"t3_5\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Velit officia nostrum quis error. Totam fugiat odit harum culpa.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVelit officia nostrum quis error. Totam fugiat odit harum culpa.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132937_in\", \"score_hidden\": false, \"name\": \"t1_3\", \"created\": 1535132944.0, \"author_flair_text\": null, \"created_utc\": 1535132944.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2615" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296" - ], - "x-ratelimit-reset": [ - "53" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=20FPF4lKQByIx1oYsDgLgVh7W68WpugseE8xkOfPB2LZMrrohETfxgLMtO%2FuVwgLBDqB7d6wffyL1VBAmoRSebObxzgATEZA" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/5/?limit=50&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_list_comments_forbidden.json b/cassettes/channels.views.comments_test.test_list_comments_forbidden.json deleted file mode 100644 index 2a93ac7d37..0000000000 --- a/cassettes/channels.views.comments_test.test_list_comments_forbidden.json +++ /dev/null @@ -1,759 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:23:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEHXEHDBJAWFBH478SCF729" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NsQ6CMBRFf4V0NJoATRzc0AQHJwcisrxg+5CCpdiCtRr/XSqb472559w3KRlDY2BQLXZkE5CY0mg1GjzteZy0Ge9KWRx07kbFZPS6Z2QZEHz2QqMB4Qm6DsOp+wlgcD16ywVLjdpvDVNztfBJYzWB9d/d+ToUDdoUGmu2VdolbtzdIK+kPXqI40MwBMG9eQ7k8wUhdlvcugAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=9NlTZH0lb2dmFEqCHB; Domain=reddit.local; Max-Age=63072000; Path=/; expires=Sun, 15-Nov-2020 15:23:35 GMT", - "loidcreated=2018-11-16T15%3A23%3A35.308Z; Domain=reddit.local; Max-Age=63072000; Path=/; expires=Sun, 15-Nov-2020 15:23:35 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEHXEHDBJAWFBH478SCF729" - } - }, - { - "recorded_at": "2018-11-16T15:23:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Ut+nesciunt+totam+facilis+iure+deserunt+consequuntur.+Maxime+sint+delectus+repudiandae+dolor+alias+placeat.+Recusandae+explicabo+distinctio+dolor+labore+ea.%0ARem+pariatur+temporibus+nemo+neque+placeat.+Facere+dignissimos+et+veritatis.%0AUnde+nisi+assumenda+aut+ducimus+unde+non+ipsum.+Ea+repudiandae+reprehenderit+magni.+Ullam+voluptatibus+placeat+aspernatur+a+temporibus+autem+facilis.+Nihil+corporis+quae+corporis+voluptatem+libero.&link_type=any&name=1542381815_molestiae&public_description=Minima+eveniet+mollitia+vel+eos.&title=Voluptas+tempore+reiciendis+officia.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2331-useWGd2AkUdnamZKrXyuocm1zqU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "642" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=9NlTZH0lb2dmFEqCHB; loidcreated=2018-11-16T15%3A23%3A35.308Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "385" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:23:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9NlTZH0lb2dmFEqCHB; loidcreated=2018-11-16T15%3A23%3A35.308Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEHXMTZB34JB7G773JZ98EB" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NQQvCIBzFv8rwGAWiw6JjEbRLSxZlXWTqP7Ioh46WRN+92W4d3+P9fu+Naq0hBNm6GzzQPEOEUjIJS75fzMg0Xwu+Om4rQRpMRVfdTY7GGYJXYz0EaRNBGcZ99xPINjaQLApqDz5tg3ZDNUrJw7kHL3931YYZUFdedjTGmpx2pXRFcVDM8wQZeFoN0ppkHgL6fAHWigmAugAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEHXMTZB34JB7G773JZ98EB" - } - }, - { - "recorded_at": "2018-11-16T15:23:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CWEHXMTZB34JB7G773JZ98EB&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2331-useWGd2AkUdnamZKrXyuocm1zqU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=9NlTZH0lb2dmFEqCHB; loidcreated=2018-11-16T15%3A23%3A35.308Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542381815_molestiae/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "378" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542381815_molestiae/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:23:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542381815_molestiae" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2332-sCQVB8274HXQEYPSX2p03XwSmd4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=9NlTZH0lb2dmFEqCHB; loidcreated=2018-11-16T15%3A23%3A35.308Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "378" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:23:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381815_molestiae&text=Nesciunt+fugit+velit+explicabo.+Est+tenetur+exercitationem+ipsam+deleniti+facere.&title=Totam+ad+dolorem+ex+perspiciatis+quis+officiis." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2332-sCQVB8274HXQEYPSX2p03XwSmd4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "219" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=9NlTZH0lb2dmFEqCHB; loidcreated=2018-11-16T15%3A23%3A35.308Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381815_molestiae/comments/bc/totam_ad_dolorem_ex_perspiciatis_quis_officiis/\", \"id\": \"bc\", \"name\": \"t3_bc\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "177" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "378" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:23:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2332-sCQVB8274HXQEYPSX2p03XwSmd4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9NlTZH0lb2dmFEqCHB; loidcreated=2018-11-16T15%3A23%3A35.308Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/bc/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381815_molestiae\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENesciunt fugit velit explicabo. Est tenetur exercitationem ipsam deleniti facere.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Nesciunt fugit velit explicabo. Est tenetur exercitationem ipsam deleniti facere.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"bc\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEHXMTZB34JB7G773JZ98EB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381815_molestiae\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_65\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381815_molestiae/comments/bc/totam_ad_dolorem_ex_perspiciatis_quis_officiis/\", \"locked\": false, \"name\": \"t3_bc\", \"created\": 1542381822.0, \"url\": \"http://reddit.local/r/1542381815_molestiae/comments/bc/totam_ad_dolorem_ex_perspiciatis_quis_officiis/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Totam ad dolorem ex perspiciatis quis officiis.\", \"created_utc\": 1542381822.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1783" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "378" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=j0sW7On18p%2Fkvp0oA%2BKArtLWgzVvsVXwp8nYqN7J3YUDrPfGldtpqr9A4G3W%2FcPPG2d5bMvrhqQ12ro9TucxvZiBgambWe6L" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/bc/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:23:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9NlTZH0lb2dmFEqCHB; loidcreated=2018-11-16T15%3A23%3A35.308Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEHXVB133SY0Z4A3HX765NT" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNjbWdUy3KMsNiUwuNTQNN3LKcncsM/bKMPUyS48IVNJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9Cs83VyDEks8CoMSja1qIpw1zV1SS0zN/HMyrRIBmlKSS3LTE6Nz0wBmQzhKNUCAPNaGk26AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEHXVB133SY0Z4A3HX765NT" - } - }, - { - "recorded_at": "2018-11-16T15:23:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2333-Ag8vmTYcu15W2BjGAv3Jh5J6gXQ" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9NlTZH0lb2dmFEqCHB; loidcreated=2018-11-16T15%3A23%3A35.308Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/bc/?limit=50&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"message\": \"Forbidden\", \"error\": 403}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "38" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:23:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "375" - ], - "x-ratelimit-used": [ - "1" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=X%2F6TR3ghSC6bLYjvPmnCdRd7%2B%2BwxDeb%2FbYJBkANlTvx9LRfLJtZsZDD39FBCUN8SFFSNCN34fSWOlMs2aHhmEUEwgDHtaQXh" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 403, - "message": "Forbidden" - }, - "url": "https://reddit.local/comments/bc/?limit=50&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_list_comments_more.json b/cassettes/channels.views.comments_test.test_list_comments_more.json deleted file mode 100644 index f44482f203..0000000000 --- a/cassettes/channels.views.comments_test.test_list_comments_more.json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-13T17:52:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=george" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNQQ6CMBREr0K6NJq0IdXgGqPERLbqpqHlAwWF5rdq1Xh3qaxczsu8mTcplAJrhRs66Mk6IoyvFvIl2+1R7pzPXFvjsMnbvWGyP7kHmUcEvNEIVuggxEtKR/bzhXsaCCMSCgQMXauGCc1CQqhGsfl/ywVkPO3i5JYeeH9tLmesfIYsQRqcEu5agdBlGJ4C+XwBUKJ7CrgAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 13 Nov 2017 17:52:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=DVnLYv1DIpqIbHDd6y; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 13-Nov-2019 17:52:31 GMT", - "loidcreated=2017-11-13T17%3A52%3A31.739Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 13-Nov-2019 17:52:31 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=george" - } - }, - { - "recorded_at": "2017-11-13T17:52:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 157-bzbjGXbHtxItjgroEOjKp1bnYtw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=DVnLYv1DIpqIbHDd6y; loidcreated=2017-11-13T17%3A52%3A31.739Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1/?limit=50&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"dedp2\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Enew post!\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"new post!\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BV2GMJBJJ46477S1K0NQ3EE1\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.dedp2\", \"hidden\": false, \"num_comments\": 68, \"thumbnail\": \"\", \"subreddit_id\": \"t5_4\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/dedp2/comments/1/new_post/\", \"locked\": false, \"name\": \"t3_1\", \"created\": 1508356134.0, \"url\": \"http://reddit.local/r/dedp2/comments/1/new_post/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"new post\", \"created_utc\": 1508356134.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"o\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_n\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"k;lkl;\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ek;lkl;\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_o\", \"created\": 1508780725.0, \"author_flair_text\": null, \"created_utc\": 1508780725.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"n\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_m\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"oasd\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eoasd\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_n\", \"created\": 1508780714.0, \"author_flair_text\": null, \"created_utc\": 1508780714.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"m\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"m\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Em\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_m\", \"created\": 1508442442.0, \"author_flair_text\": null, \"created_utc\": 1508442442.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"1\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"a\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ea\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_1\", \"created\": 1508439032.0, \"author_flair_text\": null, \"created_utc\": 1508439032.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"b\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eb\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_2\", \"created\": 1508439055.0, \"author_flair_text\": null, \"created_utc\": 1508439055.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"c\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ec\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_3\", \"created\": 1508439058.0, \"author_flair_text\": null, \"created_utc\": 1508439058.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"4\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"d\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ed\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_4\", \"created\": 1508439060.0, \"author_flair_text\": null, \"created_utc\": 1508439060.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"j\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_d\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"test\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Etest\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_j\", \"created\": 1508441351.0, \"author_flair_text\": null, \"created_utc\": 1508441351.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"more\", \"data\": {\"count\": 0, \"parent_id\": \"t1_e8v\", \"children\": [], \"name\": \"t1__\", \"id\": \"_\"}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"e8v\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t1_e8u\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"deep comment test d\", \"edited\": 1510244426.0, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Edeep comment test d\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e8v\", \"created\": 1510244138.0, \"author_flair_text\": null, \"created_utc\": 1510244138.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"e8u\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t1_e8t\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"deep comment test c\", \"edited\": 1510244419.0, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Edeep comment test c\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e8u\", \"created\": 1510244135.0, \"author_flair_text\": null, \"created_utc\": 1510244135.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"e8t\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t1_e8s\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"deep comment test b\", \"edited\": 1510244414.0, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Edeep comment test b\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e8t\", \"created\": 1510244132.0, \"author_flair_text\": null, \"created_utc\": 1510244132.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"e8s\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t1_k\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"deep comment test a\", \"edited\": 1510244408.0, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Edeep comment test a\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e8s\", \"created\": 1510244129.0, \"author_flair_text\": null, \"created_utc\": 1510244129.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"k\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_d\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"test2\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Etest2\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_k\", \"created\": 1508441445.0, \"author_flair_text\": null, \"created_utc\": 1508441445.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"d\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_a\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"ignore this one\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eignore this one\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_d\", \"created\": 1508439674.0, \"author_flair_text\": null, \"created_utc\": 1508439674.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"a\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_9\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e2b\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee2b\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_a\", \"created\": 1508439089.0, \"author_flair_text\": null, \"created_utc\": 1508439089.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_b\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"ignore this one\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eignore this one\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e\", \"created\": 1508439679.0, \"author_flair_text\": null, \"created_utc\": 1508439679.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"b\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_9\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e2b\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee2b\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_b\", \"created\": 1508439658.0, \"author_flair_text\": null, \"created_utc\": 1508439658.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"f\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_9\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e2a1\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee2a1\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_f\", \"created\": 1508439689.0, \"author_flair_text\": null, \"created_utc\": 1508439689.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"g\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_9\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e2a2\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee2a2\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_g\", \"created\": 1508439694.0, \"author_flair_text\": null, \"created_utc\": 1508439694.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"h\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_9\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e2a3\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee2a3\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_h\", \"created\": 1508439698.0, \"author_flair_text\": null, \"created_utc\": 1508439698.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"i\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_9\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e2a4\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee2a4\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_i\", \"created\": 1508439702.0, \"author_flair_text\": null, \"created_utc\": 1508439702.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"9\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_6\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e2a\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee2a\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_9\", \"created\": 1508439084.0, \"author_flair_text\": null, \"created_utc\": 1508439084.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"c\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_6\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e2b\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee2b\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_c\", \"created\": 1508439666.0, \"author_flair_text\": null, \"created_utc\": 1508439666.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"6\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_5\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e2\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee2\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_6\", \"created\": 1508439067.0, \"author_flair_text\": null, \"created_utc\": 1508439067.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"7\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_5\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e3\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee3\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_7\", \"created\": 1508439071.0, \"author_flair_text\": null, \"created_utc\": 1508439071.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"8\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_5\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e1\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee1\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_8\", \"created\": 1508439075.0, \"author_flair_text\": null, \"created_utc\": 1508439075.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"5\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_5\", \"created\": 1508439062.0, \"author_flair_text\": null, \"created_utc\": 1508439062.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"l\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"1\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003E1\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_l\", \"created\": 1508441468.0, \"author_flair_text\": null, \"created_utc\": 1508441468.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"p\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"reply_to_post 2\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ereply_to_post 2\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_p\", \"created\": 1508782291.0, \"author_flair_text\": null, \"created_utc\": 1508782291.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e8x\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 1\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 1\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e8x\", \"created\": 1510244977.0, \"author_flair_text\": null, \"created_utc\": 1510244977.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e8y\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 2\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 2\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e8y\", \"created\": 1510244981.0, \"author_flair_text\": null, \"created_utc\": 1510244981.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e8z\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 3\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 3\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e8z\", \"created\": 1510244984.0, \"author_flair_text\": null, \"created_utc\": 1510244984.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e90\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 4\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 4\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e90\", \"created\": 1510244987.0, \"author_flair_text\": null, \"created_utc\": 1510244987.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e91\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 5\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 5\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e91\", \"created\": 1510244990.0, \"author_flair_text\": null, \"created_utc\": 1510244990.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e92\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 6\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 6\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e92\", \"created\": 1510244994.0, \"author_flair_text\": null, \"created_utc\": 1510244994.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e93\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 6\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 6\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e93\", \"created\": 1510245015.0, \"author_flair_text\": null, \"created_utc\": 1510245015.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e94\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 7\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 7\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e94\", \"created\": 1510245019.0, \"author_flair_text\": null, \"created_utc\": 1510245019.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e95\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 8\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 8\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e95\", \"created\": 1510245022.0, \"author_flair_text\": null, \"created_utc\": 1510245022.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e96\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 9\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 9\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e96\", \"created\": 1510245025.0, \"author_flair_text\": null, \"created_utc\": 1510245025.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e97\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 10\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 10\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e97\", \"created\": 1510245028.0, \"author_flair_text\": null, \"created_utc\": 1510245028.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e99\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 11\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 11\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e99\", \"created\": 1510245063.0, \"author_flair_text\": null, \"created_utc\": 1510245063.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9b\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 12\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 12\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9b\", \"created\": 1510245158.0, \"author_flair_text\": null, \"created_utc\": 1510245158.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9c\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 13\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 13\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9c\", \"created\": 1510245163.0, \"author_flair_text\": null, \"created_utc\": 1510245163.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9d\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 14\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 14\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9d\", \"created\": 1510245166.0, \"author_flair_text\": null, \"created_utc\": 1510245166.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9f\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 15\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 15\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9f\", \"created\": 1510245329.0, \"author_flair_text\": null, \"created_utc\": 1510245329.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9g\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 16\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 16\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9g\", \"created\": 1510245332.0, \"author_flair_text\": null, \"created_utc\": 1510245332.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9h\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 21\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 21\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9h\", \"created\": 1510245340.0, \"author_flair_text\": null, \"created_utc\": 1510245340.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9i\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 22\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 22\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9i\", \"created\": 1510245344.0, \"author_flair_text\": null, \"created_utc\": 1510245344.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9j\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 23\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 23\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9j\", \"created\": 1510245348.0, \"author_flair_text\": null, \"created_utc\": 1510245348.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9k\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 24\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 24\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9k\", \"created\": 1510245351.0, \"author_flair_text\": null, \"created_utc\": 1510245351.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"more\", \"data\": {\"count\": 16, \"parent_id\": \"t3_1\", \"children\": [\"e9l\", \"e9m\", \"e9n\", \"e9q\"], \"name\": \"t1_e9l\", \"id\": \"e9l\"}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "40657" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 13 Nov 2017 17:52:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "449" - ], - "x-ratelimit-used": [ - "1" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=hZDV1fgy27hHYNEGx4n2Pmz%2BuE5wEx14QwhAroIut3rxV%2BjrKCcuL%2FjHCaMpVZ%2BO9%2BUJPExFi983yLRmTuLQj1wsy7PM0EHW" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1/?limit=50&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_list_comments_none.json b/cassettes/channels.views.comments_test.test_list_comments_none.json deleted file mode 100644 index 1a0994a014..0000000000 --- a/cassettes/channels.views.comments_test.test_list_comments_none.json +++ /dev/null @@ -1,688 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T17:49:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGW1MRQFGFE0SM9Y51E7HT" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0MdXNDExMqQr2ySvKSg9y96r0ywuzdDct98i1rCxW0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaFmrialxoF+pf5VyV7WLp6+JqYWDhVhjomFWaD9KSklmUmp8ZnpoAMhnCUagErBRpYuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=on7HkfT8vm8jKHJPEU; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:49:23 GMT", - "loidcreated=2018-08-24T17%3A49%3A23.456Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:49:23 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGW1MRQFGFE0SM9Y51E7HT" - } - }, - { - "recorded_at": "2018-08-24T17:49:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Cum+optio+totam+numquam+sed+quasi+est.+Aspernatur+minus+hic+debitis+dolor+fugit.%0ASed+consectetur+aspernatur+excepturi+a+cum+tempora.+Facere+repellendus+in+assumenda+neque+necessitatibus+mollitia+cupiditate.+Natus+consectetur+molestias+nisi+harum+sunt.%0AAb+rerum+reiciendis+neque+impedit+magnam+reiciendis.+Ad+in+voluptas+quasi+blanditiis+consequatur+ut.&link_type=any&name=1535132963_officiis&public_description=Rem+beatae+reprehenderit+et+dicta.+Nulla+error+aspernatur+voluptatibus+excepturi.&title=Ab+repellat+itaque+est+cumque+illum.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 145-iQadzSLnrjgRGJyNnV9G5wHm9ys" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "611" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=on7HkfT8vm8jKHJPEU; loidcreated=2018-08-24T17%3A49%3A23.456Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "37" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:49:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=on7HkfT8vm8jKHJPEU; loidcreated=2018-08-24T17%3A49%3A23.456Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGW7ZG13PANK53NT2TVXX2" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0MdP18g7xDa1KLQ9N8zF3dU73KfTKcfTxD9etzLRQ0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYl5xqkeVSVeOgGVyQVWJZVOocZhQQ4mxtX5eeD9KSklmUmp8ZnpoAMhnCUagGcavXluAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGW7ZG13PANK53NT2TVXX2" - } - }, - { - "recorded_at": "2018-08-24T17:49:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPGW7ZG13PANK53NT2TVXX2&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 145-iQadzSLnrjgRGJyNnV9G5wHm9ys" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=on7HkfT8vm8jKHJPEU; loidcreated=2018-08-24T17%3A49%3A23.456Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535132963_officiis/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "30" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535132963_officiis/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:49:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535132963_officiis" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 146-JKTMUzewUfL7ECgLqJlALOW-yi8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "78" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=on7HkfT8vm8jKHJPEU; loidcreated=2018-08-24T17%3A49%3A23.456Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "30" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:49:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535132963_officiis&text=Fuga+aperiam+minus+eos+natus.+Cum+nulla+ut+corrupti+nostrum+eum.+Earum+itaque+dolorem+eum.&title=Hic+ducimus+vel+est+officia." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 146-JKTMUzewUfL7ECgLqJlALOW-yi8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "208" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=on7HkfT8vm8jKHJPEU; loidcreated=2018-08-24T17%3A49%3A23.456Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535132963_officiis/comments/7/hic_ducimus_vel_est_officia/\", \"id\": \"7\", \"name\": \"t3_7\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "154" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "30" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:49:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 146-JKTMUzewUfL7ECgLqJlALOW-yi8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=on7HkfT8vm8jKHJPEU; loidcreated=2018-08-24T17%3A49%3A23.456Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/7/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535132963_officiis\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EFuga aperiam minus eos natus. Cum nulla ut corrupti nostrum eum. Earum itaque dolorem eum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Fuga aperiam minus eos natus. Cum nulla ut corrupti nostrum eum. Earum itaque dolorem eum.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"7\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPGW7ZG13PANK53NT2TVXX2\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535132963_officiis\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_m\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535132963_officiis/comments/7/hic_ducimus_vel_est_officia/\", \"locked\": false, \"name\": \"t3_7\", \"created\": 1535132970.0, \"url\": \"http://reddit.local/r/1535132963_officiis/comments/7/hic_ducimus_vel_est_officia/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Hic ducimus vel est officia.\", \"created_utc\": 1535132970.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1735" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "30" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=XEvQevdZzAF5l32%2B%2B9gxi85KDa6SkosgCaAjxSlKb%2F%2Bkd0VTskbR9GIqK7mqQqkIqh4lmBzUEJNEgTJze9P59dPxLD7ovOTP" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/7/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:49:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 146-JKTMUzewUfL7ECgLqJlALOW-yi8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=on7HkfT8vm8jKHJPEU; loidcreated=2018-08-24T17%3A49%3A23.456Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/7/?limit=50&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535132963_officiis\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EFuga aperiam minus eos natus. Cum nulla ut corrupti nostrum eum. Earum itaque dolorem eum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Fuga aperiam minus eos natus. Cum nulla ut corrupti nostrum eum. Earum itaque dolorem eum.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"7\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPGW7ZG13PANK53NT2TVXX2\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535132963_officiis\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_m\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535132963_officiis/comments/7/hic_ducimus_vel_est_officia/\", \"locked\": false, \"name\": \"t3_7\", \"created\": 1535132970.0, \"url\": \"http://reddit.local/r/1535132963_officiis/comments/7/hic_ducimus_vel_est_officia/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Hic ducimus vel est officia.\", \"created_utc\": 1535132970.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1735" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "27" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=oHX3KUBQFFMsye5Y6MRvKGfra7om5D9fYaNluZdLAT795eBvzRoAgdZBj3l7c2h4199sml4%2FLlnvowdQYtYrmT7RBTcPaM%2Bz" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/7/?limit=50&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_list_comments_not_found.json b/cassettes/channels.views.comments_test.test_list_comments_not_found.json deleted file mode 100644 index 57421726c2..0000000000 --- a/cassettes/channels.views.comments_test.test_list_comments_not_found.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:04:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGST0F5MHSN8FRP6G5J0KJ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIysjTUdQ4szzQPz03xyK4MsrR0z6wIszD2yvcPSgkpVtJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9Csi4rKNC009koLNjcLKYoKDfDPc0rxcEryiPBNBmlKSS3LTE6Nz0wBmQzhKNUCAEXlUZS6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:04:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=5p7SWCpJ6MblLuyzNT; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:04:07 GMT", - "loidcreated=2018-11-16T15%3A04%3A07.331Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:04:07 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGST0F5MHSN8FRP6G5J0KJ" - } - }, - { - "recorded_at": "2018-11-16T15:04:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2291-CQwi7WmdHkyR99GixV83JoORdTs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=5p7SWCpJ6MblLuyzNT; loidcreated=2018-11-16T15%3A04%3A07.331Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/missing/?limit=50&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"message\": \"Not Found\", \"error\": 404}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "38" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:04:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "353" - ], - "x-ratelimit-used": [ - "1" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=%2FWCq0h1x6Ht%2BG%2FpYLJT6R2P6XErFC%2BeWq696M%2FTQ682LKtjsHMTkKgdXDYNuDB9X727D0J%2FekEb1mkloannUr25jsYPF0qoy" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 404, - "message": "Not Found" - }, - "url": "https://reddit.local/comments/missing/?limit=50&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_list_deleted_comments.json b/cassettes/channels.views.comments_test.test_list_deleted_comments.json deleted file mode 100644 index b06bae1749..0000000000 --- a/cassettes/channels.views.comments_test.test_list_deleted_comments.json +++ /dev/null @@ -1,246 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-09-27T16:23:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=george" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDLUdS7K90uKygwoCioMNvBINXcNzsg0TCuvtAgzUdJRUEqtKMgsSi2OzwQpNzYzMACKgXXHl1QWpIKMSEpNLEotAqktTs6HCGmBeEWpaUCNGch2JbmUZJYXupj5lGbkRxlZpBsGZwf5lgR5Z1gmg3SkpJZlJqfGZ6aAjIVwlGoBXoPPebQAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 27 Sep 2017 16:23:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=GYxWDXc5ej5XsNmjUn; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 27-Sep-2019 16:23:04 GMT", - "loidcreated=2017-09-27T16%3A23%3A04.715Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 27-Sep-2019 16:23:04 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=george" - } - }, - { - "recorded_at": "2017-09-27T16:23:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=refresh_token&refresh_token=1-bDtiwqD6LuhoZ28g1SkRMtRKh9c" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic MW1pM3JwTTZ4SjN0RlE6LTNmQkxfZDk2R2o5d20tQU01TTRSOHpFajA0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "68" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=GYxWDXc5ej5XsNmjUn; loidcreated=2017-09-27T16%3A23%3A04.715Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"1-9bNnDzgE6rbUa3niTdghvktPqmY\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "107" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 27 Sep 2017 16:23:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298" - ], - "x-ratelimit-reset": [ - "416" - ], - "x-ratelimit-used": [ - "2" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2017-09-27T16:23:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 1-9bNnDzgE6rbUa3niTdghvktPqmY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=GYxWDXc5ej5XsNmjUn; loidcreated=2017-09-27T16%3A23%3A04.715Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/p/?limit=50&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"testchannel5\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ehi\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"hi\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"p\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BTN7HY2SGT9677JXGNDDW859\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.testchannel5\", \"hidden\": false, \"num_comments\": 1, \"thumbnail\": \"\", \"subreddit_id\": \"t5_v\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/testchannel5/comments/p/hey_everyone/\", \"locked\": false, \"name\": \"t3_p\", \"created\": 1506103730.0, \"url\": \"http://reddit.local/r/testchannel5/comments/p/hey_everyone/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"hey everyone\", \"created_utc\": 1506103730.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_v\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_p\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_v\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_p\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"1t\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"admin\", \"parent_id\": \"t1_1s\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"reply to parent which is not deleted\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ereply to parent which is not deleted\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"testchannel5\", \"score_hidden\": false, \"name\": \"t1_1t\", \"created\": 1506528231.0, \"author_flair_text\": null, \"created_utc\": 1506528231.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"1s\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"[deleted]\", \"parent_id\": \"t3_p\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"[deleted]\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003E[deleted]\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"testchannel5\", \"score_hidden\": false, \"name\": \"t1_1s\", \"created\": 1506528222.0, \"author_flair_text\": null, \"created_utc\": 1506528222.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "3123" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 27 Sep 2017 16:23:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "416" - ], - "x-ratelimit-used": [ - "1" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=uTFK42o%2FwRiwzonpXbCOwFYDL%2F5On%2FgVzpkFEhgHCAPzfBr%2FMnZ1EbUVvOw4QZH6udvc2z34nILEkkfI5DeMcQtr5lzBiayl" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/p/?limit=50&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_more_comments[False].json b/cassettes/channels.views.comments_test.test_more_comments[False].json deleted file mode 100644 index 715ad222ae..0000000000 --- a/cassettes/channels.views.comments_test.test_more_comments[False].json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-14T17:28:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=george" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0NdcNdHHM9Crz9CiwDEw1jEoyDAvPr0z3dwlO9i1X0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLalhfqbBloEpoVX+pqEGxQ5umXke1oE5meVuCaD9KSklmUmp8ZnpoAMhnCUagHQuSynuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 14 Nov 2017 17:28:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=8LqnaxFehgv5dmLusd; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 14-Nov-2019 17:28:18 GMT", - "loidcreated=2017-11-14T17%3A28%3A18.719Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 14-Nov-2019 17:28:18 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=george" - } - }, - { - "recorded_at": "2017-11-14T17:28:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 157-QDAiJvIHp9Qe1Zb1VWoygODScMw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=8LqnaxFehgv5dmLusd; loidcreated=2017-11-14T17%3A28%3A18.719Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1/_/n?limit=50&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"dedp2\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Enew post!\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"new post!\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BV2GMJBJJ46477S1K0NQ3EE1\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.dedp2\", \"hidden\": false, \"num_comments\": 68, \"thumbnail\": \"\", \"subreddit_id\": \"t5_4\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/dedp2/comments/1/new_post/\", \"locked\": false, \"name\": \"t3_1\", \"created\": 1508356134.0, \"url\": \"http://reddit.local/r/dedp2/comments/1/new_post/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"new post\", \"created_utc\": 1508356134.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"o\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_n\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"k;lkl;\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ek;lkl;\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_o\", \"created\": 1508780725.0, \"author_flair_text\": null, \"created_utc\": 1508780725.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"n\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_m\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"oasd\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eoasd\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_n\", \"created\": 1508780714.0, \"author_flair_text\": null, \"created_utc\": 1508780714.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "3047" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 14 Nov 2017 17:28:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "102" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Ssf2diz7UoJkXCNCdnIMCUD7J%2B4Lk%2B99tdRdjzEMzRDAmbWMK5LP9LC2YHh74KySm3kfEMQ0KePly3W%2BeO%2Fsv6iTPQtyhIT%2B" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1/_/n?limit=50&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_more_comments[True].json b/cassettes/channels.views.comments_test.test_more_comments[True].json deleted file mode 100644 index 5979bfd237..0000000000 --- a/cassettes/channels.views.comments_test.test_more_comments[True].json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-14T17:28:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=george" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0NdctDI7PCAoOKTdP8nU0L0vNTPfTzcwvtEz1SsxX0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLY5hhsWBpqkmgYbBSeGloZVuRl7eFf4e1Va+piA9KSklmUmp8ZnpoAMhnCUagEhJu2guAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 14 Nov 2017 17:28:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=uNq1g5jc8nj2zVg7iC; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 14-Nov-2019 17:28:18 GMT", - "loidcreated=2017-11-14T17%3A28%3A18.564Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 14-Nov-2019 17:28:18 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=george" - } - }, - { - "recorded_at": "2017-11-14T17:28:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 157-qS_hRSTw7bMA7veigN-ioq9eJao" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=uNq1g5jc8nj2zVg7iC; loidcreated=2017-11-14T17%3A28%3A18.564Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1/_/1?limit=50&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"dedp2\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Enew post!\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"new post!\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BV2GMJBJJ46477S1K0NQ3EE1\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.dedp2\", \"hidden\": false, \"num_comments\": 68, \"thumbnail\": \"\", \"subreddit_id\": \"t5_4\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/dedp2/comments/1/new_post/\", \"locked\": false, \"name\": \"t3_1\", \"created\": 1508356134.0, \"url\": \"http://reddit.local/r/dedp2/comments/1/new_post/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"new post\", \"created_utc\": 1508356134.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"o\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_n\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"k;lkl;\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ek;lkl;\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_o\", \"created\": 1508780725.0, \"author_flair_text\": null, \"created_utc\": 1508780725.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"n\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_m\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"oasd\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eoasd\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_n\", \"created\": 1508780714.0, \"author_flair_text\": null, \"created_utc\": 1508780714.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"m\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"m\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Em\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_m\", \"created\": 1508442442.0, \"author_flair_text\": null, \"created_utc\": 1508442442.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"1\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"a\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ea\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_1\", \"created\": 1508439032.0, \"author_flair_text\": null, \"created_utc\": 1508439032.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "4709" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 14 Nov 2017 17:28:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "102" - ], - "x-ratelimit-used": [ - "1" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=IQ5eLZszaZTYHh5QuLnJv7gvM1hyJ2pog4zpDob2XjuYSVIBrtsgbM6MyL93KjkNJvs%2BXBgnlrr%2FuO787WKcm5PIrL4I6kuL" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1/_/1?limit=50&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_more_comments_404[False-False].json b/cassettes/channels.views.comments_test.test_more_comments_404[False-False].json deleted file mode 100644 index b0651ddf19..0000000000 --- a/cassettes/channels.views.comments_test.test_more_comments_404[False-False].json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-14T17:28:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=george" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNXQuCMBiF/4rsMhIWpVG3jfwqUqLrYdsrjrKtTZ0R/fdcXnV5Hs5zzhuVjIExtJU3eKCthxbB2iddT8jKljnNs7je+BTjOI2C+zNlaO4hGJTQYKhwwjLEeGQ/n7YvBW7kCqUG7bqGyQnNXNJQjWL9/yZ3TWWT6MxVmNnTPhHDpTl2cCh04RwOvWBABXfDU0CfL4gfJ2+4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 14 Nov 2017 17:28:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=B2ibcPjyZKV8JAGOJP; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 14-Nov-2019 17:28:19 GMT", - "loidcreated=2017-11-14T17%3A28%3A19.878Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 14-Nov-2019 17:28:19 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=george" - } - }, - { - "recorded_at": "2017-11-14T17:28:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 157-DuvDD4waP_PKHh9-_00HJG5lqJc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=B2ibcPjyZKV8JAGOJP; loidcreated=2017-11-14T17%3A28%3A19.878Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1/_/1?limit=50&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"dedp2\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Enew post!\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"new post!\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BV2GMJBJJ46477S1K0NQ3EE1\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.dedp2\", \"hidden\": false, \"num_comments\": 68, \"thumbnail\": \"\", \"subreddit_id\": \"t5_4\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/dedp2/comments/1/new_post/\", \"locked\": false, \"name\": \"t3_1\", \"created\": 1508356134.0, \"url\": \"http://reddit.local/r/dedp2/comments/1/new_post/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"new post\", \"created_utc\": 1508356134.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"o\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_n\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"k;lkl;\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ek;lkl;\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_o\", \"created\": 1508780725.0, \"author_flair_text\": null, \"created_utc\": 1508780725.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"n\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_m\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"oasd\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eoasd\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_n\", \"created\": 1508780714.0, \"author_flair_text\": null, \"created_utc\": 1508780714.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"m\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"m\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Em\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_m\", \"created\": 1508442442.0, \"author_flair_text\": null, \"created_utc\": 1508442442.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"1\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"a\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ea\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_1\", \"created\": 1508439032.0, \"author_flair_text\": null, \"created_utc\": 1508439032.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "4709" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 14 Nov 2017 17:28:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "101" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=jztF4iugZIFjwer5UUEf9FgYe%2BOQqbb5zmlqBqMJW9M0Lkou9yFm3gMoryseAyI1%2FvF3iGEXUmoKljkICKjdQztqzsIv%2B5Ag" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1/_/1?limit=50&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_more_comments_404[False-True].json b/cassettes/channels.views.comments_test.test_more_comments_404[False-True].json deleted file mode 100644 index 061856fd5a..0000000000 --- a/cassettes/channels.views.comments_test.test_more_comments_404[False-True].json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-14T17:28:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=george" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0Ndc1K/T0z8wqiCo2twgqDc40jE+rCvA39MvytEhW0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLb5OkeU+Ze4RXiXu4XEh5tXuMUblermGfg6+riC9KSklmUmp8ZnpoAMhnCUagHutomzuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 14 Nov 2017 17:28:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=fVa7Jy3dkMlM4T7JPA; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 14-Nov-2019 17:28:19 GMT", - "loidcreated=2017-11-14T17%3A28%3A19.270Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 14-Nov-2019 17:28:19 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=george" - } - }, - { - "recorded_at": "2017-11-14T17:28:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 157-6qIOijpZs78RuSi1_fzPO1NjI8c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=fVa7Jy3dkMlM4T7JPA; loidcreated=2017-11-14T17%3A28%3A19.270Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1/_/missing_parent?limit=50&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"dedp2\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Enew post!\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"new post!\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BV2GMJBJJ46477S1K0NQ3EE1\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.dedp2\", \"hidden\": false, \"num_comments\": 68, \"thumbnail\": \"\", \"subreddit_id\": \"t5_4\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/dedp2/comments/1/new_post/\", \"locked\": false, \"name\": \"t3_1\", \"created\": 1508356134.0, \"url\": \"http://reddit.local/r/dedp2/comments/1/new_post/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"new post\", \"created_utc\": 1508356134.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"o\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_n\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"k;lkl;\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ek;lkl;\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_o\", \"created\": 1508780725.0, \"author_flair_text\": null, \"created_utc\": 1508780725.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"n\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_m\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"oasd\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eoasd\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_n\", \"created\": 1508780714.0, \"author_flair_text\": null, \"created_utc\": 1508780714.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"m\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"m\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Em\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_m\", \"created\": 1508442442.0, \"author_flair_text\": null, \"created_utc\": 1508442442.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"1\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"a\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ea\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_1\", \"created\": 1508439032.0, \"author_flair_text\": null, \"created_utc\": 1508439032.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"b\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eb\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_2\", \"created\": 1508439055.0, \"author_flair_text\": null, \"created_utc\": 1508439055.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"c\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ec\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_3\", \"created\": 1508439058.0, \"author_flair_text\": null, \"created_utc\": 1508439058.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"4\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"d\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ed\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_4\", \"created\": 1508439060.0, \"author_flair_text\": null, \"created_utc\": 1508439060.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"j\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_d\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"test\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Etest\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_j\", \"created\": 1508441351.0, \"author_flair_text\": null, \"created_utc\": 1508441351.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"more\", \"data\": {\"count\": 0, \"parent_id\": \"t1_e8v\", \"children\": [], \"name\": \"t1__\", \"id\": \"_\"}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"e8v\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t1_e8u\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"deep comment test d\", \"edited\": 1510244426.0, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Edeep comment test d\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e8v\", \"created\": 1510244138.0, \"author_flair_text\": null, \"created_utc\": 1510244138.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"e8u\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t1_e8t\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"deep comment test c\", \"edited\": 1510244419.0, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Edeep comment test c\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e8u\", \"created\": 1510244135.0, \"author_flair_text\": null, \"created_utc\": 1510244135.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"e8t\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t1_e8s\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"deep comment test b\", \"edited\": 1510244414.0, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Edeep comment test b\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e8t\", \"created\": 1510244132.0, \"author_flair_text\": null, \"created_utc\": 1510244132.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"e8s\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t1_k\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"deep comment test a\", \"edited\": 1510244408.0, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Edeep comment test a\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e8s\", \"created\": 1510244129.0, \"author_flair_text\": null, \"created_utc\": 1510244129.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"k\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_d\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"test2\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Etest2\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_k\", \"created\": 1508441445.0, \"author_flair_text\": null, \"created_utc\": 1508441445.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"d\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_a\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"ignore this one\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eignore this one\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_d\", \"created\": 1508439674.0, \"author_flair_text\": null, \"created_utc\": 1508439674.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"a\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_9\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e2b\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee2b\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_a\", \"created\": 1508439089.0, \"author_flair_text\": null, \"created_utc\": 1508439089.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_b\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"ignore this one\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eignore this one\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e\", \"created\": 1508439679.0, \"author_flair_text\": null, \"created_utc\": 1508439679.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"b\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_9\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e2b\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee2b\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_b\", \"created\": 1508439658.0, \"author_flair_text\": null, \"created_utc\": 1508439658.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"f\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_9\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e2a1\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee2a1\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_f\", \"created\": 1508439689.0, \"author_flair_text\": null, \"created_utc\": 1508439689.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"g\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_9\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e2a2\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee2a2\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_g\", \"created\": 1508439694.0, \"author_flair_text\": null, \"created_utc\": 1508439694.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"h\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_9\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e2a3\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee2a3\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_h\", \"created\": 1508439698.0, \"author_flair_text\": null, \"created_utc\": 1508439698.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"i\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_9\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e2a4\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee2a4\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_i\", \"created\": 1508439702.0, \"author_flair_text\": null, \"created_utc\": 1508439702.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"9\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_6\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e2a\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee2a\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_9\", \"created\": 1508439084.0, \"author_flair_text\": null, \"created_utc\": 1508439084.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"c\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_6\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e2b\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee2b\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_c\", \"created\": 1508439666.0, \"author_flair_text\": null, \"created_utc\": 1508439666.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"6\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_5\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e2\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee2\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_6\", \"created\": 1508439067.0, \"author_flair_text\": null, \"created_utc\": 1508439067.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"7\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_5\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e3\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee3\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_7\", \"created\": 1508439071.0, \"author_flair_text\": null, \"created_utc\": 1508439071.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"8\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t1_5\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e1\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee1\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_8\", \"created\": 1508439075.0, \"author_flair_text\": null, \"created_utc\": 1508439075.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"5\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"e\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ee\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_5\", \"created\": 1508439062.0, \"author_flair_text\": null, \"created_utc\": 1508439062.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"l\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01BWRGE5JQK4E8B0H90K9RM4WF\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"1\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003E1\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_l\", \"created\": 1508441468.0, \"author_flair_text\": null, \"created_utc\": 1508441468.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"p\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"reply_to_post 2\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ereply_to_post 2\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_p\", \"created\": 1508782291.0, \"author_flair_text\": null, \"created_utc\": 1508782291.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e8x\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 1\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 1\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e8x\", \"created\": 1510244977.0, \"author_flair_text\": null, \"created_utc\": 1510244977.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e8y\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 2\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 2\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e8y\", \"created\": 1510244981.0, \"author_flair_text\": null, \"created_utc\": 1510244981.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e8z\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 3\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 3\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e8z\", \"created\": 1510244984.0, \"author_flair_text\": null, \"created_utc\": 1510244984.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e90\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 4\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 4\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e90\", \"created\": 1510244987.0, \"author_flair_text\": null, \"created_utc\": 1510244987.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e91\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 5\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 5\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e91\", \"created\": 1510244990.0, \"author_flair_text\": null, \"created_utc\": 1510244990.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e92\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 6\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 6\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e92\", \"created\": 1510244994.0, \"author_flair_text\": null, \"created_utc\": 1510244994.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e93\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 6\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 6\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e93\", \"created\": 1510245015.0, \"author_flair_text\": null, \"created_utc\": 1510245015.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e94\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 7\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 7\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e94\", \"created\": 1510245019.0, \"author_flair_text\": null, \"created_utc\": 1510245019.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e95\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 8\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 8\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e95\", \"created\": 1510245022.0, \"author_flair_text\": null, \"created_utc\": 1510245022.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e96\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 9\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 9\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e96\", \"created\": 1510245025.0, \"author_flair_text\": null, \"created_utc\": 1510245025.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e97\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 10\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 10\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e97\", \"created\": 1510245028.0, \"author_flair_text\": null, \"created_utc\": 1510245028.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e99\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 11\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 11\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e99\", \"created\": 1510245063.0, \"author_flair_text\": null, \"created_utc\": 1510245063.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9b\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 12\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 12\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9b\", \"created\": 1510245158.0, \"author_flair_text\": null, \"created_utc\": 1510245158.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9c\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 13\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 13\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9c\", \"created\": 1510245163.0, \"author_flair_text\": null, \"created_utc\": 1510245163.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9d\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 14\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 14\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9d\", \"created\": 1510245166.0, \"author_flair_text\": null, \"created_utc\": 1510245166.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9f\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 15\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 15\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9f\", \"created\": 1510245329.0, \"author_flair_text\": null, \"created_utc\": 1510245329.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9g\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 16\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 16\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9g\", \"created\": 1510245332.0, \"author_flair_text\": null, \"created_utc\": 1510245332.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9h\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 21\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 21\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9h\", \"created\": 1510245340.0, \"author_flair_text\": null, \"created_utc\": 1510245340.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9i\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 22\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 22\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9i\", \"created\": 1510245344.0, \"author_flair_text\": null, \"created_utc\": 1510245344.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9j\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 23\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 23\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9j\", \"created\": 1510245348.0, \"author_flair_text\": null, \"created_utc\": 1510245348.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9k\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 24\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 24\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9k\", \"created\": 1510245351.0, \"author_flair_text\": null, \"created_utc\": 1510245351.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}, {\"kind\": \"more\", \"data\": {\"count\": 16, \"parent_id\": \"t3_1\", \"children\": [\"e9l\", \"e9m\", \"e9n\", \"e9q\"], \"name\": \"t1_e9l\", \"id\": \"e9l\"}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "40657" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 14 Nov 2017 17:28:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "101" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=yzN5kc4n321gNtvLlwgrTbYfA%2Fe13VYVT7v0PAB7zHRyAGdASt8X7%2FLk3FfQHiyEy4Em%2BWiygDkpWc4dD2tlUHR6Kl5iudDs" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1/_/missing_parent?limit=50&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_more_comments_404[True-False].json b/cassettes/channels.views.comments_test.test_more_comments_404[True-False].json deleted file mode 100644 index 61c684887c..0000000000 --- a/cassettes/channels.views.comments_test.test_more_comments_404[True-False].json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-14T17:28:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=george" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12N0QrCIBiFX2V4GQWmuaLLFQRDCFpQd2Lud5OoObWxEb17s911eT7Od84bSaXAexGaOzzRNkFLtl689OmS86x1RpmmzgLvWEX2A7V9heYJgt4aB16YKNAU45H9fBEGC3HkBtKBi12vmgnNYnKgR7H+e8Pn3YFLvXqkQEiVE1ocQ3vVrNhEp4TOKBCmjMNTQJ8vkm062bgAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 14 Nov 2017 17:28:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=cU8BlUxqhGsX5k6Okf; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 14-Nov-2019 17:28:19 GMT", - "loidcreated=2017-11-14T17%3A28%3A19.185Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 14-Nov-2019 17:28:19 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=george" - } - }, - { - "recorded_at": "2017-11-14T17:28:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 157-ufRWJLBqriciohBtLv5g2Dy3pxg" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=cU8BlUxqhGsX5k6Okf; loidcreated=2017-11-14T17%3A28%3A19.185Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/missing_post/_/missing_post?limit=50&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"message\": \"Not Found\", \"error\": 404}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "38" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 14 Nov 2017 17:28:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "101" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Zv4bWKdtu5BiDkz%2B0EIVTIJqKmMUPNPhQtA0zM1AUonk81Fe6J%2BEhp1sZ2z7rHPcWekaXxr5aRO%2FugW33jnqNyoBF3PRqMfT" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 404, - "message": "Not Found" - }, - "url": "https://reddit.local/comments/missing_post/_/missing_post?limit=50&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_more_comments_404[True-True].json b/cassettes/channels.views.comments_test.test_more_comments_404[True-True].json deleted file mode 100644 index 20f6bd5103..0000000000 --- a/cassettes/channels.views.comments_test.test_more_comments_404[True-True].json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-14T17:28:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=george" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNywrCMBREf6VkKQrRttF256YgCkIRFDchJlcNbb01D6mI/27TrlzOYc7MhwgpwVrusIIHySMyT5ezIkt4puut2PtapL5JF4ddKZ4drxIyjQh0rTZguQ5CzCjt2eBz924hjFxAGDChayWOaBKSgWsv3v/fzI2VzrN4jdLiRq8ono/KNQWehjcFLy2BaxWGx0C+P4vec7i4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 14 Nov 2017 17:28:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=iTuf90lDmr871Q3vHX; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 14-Nov-2019 17:28:19 GMT", - "loidcreated=2017-11-14T17%3A28%3A19.102Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 14-Nov-2019 17:28:19 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=george" - } - }, - { - "recorded_at": "2017-11-14T17:28:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 157-F94_9ilKaOula5um52TLRaqx_k4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=iTuf90lDmr871Q3vHX; loidcreated=2017-11-14T17%3A28%3A19.102Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/missing_post/_/missing_parent?limit=50&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"message\": \"Not Found\", \"error\": 404}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "38" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 14 Nov 2017 17:28:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "101" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=4MH63%2FtCszq%2B%2Bppvoy1YrsOxnVBodaZ%2BFaUcd69eVq%2FmpLJL4is5FwzpgzVra0WsgcWZyl4OcpbCcPixViIFmrQIkT0KT1HC" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 404, - "message": "Not Found" - }, - "url": "https://reddit.local/comments/missing_post/_/missing_parent?limit=50&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_more_comments_anonymous.json b/cassettes/channels.views.comments_test.test_more_comments_anonymous.json deleted file mode 100644 index c4638ab8d3..0000000000 --- a/cassettes/channels.views.comments_test.test_more_comments_anonymous.json +++ /dev/null @@ -1,5276 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T17:49:37", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGWEX7DXFPRTZ6R0DDG1NP" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0MdfNNcwPCfHJragILa0scnEvqPQuzvJys0w2K01W0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYlJSfGhzgGxxt6RxlbZpS6FVh6e/nne1aZJqaD9KSklmUmp8ZnpoAMhnCUagFDmIuFuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:49:37 GMT", - "loidcreated=2018-08-24T17%3A49%3A37.039Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:49:37 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPGWEX7DXFPRTZ6R0DDG1NP" - } - }, - { - "recorded_at": "2018-08-24T17:49:37", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Aut+debitis+delectus+et+ea+consequatur.+Exercitationem+commodi+nam+nam+nobis+maiores+totam+odit.+Eaque+rem+accusamus+consectetur+iusto+sed+asperiores.+Ipsum+inventore+ullam+reiciendis+aut+voluptatum.%0ALabore+sint+rerum+magni+et.+Officia+nemo+doloremque+autem+voluptates.+Velit+aut+assumenda+quas+accusantium+numquam+rem.+Quisquam+fuga+rem+sit+excepturi+fugit+dolor+molestias.&link_type=any&name=1535132977_occaecati&public_description=Quia+aperiam+libero+quibusdam.+Ipsum+quidem+accusantium+eum.+Eos+maxime+amet+quis+quas.&title=Architecto+fugiat+accusamus+excepturi+ipsum.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 147-m1oTTLmxxUuyrDGpyKsjJF9c6uc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "645" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "23" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:49:40", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CBDB4ZD2QXBM0ERGB3C5GEA5" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0sdCtSvRydDKJiCjxtEgKNkzNTa1KLwwNcMssMC1X0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLb5JeUX5ZoYRURUleRXVjqGGxoVe5uHFRp7hvqC9KSklmUmp8ZnpoAMhnCUagFF5Ws8uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CBDB4ZD2QXBM0ERGB3C5GEA5" - } - }, - { - "recorded_at": "2018-08-24T17:49:40", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535132977_occaecati&text=Delectus+quasi+eum+occaecati+sequi+possimus+ad.+Repellat+dolorum+illo+earum+cumque+aliquam.&title=Quibusdam+beatae+cum+fugit+sint." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "214" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535132977_occaecati/comments/8/quibusdam_beatae_cum_fugit_sint/\", \"id\": \"8\", \"name\": \"t3_8\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "159" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "20" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:49:40", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535132977_occaecati\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDelectus quasi eum occaecati sequi possimus ad. Repellat dolorum illo earum cumque aliquam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Delectus quasi eum occaecati sequi possimus ad. Repellat dolorum illo earum cumque aliquam.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535132977_occaecati\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535132977_occaecati/comments/8/quibusdam_beatae_cum_fugit_sint/\", \"locked\": false, \"name\": \"t3_8\", \"created\": 1535132980.0, \"url\": \"http://reddit.local/r/1535132977_occaecati/comments/8/quibusdam_beatae_cum_fugit_sint/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quibusdam beatae cum fugit sint.\", \"created_utc\": 1535132980.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1753" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "20" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Y%2B5UMPlTF3JOU9ebVEa00CI8u8BTBf1Z809CaBa8M76mUgkB7Hy%2FfcDyZuspHNg4rIsQF8j1nSGe%2FUbK95W%2FhXVuTNDC2qMT" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:49:44", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Neque+excepturi+eius+possimus.+Voluptas+cupiditate+qui+ad+rem+voluptate.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "105" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"5\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Neque excepturi eius possimus. Voluptas cupiditate qui ad rem voluptate.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENeque excepturi eius possimus. Voluptas cupiditate qui ad rem voluptate.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_5\", \"created\": 1535132983.0, \"author_flair_text\": null, \"created_utc\": 1535132983.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "945" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:44 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "17" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:49:47", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Veniam+accusantium+incidunt+explicabo+explicabo.+Recusandae+magni+inventore+iure+illo+dolore.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "126" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"6\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Veniam accusantium incidunt explicabo explicabo. Recusandae magni inventore iure illo dolore.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVeniam accusantium incidunt explicabo explicabo. Recusandae magni inventore iure illo dolore.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_6\", \"created\": 1535132987.0, \"author_flair_text\": null, \"created_utc\": 1535132987.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "987" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "13" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:49:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Eum+nihil+quod+nisi+placeat+molestiae.+Vitae+ab+similique+incidunt+deserunt+sed.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "113" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"7\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Eum nihil quod nisi placeat molestiae. Vitae ab similique incidunt deserunt sed.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEum nihil quod nisi placeat molestiae. Vitae ab similique incidunt deserunt sed.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_7\", \"created\": 1535132990.0, \"author_flair_text\": null, \"created_utc\": 1535132990.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "961" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "10" - ], - "x-ratelimit-used": [ - "5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:49:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Quas+quae+dolores+occaecati+magnam+sunt+nemo+illo.+Ab+inventore+quis+itaque+deleniti+nihil.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "124" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"8\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Quas quae dolores occaecati magnam sunt nemo illo. Ab inventore quis itaque deleniti nihil.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuas quae dolores occaecati magnam sunt nemo illo. Ab inventore quis itaque deleniti nihil.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_8\", \"created\": 1535132993.0, \"author_flair_text\": null, \"created_utc\": 1535132993.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "983" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "7" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:49:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Repudiandae+neque+est+est+delectus+quod.+Iure+doloremque+eveniet+quia+magnam+eligendi+consequuntur.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "132" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"9\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Repudiandae neque est est delectus quod. Iure doloremque eveniet quia magnam eligendi consequuntur.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ERepudiandae neque est est delectus quod. Iure doloremque eveniet quia magnam eligendi consequuntur.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_9\", \"created\": 1535132996.0, \"author_flair_text\": null, \"created_utc\": 1535132996.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "999" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "4" - ], - "x-ratelimit-used": [ - "7" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:49:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Harum+eveniet+dolores+nisi+et+iusto.+Vitae+minus+unde+omnis+reprehenderit+deserunt.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "116" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"a\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Harum eveniet dolores nisi et iusto. Vitae minus unde omnis reprehenderit deserunt.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EHarum eveniet dolores nisi et iusto. Vitae minus unde omnis reprehenderit deserunt.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_a\", \"created\": 1535132999.0, \"author_flair_text\": null, \"created_utc\": 1535132999.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "967" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:49:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "1" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:50:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Vel+voluptas+eaque+tempora+dolores+illum+rerum+ullam.+Dignissimos+error+quasi+quibusdam.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "121" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"b\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Vel voluptas eaque tempora dolores illum rerum ullam. Dignissimos error quasi quibusdam.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVel voluptas eaque tempora dolores illum rerum ullam. Dignissimos error quasi quibusdam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_b\", \"created\": 1535133002.0, \"author_flair_text\": null, \"created_utc\": 1535133002.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "977" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:50:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "598" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:50:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Ut+laborum+at+ipsam.+Neque+perferendis+veniam+cupiditate+hic+numquam.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "102" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"c\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Ut laborum at ipsam. Neque perferendis veniam cupiditate hic numquam.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EUt laborum at ipsam. Neque perferendis veniam cupiditate hic numquam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_c\", \"created\": 1535133005.0, \"author_flair_text\": null, \"created_utc\": 1535133005.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "939" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:50:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "595" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:50:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Quos+molestiae+molestias+iure+ad+tempora+quos.+Molestias+veritatis+vero+atque+sed.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "115" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"d\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Quos molestiae molestias iure ad tempora quos. Molestias veritatis vero atque sed.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuos molestiae molestias iure ad tempora quos. Molestias veritatis vero atque sed.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_d\", \"created\": 1535133008.0, \"author_flair_text\": null, \"created_utc\": 1535133008.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "965" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:50:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "592" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:50:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Et+ut+fuga+dolor.+Incidunt+fugiat+ipsam+ullam+unde+ad+distinctio.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "98" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Et ut fuga dolor. Incidunt fugiat ipsam ullam unde ad distinctio.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEt ut fuga dolor. Incidunt fugiat ipsam ullam unde ad distinctio.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_e\", \"created\": 1535133011.0, \"author_flair_text\": null, \"created_utc\": 1535133011.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "931" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:50:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "589" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:50:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Vero+vero+veritatis+debitis+omnis+molestias.+Nihil+rem+beatae+ut+quo+quas+consequatur.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "119" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"f\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Vero vero veritatis debitis omnis molestias. Nihil rem beatae ut quo quas consequatur.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVero vero veritatis debitis omnis molestias. Nihil rem beatae ut quo quas consequatur.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_f\", \"created\": 1535133015.0, \"author_flair_text\": null, \"created_utc\": 1535133015.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "973" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:50:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "585" - ], - "x-ratelimit-used": [ - "5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:50:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Nulla+fugit+voluptas+minus+fugit+veritatis.+Ex+fugit+amet+cum+porro.+Ullam+commodi+eum+inventore.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "130" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"g\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Nulla fugit voluptas minus fugit veritatis. Ex fugit amet cum porro. Ullam commodi eum inventore.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENulla fugit voluptas minus fugit veritatis. Ex fugit amet cum porro. Ullam commodi eum inventore.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_g\", \"created\": 1535133018.0, \"author_flair_text\": null, \"created_utc\": 1535133018.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "995" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:50:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "582" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:50:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Aliquid+perspiciatis+quod+quia.+A+aliquid+natus+odio+totam+neque+quibusdam.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "108" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"h\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Aliquid perspiciatis quod quia. A aliquid natus odio totam neque quibusdam.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAliquid perspiciatis quod quia. A aliquid natus odio totam neque quibusdam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_h\", \"created\": 1535133021.0, \"author_flair_text\": null, \"created_utc\": 1535133021.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "951" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:50:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "579" - ], - "x-ratelimit-used": [ - "7" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:50:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Sint+culpa+quis+atque.+Odit+temporibus+quas+laborum+reprehenderit.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "99" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"i\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Sint culpa quis atque. Odit temporibus quas laborum reprehenderit.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESint culpa quis atque. Odit temporibus quas laborum reprehenderit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_i\", \"created\": 1535133024.0, \"author_flair_text\": null, \"created_utc\": 1535133024.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "933" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:50:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "576" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:50:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Voluptatum+iure+sit+sed+quibusdam+debitis+dolor.+Excepturi+eum+aliquid+eaque+ex+saepe+assumenda.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "129" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"j\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Voluptatum iure sit sed quibusdam debitis dolor. Excepturi eum aliquid eaque ex saepe assumenda.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptatum iure sit sed quibusdam debitis dolor. Excepturi eum aliquid eaque ex saepe assumenda.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_j\", \"created\": 1535133027.0, \"author_flair_text\": null, \"created_utc\": 1535133027.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "993" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:50:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "573" - ], - "x-ratelimit-used": [ - "9" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:50:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Accusantium+occaecati+laudantium+maxime+quisquam+vero.+Quas+harum+sed+officia+soluta+dolorum.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "126" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"k\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Accusantium occaecati laudantium maxime quisquam vero. Quas harum sed officia soluta dolorum.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAccusantium occaecati laudantium maxime quisquam vero. Quas harum sed officia soluta dolorum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_k\", \"created\": 1535133030.0, \"author_flair_text\": null, \"created_utc\": 1535133030.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "987" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:50:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "570" - ], - "x-ratelimit-used": [ - "10" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:50:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Voluptas+quaerat+debitis+qui.+Dolorum+cupiditate+debitis+exercitationem+sint.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "110" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"l\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Voluptas quaerat debitis qui. Dolorum cupiditate debitis exercitationem sint.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptas quaerat debitis qui. Dolorum cupiditate debitis exercitationem sint.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_l\", \"created\": 1535133033.0, \"author_flair_text\": null, \"created_utc\": 1535133033.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "955" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:50:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "289.0" - ], - "x-ratelimit-reset": [ - "567" - ], - "x-ratelimit-used": [ - "11" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:50:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Vel+asperiores+magnam+neque+laudantium.+Odit+praesentium+delectus+nesciunt+debitis+ipsum.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "122" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"m\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Vel asperiores magnam neque laudantium. Odit praesentium delectus nesciunt debitis ipsum.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVel asperiores magnam neque laudantium. Odit praesentium delectus nesciunt debitis ipsum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_m\", \"created\": 1535133036.0, \"author_flair_text\": null, \"created_utc\": 1535133036.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "979" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:50:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "288.0" - ], - "x-ratelimit-reset": [ - "564" - ], - "x-ratelimit-used": [ - "12" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:50:39", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Beatae+nisi+doloribus+quisquam+et.+Et+odit+iusto+exercitationem+ab.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "100" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"n\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Beatae nisi doloribus quisquam et. Et odit iusto exercitationem ab.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EBeatae nisi doloribus quisquam et. Et odit iusto exercitationem ab.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_n\", \"created\": 1535133039.0, \"author_flair_text\": null, \"created_utc\": 1535133039.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "935" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:50:39 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "287.0" - ], - "x-ratelimit-reset": [ - "561" - ], - "x-ratelimit-used": [ - "13" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:50:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Doloremque+velit+porro+nemo.+Aspernatur+cum+ea+corporis+libero+quos.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "101" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"o\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Doloremque velit porro nemo. Aspernatur cum ea corporis libero quos.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDoloremque velit porro nemo. Aspernatur cum ea corporis libero quos.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_o\", \"created\": 1535133042.0, \"author_flair_text\": null, \"created_utc\": 1535133042.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "937" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:50:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "286.0" - ], - "x-ratelimit-reset": [ - "558" - ], - "x-ratelimit-used": [ - "14" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:50:46", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=In+alias+neque+vero+eligendi+et+quidem.+Enim+suscipit+maiores+quibusdam+adipisci+iste+dolorum.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "127" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"p\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"In alias neque vero eligendi et quidem. Enim suscipit maiores quibusdam adipisci iste dolorum.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIn alias neque vero eligendi et quidem. Enim suscipit maiores quibusdam adipisci iste dolorum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_p\", \"created\": 1535133046.0, \"author_flair_text\": null, \"created_utc\": 1535133046.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "989" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:50:46 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "285.0" - ], - "x-ratelimit-reset": [ - "554" - ], - "x-ratelimit-used": [ - "15" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:50:49", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Amet+vero+beatae+soluta+debitis+id.+Quia+corporis+aut+dolor+quod.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "98" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"q\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Amet vero beatae soluta debitis id. Quia corporis aut dolor quod.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAmet vero beatae soluta debitis id. Quia corporis aut dolor quod.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_q\", \"created\": 1535133049.0, \"author_flair_text\": null, \"created_utc\": 1535133049.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "931" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:50:49 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "284.0" - ], - "x-ratelimit-reset": [ - "551" - ], - "x-ratelimit-used": [ - "16" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:50:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Ipsum+iste+doloribus+ipsum.+Impedit+possimus+cupiditate+expedita+velit+odit+rem+est.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "117" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"r\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Ipsum iste doloribus ipsum. Impedit possimus cupiditate expedita velit odit rem est.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIpsum iste doloribus ipsum. Impedit possimus cupiditate expedita velit odit rem est.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_r\", \"created\": 1535133052.0, \"author_flair_text\": null, \"created_utc\": 1535133052.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "969" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:50:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "283.0" - ], - "x-ratelimit-reset": [ - "548" - ], - "x-ratelimit-used": [ - "17" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:50:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Hic+assumenda+ullam+veniam+nobis.+Necessitatibus+earum+incidunt+nihil+accusamus.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "113" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"s\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Hic assumenda ullam veniam nobis. Necessitatibus earum incidunt nihil accusamus.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EHic assumenda ullam veniam nobis. Necessitatibus earum incidunt nihil accusamus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_s\", \"created\": 1535133055.0, \"author_flair_text\": null, \"created_utc\": 1535133055.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "961" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:50:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "282.0" - ], - "x-ratelimit-reset": [ - "545" - ], - "x-ratelimit-used": [ - "18" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:50:58", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Harum+dolores+perspiciatis+sunt+ea.+Cum+in+porro+illo+suscipit.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "96" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"t\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Harum dolores perspiciatis sunt ea. Cum in porro illo suscipit.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EHarum dolores perspiciatis sunt ea. Cum in porro illo suscipit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_t\", \"created\": 1535133058.0, \"author_flair_text\": null, \"created_utc\": 1535133058.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "927" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:50:58 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "281.0" - ], - "x-ratelimit-reset": [ - "542" - ], - "x-ratelimit-used": [ - "19" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:51:01", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Hic+numquam+voluptatem+quae+atque+pariatur.+Exercitationem+culpa+maiores+quos+ullam+maxime+et.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "127" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"u\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Hic numquam voluptatem quae atque pariatur. Exercitationem culpa maiores quos ullam maxime et.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EHic numquam voluptatem quae atque pariatur. Exercitationem culpa maiores quos ullam maxime et.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_u\", \"created\": 1535133061.0, \"author_flair_text\": null, \"created_utc\": 1535133061.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "989" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:51:01 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "280.0" - ], - "x-ratelimit-reset": [ - "539" - ], - "x-ratelimit-used": [ - "20" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:51:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Laudantium+blanditiis+vel+veniam+aperiam+quod+velit.+Tempore+dolor+perferendis+sunt.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "117" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"v\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Laudantium blanditiis vel veniam aperiam quod velit. Tempore dolor perferendis sunt.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ELaudantium blanditiis vel veniam aperiam quod velit. Tempore dolor perferendis sunt.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_v\", \"created\": 1535133064.0, \"author_flair_text\": null, \"created_utc\": 1535133064.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "969" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:51:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "279.0" - ], - "x-ratelimit-reset": [ - "536" - ], - "x-ratelimit-used": [ - "21" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:51:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Molestiae+delectus+ratione+consectetur+porro.+Quis+reiciendis+qui+id+odio+dolorem+facilis.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "123" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"w\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Molestiae delectus ratione consectetur porro. Quis reiciendis qui id odio dolorem facilis.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMolestiae delectus ratione consectetur porro. Quis reiciendis qui id odio dolorem facilis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_w\", \"created\": 1535133067.0, \"author_flair_text\": null, \"created_utc\": 1535133067.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "981" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:51:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "278.0" - ], - "x-ratelimit-reset": [ - "533" - ], - "x-ratelimit-used": [ - "22" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:51:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Dignissimos+a+delectus+consectetur+officiis.+Placeat+doloremque+possimus+nihil+ipsum.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "118" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"x\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Dignissimos a delectus consectetur officiis. Placeat doloremque possimus nihil ipsum.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDignissimos a delectus consectetur officiis. Placeat doloremque possimus nihil ipsum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_x\", \"created\": 1535133070.0, \"author_flair_text\": null, \"created_utc\": 1535133070.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "971" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:51:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "277.0" - ], - "x-ratelimit-reset": [ - "530" - ], - "x-ratelimit-used": [ - "23" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:51:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Quo+at+reiciendis+atque+ipsum+recusandae+reiciendis+labore.+Tempore+expedita+exercitationem+sint.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "130" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"y\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Quo at reiciendis atque ipsum recusandae reiciendis labore. Tempore expedita exercitationem sint.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuo at reiciendis atque ipsum recusandae reiciendis labore. Tempore expedita exercitationem sint.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_y\", \"created\": 1535133073.0, \"author_flair_text\": null, \"created_utc\": 1535133073.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "995" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:51:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "276.0" - ], - "x-ratelimit-reset": [ - "527" - ], - "x-ratelimit-used": [ - "24" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:51:17", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Reiciendis+quis+rerum+qui+perferendis.+Esse+quasi+omnis+itaque+architecto+quis+voluptas+doloremque.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "132" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"z\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Reiciendis quis rerum qui perferendis. Esse quasi omnis itaque architecto quis voluptas doloremque.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EReiciendis quis rerum qui perferendis. Esse quasi omnis itaque architecto quis voluptas doloremque.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_z\", \"created\": 1535133077.0, \"author_flair_text\": null, \"created_utc\": 1535133077.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "999" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:51:17 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "275.0" - ], - "x-ratelimit-reset": [ - "523" - ], - "x-ratelimit-used": [ - "25" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:51:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Officiis+possimus+corporis+dolores+a.+Officiis+expedita+labore+illo+nisi+autem.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "112" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"10\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Officiis possimus corporis dolores a. Officiis expedita labore illo nisi autem.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOfficiis possimus corporis dolores a. Officiis expedita labore illo nisi autem.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_10\", \"created\": 1535133080.0, \"author_flair_text\": null, \"created_utc\": 1535133080.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "961" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:51:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "274.0" - ], - "x-ratelimit-reset": [ - "520" - ], - "x-ratelimit-used": [ - "26" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:51:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Hic+exercitationem+quaerat+eaque+corrupti+ad.+Nihil+veniam+veniam+voluptate+dolore+deleniti.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "125" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"11\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Hic exercitationem quaerat eaque corrupti ad. Nihil veniam veniam voluptate dolore deleniti.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EHic exercitationem quaerat eaque corrupti ad. Nihil veniam veniam voluptate dolore deleniti.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_11\", \"created\": 1535133083.0, \"author_flair_text\": null, \"created_utc\": 1535133083.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "987" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:51:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "273.0" - ], - "x-ratelimit-reset": [ - "517" - ], - "x-ratelimit-used": [ - "27" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:51:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Dolorum+mollitia+assumenda+enim+optio+error.+Fugit+neque+libero+itaque+neque+illo.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "115" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"12\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Dolorum mollitia assumenda enim optio error. Fugit neque libero itaque neque illo.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDolorum mollitia assumenda enim optio error. Fugit neque libero itaque neque illo.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_12\", \"created\": 1535133086.0, \"author_flair_text\": null, \"created_utc\": 1535133086.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "967" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:51:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "272.0" - ], - "x-ratelimit-reset": [ - "514" - ], - "x-ratelimit-used": [ - "28" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:51:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Voluptate+voluptatum+ratione+dolorem+iusto+placeat.+Hic+illo+tenetur+porro+totam+praesentium.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "126" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"13\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Voluptate voluptatum ratione dolorem iusto placeat. Hic illo tenetur porro totam praesentium.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptate voluptatum ratione dolorem iusto placeat. Hic illo tenetur porro totam praesentium.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_13\", \"created\": 1535133089.0, \"author_flair_text\": null, \"created_utc\": 1535133089.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "989" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:51:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "271.0" - ], - "x-ratelimit-reset": [ - "511" - ], - "x-ratelimit-used": [ - "29" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:51:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Ratione+minima+ipsa+praesentium+dolor+adipisci.+Aut+modi+eveniet+minus+maiores+dolor+est+corrupti.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "131" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"14\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Ratione minima ipsa praesentium dolor adipisci. Aut modi eveniet minus maiores dolor est corrupti.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ERatione minima ipsa praesentium dolor adipisci. Aut modi eveniet minus maiores dolor est corrupti.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_14\", \"created\": 1535133092.0, \"author_flair_text\": null, \"created_utc\": 1535133092.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "999" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:51:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "270.0" - ], - "x-ratelimit-reset": [ - "508" - ], - "x-ratelimit-used": [ - "30" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:51:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Repellat+sapiente+dolor+vero+eius+mollitia.+Maxime+sed+unde+id+distinctio.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "107" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"15\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Repellat sapiente dolor vero eius mollitia. Maxime sed unde id distinctio.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ERepellat sapiente dolor vero eius mollitia. Maxime sed unde id distinctio.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_15\", \"created\": 1535133095.0, \"author_flair_text\": null, \"created_utc\": 1535133095.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "951" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:51:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "269.0" - ], - "x-ratelimit-reset": [ - "505" - ], - "x-ratelimit-used": [ - "31" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:51:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Recusandae+ex+provident+vitae.+Possimus+sit+et+reiciendis+officiis+et.+Porro+id+ratione+quaerat.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "129" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"16\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Recusandae ex provident vitae. Possimus sit et reiciendis officiis et. Porro id ratione quaerat.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ERecusandae ex provident vitae. Possimus sit et reiciendis officiis et. Porro id ratione quaerat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_16\", \"created\": 1535133098.0, \"author_flair_text\": null, \"created_utc\": 1535133098.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "995" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:51:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "268.0" - ], - "x-ratelimit-reset": [ - "502" - ], - "x-ratelimit-used": [ - "32" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:51:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Praesentium+quidem+est+quis.+Quo+enim+reprehenderit+deserunt+recusandae.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "105" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"17\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Praesentium quidem est quis. Quo enim reprehenderit deserunt recusandae.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPraesentium quidem est quis. Quo enim reprehenderit deserunt recusandae.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_17\", \"created\": 1535133101.0, \"author_flair_text\": null, \"created_utc\": 1535133101.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "947" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:51:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "267.0" - ], - "x-ratelimit-reset": [ - "499" - ], - "x-ratelimit-used": [ - "33" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:51:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Vel+eius+facilis+temporibus+quaerat+dolores.+Corrupti+voluptas+a+unde+at+fugiat+debitis.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "121" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"18\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Vel eius facilis temporibus quaerat dolores. Corrupti voluptas a unde at fugiat debitis.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVel eius facilis temporibus quaerat dolores. Corrupti voluptas a unde at fugiat debitis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_18\", \"created\": 1535133105.0, \"author_flair_text\": null, \"created_utc\": 1535133105.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "979" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:51:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "266.0" - ], - "x-ratelimit-reset": [ - "495" - ], - "x-ratelimit-used": [ - "34" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:51:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Quas+deleniti+iusto+eum+recusandae+impedit.+Veritatis+vero+illo+excepturi+laboriosam+cum+unde.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "127" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"19\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Quas deleniti iusto eum recusandae impedit. Veritatis vero illo excepturi laboriosam cum unde.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuas deleniti iusto eum recusandae impedit. Veritatis vero illo excepturi laboriosam cum unde.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_19\", \"created\": 1535133108.0, \"author_flair_text\": null, \"created_utc\": 1535133108.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "991" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:51:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "265.0" - ], - "x-ratelimit-reset": [ - "492" - ], - "x-ratelimit-used": [ - "35" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:51:51", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Doloremque+placeat+quia+laborum+saepe+doloribus.+Assumenda+distinctio+corrupti+voluptates+velit.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "129" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"1a\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Doloremque placeat quia laborum saepe doloribus. Assumenda distinctio corrupti voluptates velit.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDoloremque placeat quia laborum saepe doloribus. Assumenda distinctio corrupti voluptates velit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_1a\", \"created\": 1535133111.0, \"author_flair_text\": null, \"created_utc\": 1535133111.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "995" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:51:51 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "264.0" - ], - "x-ratelimit-reset": [ - "489" - ], - "x-ratelimit-used": [ - "36" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:51:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Recusandae+iure+cumque+itaque+in+nulla+quidem.+Laboriosam+eos+omnis+similique.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "111" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"1b\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Recusandae iure cumque itaque in nulla quidem. Laboriosam eos omnis similique.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ERecusandae iure cumque itaque in nulla quidem. Laboriosam eos omnis similique.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_1b\", \"created\": 1535133114.0, \"author_flair_text\": null, \"created_utc\": 1535133114.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "959" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:51:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "263.0" - ], - "x-ratelimit-reset": [ - "486" - ], - "x-ratelimit-used": [ - "37" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:51:57", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Ullam+modi+possimus+dolore+esse+unde+quod.+Numquam+ut+quia+atque+libero.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "105" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"1c\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Ullam modi possimus dolore esse unde quod. Numquam ut quia atque libero.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EUllam modi possimus dolore esse unde quod. Numquam ut quia atque libero.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_1c\", \"created\": 1535133117.0, \"author_flair_text\": null, \"created_utc\": 1535133117.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "947" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:51:57 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "262.0" - ], - "x-ratelimit-reset": [ - "483" - ], - "x-ratelimit-used": [ - "38" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:52:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=A+provident+incidunt+qui.+Optio+aperiam+amet+nostrum+assumenda+rerum+corrupti.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "111" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"1d\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"A provident incidunt qui. Optio aperiam amet nostrum assumenda rerum corrupti.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EA provident incidunt qui. Optio aperiam amet nostrum assumenda rerum corrupti.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_1d\", \"created\": 1535133120.0, \"author_flair_text\": null, \"created_utc\": 1535133120.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "959" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:52:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "261.0" - ], - "x-ratelimit-reset": [ - "480" - ], - "x-ratelimit-used": [ - "39" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:52:03", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Molestiae+fugit+voluptatum+dolorum+fugit.+Reiciendis+nam+beatae+saepe+quia.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "108" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"1e\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Molestiae fugit voluptatum dolorum fugit. Reiciendis nam beatae saepe quia.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMolestiae fugit voluptatum dolorum fugit. Reiciendis nam beatae saepe quia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_1e\", \"created\": 1535133123.0, \"author_flair_text\": null, \"created_utc\": 1535133123.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "953" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:52:03 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "260.0" - ], - "x-ratelimit-reset": [ - "477" - ], - "x-ratelimit-used": [ - "40" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:52:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Facere+odit+alias+molestiae+maiores+odio.+Nam+distinctio+culpa+iure+harum+architecto+cumque.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "125" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"1f\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Facere odit alias molestiae maiores odio. Nam distinctio culpa iure harum architecto cumque.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EFacere odit alias molestiae maiores odio. Nam distinctio culpa iure harum architecto cumque.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_1f\", \"created\": 1535133126.0, \"author_flair_text\": null, \"created_utc\": 1535133126.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "987" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:52:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "259.0" - ], - "x-ratelimit-reset": [ - "474" - ], - "x-ratelimit-used": [ - "41" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:52:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Rerum+quasi+consequatur+veritatis+quas+vel+aliquam.+Saepe+omnis+velit+natus+atque+quisquam.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "124" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"1g\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Rerum quasi consequatur veritatis quas vel aliquam. Saepe omnis velit natus atque quisquam.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ERerum quasi consequatur veritatis quas vel aliquam. Saepe omnis velit natus atque quisquam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_1g\", \"created\": 1535133129.0, \"author_flair_text\": null, \"created_utc\": 1535133129.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "985" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:52:09 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "258.0" - ], - "x-ratelimit-reset": [ - "471" - ], - "x-ratelimit-used": [ - "42" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:52:12", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Illo+animi+minus+fugit.+Reprehenderit+est+hic+pariatur+facilis+delectus.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "105" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"1h\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Illo animi minus fugit. Reprehenderit est hic pariatur facilis delectus.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIllo animi minus fugit. Reprehenderit est hic pariatur facilis delectus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_1h\", \"created\": 1535133132.0, \"author_flair_text\": null, \"created_utc\": 1535133132.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "947" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:52:12 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "257.0" - ], - "x-ratelimit-reset": [ - "468" - ], - "x-ratelimit-used": [ - "43" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:52:16", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Harum+deleniti+est+earum+vitae+placeat.+Aspernatur+velit+beatae+quae+odio.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "107" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"1i\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Harum deleniti est earum vitae placeat. Aspernatur velit beatae quae odio.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EHarum deleniti est earum vitae placeat. Aspernatur velit beatae quae odio.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_1i\", \"created\": 1535133135.0, \"author_flair_text\": null, \"created_utc\": 1535133135.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "951" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:52:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "256.0" - ], - "x-ratelimit-reset": [ - "465" - ], - "x-ratelimit-used": [ - "44" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:52:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Alias+at+excepturi+sequi+labore+fuga.+Sit+sit+excepturi+pariatur+omnis+deserunt+at.&thing_id=t3_8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 148-zaJAB4XXtI8bS1emezgqUPFip5w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "116" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"1j\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Alias at excepturi sequi labore fuga. Sit sit excepturi pariatur omnis deserunt at.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAlias at excepturi sequi labore fuga. Sit sit excepturi pariatur omnis deserunt at.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_1j\", \"created\": 1535133139.0, \"author_flair_text\": null, \"created_utc\": 1535133139.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "969" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:52:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "255.0" - ], - "x-ratelimit-reset": [ - "461" - ], - "x-ratelimit-used": [ - "45" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:52:22", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=client_credentials" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic b2RfY2xpZW50X2lkOm9kX2NsaWVudF9zZWNyZXQ=" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "29" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"-MGoz-CCSQncCQtZ9wPlnjjgelVQ\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "106" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:52:22 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299" - ], - "x-ratelimit-reset": [ - "458" - ], - "x-ratelimit-used": [ - "1" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2018-08-24T17:52:22", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&children=1j&link_id=t3_8&sort=best" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer -MGoz-CCSQncCQtZ9wPlnjjgelVQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "48" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ra3yhYqMsXH5WtpCRf; loidcreated=2018-08-24T17%3A49%3A37.039Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/morechildren/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_8\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"1j\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CBDB4ZD2QXBM0ERGB3C5GEA5\", \"parent_id\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Alias at excepturi sequi labore fuga. Sit sit excepturi pariatur omnis deserunt at.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAlias at excepturi sequi labore fuga. Sit sit excepturi pariatur omnis deserunt at.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535132977_occaecati\", \"score_hidden\": false, \"name\": \"t1_1j\", \"created\": 1535133139.0, \"author_flair_text\": null, \"created_utc\": 1535133139.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "969" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:52:22 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298" - ], - "x-ratelimit-reset": [ - "458" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/morechildren/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_more_comments_children.json b/cassettes/channels.views.comments_test.test_more_comments_children.json deleted file mode 100644 index 55420f610e..0000000000 --- a/cassettes/channels.views.comments_test.test_more_comments_children.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-14T17:28:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=george" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0Ndf1zcpIy7fw1Y1wM8txLsj2zQ21dKlK9kguMylX0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLbp+jlmeFm6mBbkl5eGRsZbRLoWpXgmloX6+xeD9KSklmUmp8ZnpoAMhnCUagFg1vGyuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 14 Nov 2017 17:28:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=S5x6Mk8jQsaZPaWA3m; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 14-Nov-2019 17:28:18 GMT", - "loidcreated=2017-11-14T17%3A28%3A18.828Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 14-Nov-2019 17:28:18 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=george" - } - }, - { - "recorded_at": "2017-11-14T17:28:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&children=e9l%2Ce9m&link_id=t3_1&sort=best" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 157-Mjhfo8M-XF6lCpkMmU9DzcHcv4w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "55" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=S5x6Mk8jQsaZPaWA3m; loidcreated=2017-11-14T17%3A28%3A18.828Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/morechildren/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9l\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 25\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 25\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9l\", \"created\": 1510245355.0, \"author_flair_text\": null, \"created_utc\": 1510245355.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_4\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"e9m\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"george\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"shallow comment 26\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eshallow comment 26\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"dedp2\", \"score_hidden\": false, \"name\": \"t1_e9m\", \"created\": 1510245360.0, \"author_flair_text\": null, \"created_utc\": 1510245360.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1566" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 14 Nov 2017 17:28:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "102" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/morechildren/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_more_comments_missing_param[parent_id].json b/cassettes/channels.views.comments_test.test_more_comments_missing_param[parent_id].json deleted file mode 100644 index 21e7b446cc..0000000000 --- a/cassettes/channels.views.comments_test.test_more_comments_missing_param[parent_id].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "http_interactions": [], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_more_comments_missing_param[post_id].json b/cassettes/channels.views.comments_test.test_more_comments_missing_param[post_id].json deleted file mode 100644 index 21e7b446cc..0000000000 --- a/cassettes/channels.views.comments_test.test_more_comments_missing_param[post_id].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "http_interactions": [], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_update_comment_anonymous.json b/cassettes/channels.views.comments_test.test_update_comment_anonymous.json deleted file mode 100644 index 21e7b446cc..0000000000 --- a/cassettes/channels.views.comments_test.test_update_comment_anonymous.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "http_interactions": [], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_update_comment_approve.json b/cassettes/channels.views.comments_test.test_update_comment_approve.json deleted file mode 100644 index e8ac8126a7..0000000000 --- a/cassettes/channels.views.comments_test.test_update_comment_approve.json +++ /dev/null @@ -1,1142 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T21:55:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPS54NN9T7CSHTJ4J72Y9V" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDK11E0z8zEq9nWOcDKoCs7NNigoT80pzM/2z7PwTVfSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolhnnhZjr+oZEhRR5ORmUFIWVGwbnGIaWJlpmlYO0pKSWZSanxmemgMyFcJRqAVHRBb22AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=ZlBwNsvnOBlZOQgLpm; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:55:45 GMT", - "loidcreated=2020-07-28T21%3A55%3A45.379Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:55:45 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPS54NN9T7CSHTJ4J72Y9V" - } - }, - { - "recorded_at": "2020-07-28T21:55:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Rule+other+evidence+her+develop+usually.+Employee+wish+avoid+listen.%0AGuess+whose+idea+TV+authority+various.+Similar+determine+final+task+quality.%0AMeet+detail+employee+front+part.+Education+gas+final+stand+bag+Republican+director.+Strong+learn+or+pick.%0AMemory+perform+green+half.+Shoulder+detail+father+any+evening+many.+Civil+walk+hard+whom+tell.%0AEnd+great+expect+debate+career+record+military.+Relate+behavior+culture.+Good+perhaps+career+term+adult.&link_type=any&name=1595973345_15_sea&public_description=Activity+weight+for+like+opportunity+some.+Agree+glass+which+particular+apply.&title=Smile+team+prepare+artist+painting+listen+course.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 59-f6L2sMCXB0zSmk0pwelqokOn8Mg" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "722" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ZlBwNsvnOBlZOQgLpm; loidcreated=2020-07-28T21%3A55%3A45.379Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "255" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ZlBwNsvnOBlZOQgLpm; loidcreated=2020-07-28T21%3A55%3A45.379Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPSBFKX89WECXVM27SER5T" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNwQrCMBBEf6XkKBZihGq8KXipWC0SwVOo6WrXgqmbUqLiv9vYk8d5zJt5s8IYcE63toY7W0Qs4bF8NWWK2dzeVi7fEVWT60HshVLpiY0jBr5BAqcx9KcJ5z376bp9NhA2zlAQUOg6Ywc0Cong0ovV39l2xnkmYisfa4/Ser7EblOro6c8KCV0aEBjGXaHwD5fhtKJkbYAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPSBFKX89WECXVM27SER5T" - } - }, - { - "recorded_at": "2020-07-28T21:55:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBPSBFKX89WECXVM27SER5T&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 59-f6L2sMCXB0zSmk0pwelqokOn8Mg" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ZlBwNsvnOBlZOQgLpm; loidcreated=2020-07-28T21%3A55%3A45.379Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595973345_15_sea/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "248" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973345_15_sea/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595973345_15_sea" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 60-9zpdJiN8ojBsQOrrh1gS2P2UUJY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "76" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ZlBwNsvnOBlZOQgLpm; loidcreated=2020-07-28T21%3A55%3A45.379Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "248" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595973345_15_sea&text=Ahead+college+after+year+education.+Kitchen+trouble+thus+game+crime+including+name+character.&title=Determine+degree+executive+your+and." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 60-9zpdJiN8ojBsQOrrh1gS2P2UUJY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "217" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ZlBwNsvnOBlZOQgLpm; loidcreated=2020-07-28T21%3A55%3A45.379Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595973345_15_sea/comments/q/determine_degree_executive_your_and/\", \"id\": \"q\", \"name\": \"t3_q\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "160" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "248" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 60-9zpdJiN8ojBsQOrrh1gS2P2UUJY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ZlBwNsvnOBlZOQgLpm; loidcreated=2020-07-28T21%3A55%3A45.379Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/q/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595973345_15_sea\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAhead college after year education. Kitchen trouble thus game crime including name character.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Ahead college after year education. Kitchen trouble thus game crime including name character.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"q\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBPSBFKX89WECXVM27SER5T\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595973345_15_sea\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_k\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595973345_15_sea/comments/q/determine_degree_executive_your_and/\", \"locked\": false, \"name\": \"t3_q\", \"created\": 1595973352.0, \"url\": \"http://reddit.local/r/1595973345_15_sea/comments/q/determine_degree_executive_your_and/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Determine degree executive your and.\", \"created_utc\": 1595973352.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1757" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "248" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=n%2F8oIGfffM6ZnB4C4969QIM0UEaKuMYZr0EFHK0wPCXv9%2FO1zdjuPC0UDWdp5Xf5XdUfi5%2FYh6aZvLQkhozjWzUCMrpOqP0r" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/q/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Study+relationship+participant.+Debate+explain+member+month+notice.&thing_id=t3_q" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 60-9zpdJiN8ojBsQOrrh1gS2P2UUJY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "100" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ZlBwNsvnOBlZOQgLpm; loidcreated=2020-07-28T21%3A55%3A45.379Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_k\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_q\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"27\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EEBPSBFKX89WECXVM27SER5T\", \"parent_id\": \"t3_q\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Study relationship participant. Debate explain member month notice.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EStudy relationship participant. Debate explain member month notice.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973345_15_sea\", \"score_hidden\": false, \"name\": \"t1_27\", \"created\": 1595973355.0, \"author_flair_text\": null, \"created_utc\": 1595973355.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "934" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "245" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:58", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t1_27&spam=False" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 59-f6L2sMCXB0zSmk0pwelqokOn8Mg" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "33" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ZlBwNsvnOBlZOQgLpm; loidcreated=2020-07-28T21%3A55%3A45.379Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/remove/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:58 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "242" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/remove/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:58", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t1_27" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 59-f6L2sMCXB0zSmk0pwelqokOn8Mg" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "22" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ZlBwNsvnOBlZOQgLpm; loidcreated=2020-07-28T21%3A55%3A45.379Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/approve/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:58 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "242" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/approve/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:58", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 59-f6L2sMCXB0zSmk0pwelqokOn8Mg" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ZlBwNsvnOBlZOQgLpm; loidcreated=2020-07-28T21%3A55%3A45.379Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_27&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_k\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_q\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"27\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01EEBPSBFKX89WECXVM27SER5T\", \"parent_id\": \"t3_q\", \"score\": 1, \"approved_by\": \"01EEBPS54NN9T7CSHTJ4J72Y9V\", \"controversiality\": 0, \"body\": \"Study relationship participant. Debate explain member month notice.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EStudy relationship participant. Debate explain member month notice.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973345_15_sea\", \"score_hidden\": false, \"name\": \"t1_27\", \"created\": 1595973355.0, \"author_flair_text\": null, \"created_utc\": 1595973355.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": 0, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "998" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:58 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "242" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=22xEDwseeVZuk%2FToBVbkAC0v%2FbReKUR0HJsf%2Bldl9tXgd%2BPVX%2B%2BGIqF9wUZC5Ebjd00Bt7jXByY%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_27&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:58", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 59-f6L2sMCXB0zSmk0pwelqokOn8Mg" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ZlBwNsvnOBlZOQgLpm; loidcreated=2020-07-28T21%3A55%3A45.379Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595973345_15_sea/about/moderators/?user=01EEBPSBFKX89WECXVM27SER5T&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:58 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "242" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=U1yIdmPib77DAqD7AnNgg23Vcu8n%2BJ4P5TvB7KBpZiOhKQhRRq72PEVxSP2kMTnXFTWEZPSxIJz2CbWenV4u4XNuib%2FLeeAS" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973345_15_sea/about/moderators/?user=01EEBPSBFKX89WECXVM27SER5T&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:58", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 59-f6L2sMCXB0zSmk0pwelqokOn8Mg" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ZlBwNsvnOBlZOQgLpm; loidcreated=2020-07-28T21%3A55%3A45.379Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_27&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_k\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_q\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"27\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01EEBPSBFKX89WECXVM27SER5T\", \"parent_id\": \"t3_q\", \"score\": 1, \"approved_by\": \"01EEBPS54NN9T7CSHTJ4J72Y9V\", \"controversiality\": 0, \"body\": \"Study relationship participant. Debate explain member month notice.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EStudy relationship participant. Debate explain member month notice.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973345_15_sea\", \"score_hidden\": false, \"name\": \"t1_27\", \"created\": 1595973355.0, \"author_flair_text\": null, \"created_utc\": 1595973355.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": 0, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "998" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:58 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "242" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=lp5Oa1FCSgCgq0A6iO7%2BFsVlpcUZaJ0TPg2p4Jx7xt5JXwdfzC62I5a8N5jB3hswoRwauGSZoQ4%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_27&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_update_comment_clear_downvote.json b/cassettes/channels.views.comments_test.test_update_comment_clear_downvote.json deleted file mode 100644 index cf14caeafd..0000000000 --- a/cassettes/channels.views.comments_test.test_update_comment_clear_downvote.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T21:55:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPRH9CBWSSVV0N2FNAKGVE" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNQQvCIBzFv8rwGA2ElrBuxqBDEtRhRBcx/btE5pauZkTfvdlOHd+P93vvjYSUEAIfOgsObTK0JjmxbGRKPI64itXISH3Gce+coTVFywxB7I2HwE3qrwjGE/vpfHj1kDauIDz41A2ym9EiJQ96Em9/Z5Re2C5vLaP6cJeuKDUvrSna07ZJioKnkcCNSrtzQJ8vUs0jMrYAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=gwU92VhCWUpgNRkq0d; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:55:25 GMT", - "loidcreated=2020-07-28T21%3A55%3A25.046Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:55:25 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPRH9CBWSSVV0N2FNAKGVE" - } - }, - { - "recorded_at": "2020-07-28T21:55:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 56-6kLwLdauQ0DxDwL6VX0xKnniAVA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=gwU92VhCWUpgNRkq0d; loidcreated=2020-07-28T21%3A55%3A25.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_l&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_1\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"l\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"abeglova2\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"this is dumb\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ethis is dumb\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"public_channel\", \"score_hidden\": false, \"name\": \"t1_l\", \"created\": 1594746423.0, \"author_flair_text\": null, \"created_utc\": 1594746423.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "847" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "275" - ], - "x-ratelimit-used": [ - "1" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ZD%2FX5Co2XUQTH5o1lDafdsY%2BsFCj2aXQXunp%2F43tUf111z80jd58uRw3qbYv4I5yNeM9RAIy6dQ%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_l&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 56-6kLwLdauQ0DxDwL6VX0xKnniAVA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=gwU92VhCWUpgNRkq0d; loidcreated=2020-07-28T21%3A55%3A25.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/public_channel/about/moderators/?user=abeglova2&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "275" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=1PbWqsG0VfujBWggtn6to5%2FCr9mB3EU9iDxTXUehde5kTeKkqY5VTPNbIsYi5o18MDUefBANRrpXf4TfkiTfOXl1PW8YF%2FEb" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/public_channel/about/moderators/?user=abeglova2&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 56-6kLwLdauQ0DxDwL6VX0xKnniAVA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=gwU92VhCWUpgNRkq0d; loidcreated=2020-07-28T21%3A55%3A25.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_l&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_1\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"l\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"abeglova2\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"this is dumb\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ethis is dumb\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"public_channel\", \"score_hidden\": false, \"name\": \"t1_l\", \"created\": 1594746423.0, \"author_flair_text\": null, \"created_utc\": 1594746423.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "847" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "275" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=GxuGsf%2BOPiuoPV2YOUkXl7Z3BLxd8pl5RST8m3K%2BSCpgYFFxTCdt4Ff1Y0qHiMSVKoItPy8wsDc%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_l&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_update_comment_clear_upvote.json b/cassettes/channels.views.comments_test.test_update_comment_clear_upvote.json deleted file mode 100644 index 3d421a4157..0000000000 --- a/cassettes/channels.views.comments_test.test_update_comment_clear_upvote.json +++ /dev/null @@ -1,341 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T21:55:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPRDRPKMWN6AZATW4C57HT" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI11c1NLSsNt/TNjk+uMsoq889JKTC2rHLSLayo9FTSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolrmnGuXnlaWHh+qaRIYVRqblV7gbBCUVepRapIO0pKSWZSanxmemgMyFcJRqAU98bHe2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=yW4en4d9bl0zu90qvQ; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:55:21 GMT", - "loidcreated=2020-07-28T21%3A55%3A21.439Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:55:21 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPRDRPKMWN6AZATW4C57HT" - } - }, - { - "recorded_at": "2020-07-28T21:55:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 55-mevuW9Mk_cz2jvOldp39zB-qxyI" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=yW4en4d9bl0zu90qvQ; loidcreated=2020-07-28T21%3A55%3A21.439Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_6&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_1\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"6\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"mitodl\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"dfasdfmaslkdf\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Edfasdfmaslkdf\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"public_channel\", \"score_hidden\": false, \"name\": \"t1_6\", \"created\": 1593536980.0, \"author_flair_text\": null, \"created_utc\": 1593536980.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "846" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "279" - ], - "x-ratelimit-used": [ - "1" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=isHsL8nJXS8nke5WdZ9F44wFqpMqu3LkZUmWtyFGObbVnTR5jFBwh5FoT%2Fe8zxJr56TkB0AVKWs%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_6&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 55-mevuW9Mk_cz2jvOldp39zB-qxyI" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=yW4en4d9bl0zu90qvQ; loidcreated=2020-07-28T21%3A55%3A21.439Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/public_channel/about/moderators/?user=mitodl&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1593036144.0, \"mod_permissions\": [\"all\"], \"name\": \"mitodl\", \"id\": \"t2_2\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "128" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "279" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=MZP4oE7zgadpEhFde%2BDtHi0xP2AvlRFC2m8qp1YYef5he1nNABrC2hjbrooeR%2BGJksC1ZASNRVP516xDCVAjpbxHWR8dPQl4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/public_channel/about/moderators/?user=mitodl&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 55-mevuW9Mk_cz2jvOldp39zB-qxyI" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=yW4en4d9bl0zu90qvQ; loidcreated=2020-07-28T21%3A55%3A21.439Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_6&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_1\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"6\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"mitodl\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"dfasdfmaslkdf\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Edfasdfmaslkdf\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"public_channel\", \"score_hidden\": false, \"name\": \"t1_6\", \"created\": 1593536980.0, \"author_flair_text\": null, \"created_utc\": 1593536980.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "846" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "279" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=wgMvy8bsvzMji2KugKapTcBnk%2BrgqD4XPnJCxJczBhXZOpLqVXjf7wFecGcP7cOc%2FC75fBCoXNE%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_6&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_update_comment_downvote.json b/cassettes/channels.views.comments_test.test_update_comment_downvote.json deleted file mode 100644 index 851d1d68cc..0000000000 --- a/cassettes/channels.views.comments_test.test_update_comment_downvote.json +++ /dev/null @@ -1,433 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T21:55:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPRA7M2V8PCY0VM1REBXFT" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI10bWo0vUOL0r28clOTLcwL3IyDgpMtMw2yUgvTFfSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolpUUeoRHepj6p5bHO0ZYpIcaRuSYhHuEmxaUO4K0pKSWZSanxmemgMyFcJRqAShQr6G2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=11C34iROkJpipiPk3d; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:55:18 GMT", - "loidcreated=2020-07-28T21%3A55%3A17.827Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:55:18 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPRA7M2V8PCY0VM1REBXFT" - } - }, - { - "recorded_at": "2020-07-28T21:55:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 54-8z-KWrcLLkag87rB3RQa9k4hgqg" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=11C34iROkJpipiPk3d; loidcreated=2020-07-28T21%3A55%3A17.827Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_l&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_1\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"l\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"abeglova2\", \"parent_id\": \"t3_1\", \"score\": 2, \"approved_by\": null, \"controversiality\": 0, \"body\": \"this is dumb\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ethis is dumb\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"public_channel\", \"score_hidden\": false, \"name\": \"t1_l\", \"created\": 1594746423.0, \"author_flair_text\": null, \"created_utc\": 1594746423.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 2}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "847" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "282" - ], - "x-ratelimit-used": [ - "1" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=zsIeod5Z0i4oOzLxNRCTjnDfXkvkjKRKiHyw%2FN67g72gH6zroT53jhJ1pDEUeT%2F0d2UjoIZE6CU%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_l&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&dir=-1&id=t1_l" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 54-8z-KWrcLLkag87rB3RQa9k4hgqg" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "28" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=11C34iROkJpipiPk3d; loidcreated=2020-07-28T21%3A55%3A17.827Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/vote/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "282" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/vote/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 54-8z-KWrcLLkag87rB3RQa9k4hgqg" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=11C34iROkJpipiPk3d; loidcreated=2020-07-28T21%3A55%3A17.827Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/public_channel/about/moderators/?user=abeglova2&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "282" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=H983EkzL%2FDMwc%2Fk3ECFL6l5tYXOzXHn8akYd64hDXQ7BbELL%2BxnuEDt3vKKdPQwIrW98oPGdUjkx90zHGeTHFbqt9lkgzWRF" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/public_channel/about/moderators/?user=abeglova2&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 54-8z-KWrcLLkag87rB3RQa9k4hgqg" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=11C34iROkJpipiPk3d; loidcreated=2020-07-28T21%3A55%3A17.827Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_l&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_1\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": false, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"l\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"abeglova2\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"this is dumb\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ethis is dumb\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"public_channel\", \"score_hidden\": false, \"name\": \"t1_l\", \"created\": 1594746423.0, \"author_flair_text\": null, \"created_utc\": 1594746423.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "848" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "282" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=jkPuxTAM8XlS8oSKa2lM3tbLVPhyZnjbzekpMPrH1UF8cymUhQ4IV%2FsNlkqmHOrFb0mW0RVE0aA%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_l&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_update_comment_forbidden.json b/cassettes/channels.views.comments_test.test_update_comment_forbidden.json deleted file mode 100644 index 0ed829bb5d..0000000000 --- a/cassettes/channels.views.comments_test.test_update_comment_forbidden.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T21:55:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPR391T74XHPS9VD1GQG8D" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI10g1yS64sdjFxD3Yzykstytd18i4pNSwoNYovCVTSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolnlYGkYUGeT5eBcZRFkW5RQWupi6+oTnBod554O0pKSWZSanxmemgMyFcJRqAWV5E8O2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=NtAdtZ4jK5AOwBkdCD; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:55:11 GMT", - "loidcreated=2020-07-28T21%3A55%3A10.710Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:55:11 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPR391T74XHPS9VD1GQG8D" - } - }, - { - "recorded_at": "2020-07-28T21:55:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=updated+text&thing_id=t1_e8h" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 52-RFcysD4GSF2nero-BKtu1pu2_tQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "47" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=NtAdtZ4jK5AOwBkdCD; loidcreated=2020-07-28T21%3A55%3A10.710Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/editusertext/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [[\"NOT_AUTHOR\", \"you can't do that\", \"thing_id\"]]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "71" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "289" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/editusertext/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_update_comment_ignore_reports.json b/cassettes/channels.views.comments_test.test_update_comment_ignore_reports.json deleted file mode 100644 index a6054a2aa7..0000000000 --- a/cassettes/channels.views.comments_test.test_update_comment_ignore_reports.json +++ /dev/null @@ -1,1142 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T21:56:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPSN7RGDP90YH3B7ND28XG" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIz1C3zNCiIz61wLLd0LDAxMPXL9qhKqYgI8kgKyFfSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolgVnpgf4hYUa5plXhAcUJOYFpwVVBQZGWRT6eYK0pKSWZSanxmemgMyFcJRqAbcovIK2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=7bOUvhVDIBrIZAJIWp; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:56:02 GMT", - "loidcreated=2020-07-28T21%3A56%3A01.844Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:56:02 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPSN7RGDP90YH3B7ND28XG" - } - }, - { - "recorded_at": "2020-07-28T21:56:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Public+movie+street.+At+account+citizen+movement+me+natural.%0AChair+anything+everyone+all+heavy+for.+Positive+so+leader+candidate+all+probably+anyone.%0AYou+character+project+each+style.+Example+unit+who+media+politics+issue.+Work+understand+stop+town+receive+join+effort+could.+Some+do+vote.%0ATeam+camera+commercial+tree+draw+century.+Change+Mr+need+apply.%0AResource+as+task+for+type.+State+west+amount+war+accept.+Like+pay+read+area+choose+charge+company.&link_type=any&name=1595973362_16_service&public_description=Commercial+strategy+those+almost.+Eight+national+reality+practice+area+nothing.&title=Involve+protect+necessary+win+cut+cell+both.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 61-vI0p_mxAw9Ap405NkHzdxXRHbPo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "723" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=7bOUvhVDIBrIZAJIWp; loidcreated=2020-07-28T21%3A56%3A01.844Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "238" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=7bOUvhVDIBrIZAJIWp; loidcreated=2020-07-28T21%3A56%3A01.844Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPSVQ6EQJKHDD7K8F9R8EX" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIz0s0FgqxI8/KSwJQi51LL1LLkCD//QK+qyvJ8JR0FpdSKgsyi1OL4TJB6YzMDA6AYWHt8SWVBKsiMpNTEotQikNri5HyIkBaIV5SaBtSYgWJZiFlySU6lrnugd5RrZVWBW3i+b2FAcLZrWXo2SEtKallmcmp8ZgrIXAhHqRYATLYRNLYAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPSVQ6EQJKHDD7K8F9R8EX" - } - }, - { - "recorded_at": "2020-07-28T21:56:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBPSVQ6EQJKHDD7K8F9R8EX&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 61-vI0p_mxAw9Ap405NkHzdxXRHbPo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=7bOUvhVDIBrIZAJIWp; loidcreated=2020-07-28T21%3A56%3A01.844Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595973362_16_service/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "232" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973362_16_service/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595973362_16_service" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 62-mmmmjY7wtQdrCu9evcXNOQJzywo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "80" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=7bOUvhVDIBrIZAJIWp; loidcreated=2020-07-28T21%3A56%3A01.844Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "232" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595973362_16_service&text=Lead+then+item+such+after+less+travel.+Step+natural+environmental+yeah.&title=Can+local+suddenly+nation+investment+drive+chair." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 62-mmmmjY7wtQdrCu9evcXNOQJzywo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "212" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=7bOUvhVDIBrIZAJIWp; loidcreated=2020-07-28T21%3A56%3A01.844Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595973362_16_service/comments/r/can_local_suddenly_nation_investment_drive_chair/\", \"id\": \"r\", \"name\": \"t3_r\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "177" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:09 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "232" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 62-mmmmjY7wtQdrCu9evcXNOQJzywo" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=7bOUvhVDIBrIZAJIWp; loidcreated=2020-07-28T21%3A56%3A01.844Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/r/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595973362_16_service\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ELead then item such after less travel. Step natural environmental yeah.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Lead then item such after less travel. Step natural environmental yeah.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"r\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBPSVQ6EQJKHDD7K8F9R8EX\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595973362_16_service\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_l\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595973362_16_service/comments/r/can_local_suddenly_nation_investment_drive_chair/\", \"locked\": false, \"name\": \"t3_r\", \"created\": 1595973368.0, \"url\": \"http://reddit.local/r/1595973362_16_service/comments/r/can_local_suddenly_nation_investment_drive_chair/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Can local suddenly nation investment drive chair.\", \"created_utc\": 1595973368.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1768" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:09 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "231" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=%2FvYEJS1FOkBSIuNi9lYKIN%2Bs5JlfbmYaIzu9XC4S4Xtrr5Cl5ZkXTGqEBGSmBn0ppNNLlblp2JK3S1o4G2PGQEz6QNQkUGAe" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/r/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:12", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Goal+bag+trade+clear+quality+address+him.+Energy+be+space+technology+entire.&thing_id=t3_r" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 62-mmmmjY7wtQdrCu9evcXNOQJzywo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "109" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=7bOUvhVDIBrIZAJIWp; loidcreated=2020-07-28T21%3A56%3A01.844Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_l\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_r\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"28\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EEBPSVQ6EQJKHDD7K8F9R8EX\", \"parent_id\": \"t3_r\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Goal bag trade clear quality address him. Energy be space technology entire.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EGoal bag trade clear quality address him. Energy be space technology entire.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973362_16_service\", \"score_hidden\": false, \"name\": \"t1_28\", \"created\": 1595973372.0, \"author_flair_text\": null, \"created_utc\": 1595973372.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "956" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:12 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "228" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t1_28" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 61-vI0p_mxAw9Ap405NkHzdxXRHbPo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "22" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=7bOUvhVDIBrIZAJIWp; loidcreated=2020-07-28T21%3A56%3A01.844Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/approve/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "225" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/approve/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t1_28" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 61-vI0p_mxAw9Ap405NkHzdxXRHbPo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "22" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=7bOUvhVDIBrIZAJIWp; loidcreated=2020-07-28T21%3A56%3A01.844Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/ignore_reports/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "225" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/ignore_reports/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 61-vI0p_mxAw9Ap405NkHzdxXRHbPo" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=7bOUvhVDIBrIZAJIWp; loidcreated=2020-07-28T21%3A56%3A01.844Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_28&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_l\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_r\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"28\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01EEBPSVQ6EQJKHDD7K8F9R8EX\", \"parent_id\": \"t3_r\", \"score\": 1, \"approved_by\": \"01EEBPSN7RGDP90YH3B7ND28XG\", \"controversiality\": 0, \"body\": \"Goal bag trade clear quality address him. Energy be space technology entire.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EGoal bag trade clear quality address him. Energy be space technology entire.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973362_16_service\", \"score_hidden\": false, \"name\": \"t1_28\", \"created\": 1595973372.0, \"author_flair_text\": null, \"created_utc\": 1595973372.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": 0, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1020" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "225" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=BUb7qqwh2ZsxGkWIdcuaMx2514Pk0pC2eb%2BcriwNGp6COw%2FMqfwmkN0Bt%2Bt0oKugNizUZYBqxdU%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_28&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 61-vI0p_mxAw9Ap405NkHzdxXRHbPo" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=7bOUvhVDIBrIZAJIWp; loidcreated=2020-07-28T21%3A56%3A01.844Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595973362_16_service/about/moderators/?user=01EEBPSVQ6EQJKHDD7K8F9R8EX&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "225" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=sZUnUvPwXAwQsacCxpiXxowjiO%2FNmeeBN85HFp2jhqvc%2B7UTkBtdXVNZBngYRGGC2QVGYnXMZPCcyvMY9%2FGBCdeGpX7SBTr4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973362_16_service/about/moderators/?user=01EEBPSVQ6EQJKHDD7K8F9R8EX&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 61-vI0p_mxAw9Ap405NkHzdxXRHbPo" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=7bOUvhVDIBrIZAJIWp; loidcreated=2020-07-28T21%3A56%3A01.844Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_28&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_l\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_r\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"28\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01EEBPSVQ6EQJKHDD7K8F9R8EX\", \"parent_id\": \"t3_r\", \"score\": 1, \"approved_by\": \"01EEBPSN7RGDP90YH3B7ND28XG\", \"controversiality\": 0, \"body\": \"Goal bag trade clear quality address him. Energy be space technology entire.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EGoal bag trade clear quality address him. Energy be space technology entire.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973362_16_service\", \"score_hidden\": false, \"name\": \"t1_28\", \"created\": 1595973372.0, \"author_flair_text\": null, \"created_utc\": 1595973372.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": 0, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1020" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "225" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=t1rNXxmyz6siYRqzADiw2Ko7zu%2Bxthcz9PfcE%2B4Xt6Q8bUhowRcIgMHGayKrAXEVEeZOH9iBk4I%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_28&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_update_comment_ignore_reports_forbidden.json b/cassettes/channels.views.comments_test.test_update_comment_ignore_reports_forbidden.json deleted file mode 100644 index 850729f95f..0000000000 --- a/cassettes/channels.views.comments_test.test_update_comment_ignore_reports_forbidden.json +++ /dev/null @@ -1,783 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T21:56:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPT5E25KFJDGM216124PJP" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIz1jXL8vHTrQzNKtctdCmNdwvyLEqxKCo3CquoDFTSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkollmmWuQFpGYUBugmVzqmGYbrpkcVVhj4B3hZmoC0pKSWZSanxmemgMyFcJRqAb5rOw22AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=j1Ee8BFTiunSam43P3; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:56:18 GMT", - "loidcreated=2020-07-28T21%3A56%3A18.443Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:56:18 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPT5E25KFJDGM216124PJP" - } - }, - { - "recorded_at": "2020-07-28T21:56:22", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=j1Ee8BFTiunSam43P3; loidcreated=2020-07-28T21%3A56%3A18.443Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPT8QDXEYY24C71BK7KPXJ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIz0XVyKjfLLY9KTAu3KEgzC/EK8fWONw0OMXYzM1DSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolnknB6cGOwaZV4W6lBQUZ4cVOVVV6eZlhwaG+YK0pKSWZSanxmemgMyFcJRqAZrCMW22AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:22 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPT8QDXEYY24C71BK7KPXJ" - } - }, - { - "recorded_at": "2020-07-28T21:56:22", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=School+suddenly+ahead+wife+someone+front+stock.+Answer+hot+lot+hold+decade.%0AAnother+issue+benefit+assume.+Worker+young+interest+night.+Tend+charge+worker+her+front.%0APossible+nice+my+style+visit+next.%0AToward+stock+black+teacher+entire+identify+today.+Hotel+while+fine+country+get+per+report.%0AHot+information+beautiful+career+between.+Save+air+left+section+method+big.+Sea+late+along+wife+third+first+much.%0AThen+final+into+option+dark+edge+blue.+Specific+quite+social+experience+out+kid+apply.&link_type=any&name=1595973382_17_deep&public_description=Theory+administration+value+everyone+final+purpose+prove.&title=Clearly+throw+factor+new.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 64-BBw6mwZafW8pf6TJTMK_5ST3F60" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "720" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=j1Ee8BFTiunSam43P3; loidcreated=2020-07-28T21%3A56%3A18.443Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:22 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "218" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBPT5E25KFJDGM216124PJP&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 64-BBw6mwZafW8pf6TJTMK_5ST3F60" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=j1Ee8BFTiunSam43P3; loidcreated=2020-07-28T21%3A56%3A18.443Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595973382_17_deep/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "215" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973382_17_deep/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595973382_17_deep" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 63-6jLN-yUjw-qDu_FRIrd8rw2VxyQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "77" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=j1Ee8BFTiunSam43P3; loidcreated=2020-07-28T21%3A56%3A18.443Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "215" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595973382_17_deep&text=Left+poor+baby+official+throughout.+Stuff+life+place+top+return.&title=Interesting+stage+general+scene." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 63-6jLN-yUjw-qDu_FRIrd8rw2VxyQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "185" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=j1Ee8BFTiunSam43P3; loidcreated=2020-07-28T21%3A56%3A18.443Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595973382_17_deep/comments/s/interesting_stage_general_scene/\", \"id\": \"s\", \"name\": \"t3_s\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "157" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "215" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 63-6jLN-yUjw-qDu_FRIrd8rw2VxyQ" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=j1Ee8BFTiunSam43P3; loidcreated=2020-07-28T21%3A56%3A18.443Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/s/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595973382_17_deep\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ELeft poor baby official throughout. Stuff life place top return.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Left poor baby official throughout. Stuff life place top return.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"s\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBPT5E25KFJDGM216124PJP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595973382_17_deep\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_m\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595973382_17_deep/comments/s/interesting_stage_general_scene/\", \"locked\": false, \"name\": \"t3_s\", \"created\": 1595973385.0, \"url\": \"http://reddit.local/r/1595973382_17_deep/comments/s/interesting_stage_general_scene/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Interesting stage general scene.\", \"created_utc\": 1595973385.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1691" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "215" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=RW8uk5Mk2k4ro%2FY3TNaZ6NJ8Tglr9JT4NbpR4ztNVv2O0Zcggqi7ItuLk%2Fy5ErrSjhtgu4HUlyYm4LxX7QZKVDrIt9emhdkd" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/s/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Think+plan+fish+trip+best+phone.+Recently+until+garden+yeah+easy+growth.&thing_id=t3_s" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 63-6jLN-yUjw-qDu_FRIrd8rw2VxyQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "105" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=j1Ee8BFTiunSam43P3; loidcreated=2020-07-28T21%3A56%3A18.443Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_m\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_s\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"29\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EEBPT5E25KFJDGM216124PJP\", \"parent_id\": \"t3_s\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Think plan fish trip best phone. Recently until garden yeah easy growth.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EThink plan fish trip best phone. Recently until garden yeah easy growth.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973382_17_deep\", \"score_hidden\": false, \"name\": \"t1_29\", \"created\": 1595973388.0, \"author_flair_text\": null, \"created_utc\": 1595973388.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "945" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "212" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t1_29" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 63-6jLN-yUjw-qDu_FRIrd8rw2VxyQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "22" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=j1Ee8BFTiunSam43P3; loidcreated=2020-07-28T21%3A56%3A18.443Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/approve/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"message\": \"Forbidden\", \"error\": 403}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "38" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "209" - ], - "x-ratelimit-used": [ - "5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 403, - "message": "Forbidden" - }, - "url": "https://reddit.local/api/approve/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_update_comment_remove.json b/cassettes/channels.views.comments_test.test_update_comment_remove.json deleted file mode 100644 index 8341752597..0000000000 --- a/cassettes/channels.views.comments_test.test_update_comment_remove.json +++ /dev/null @@ -1,1050 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T21:55:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPRMTYJ6QA9V5GBJ7BECB5" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WN0QqCMBiFX0X+yygYLDfoNiKhiBKxuhrb/KWpNdksjOjdc3rV5Tl85zsfkFqj96KzNT5gFUHMFyo/ZDo50Z2vGL1mPGX82D/jShUbmEeAfWscemECTxkhQzfORfduMTgUSocusF7bqZqF5LAchre/M9acL5Kse1Kbbpk2NN+XStptfWfjWYEvo1GYIninAN8fnxeAZrYAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=JAaNcD7PM7OnwDKFwZ; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:55:29 GMT", - "loidcreated=2020-07-28T21%3A55%3A28.676Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:55:29 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPRMTYJ6QA9V5GBJ7BECB5" - } - }, - { - "recorded_at": "2020-07-28T21:55:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Success+role+either+project+wide.+At+firm+night+letter.+Class+music+sell.%0AAfter+table+surface+serve+likely.+Two+material+material.+Reality+technology+show+many+best+agent.%0AHard+miss+door+project+the+white+support.+Be+lay+commercial+its+news+onto+charge.+Understand+recently+example+believe.+Room+be+thank+loss+natural+paper.%0AStructure+fight+seat+condition.+Hit+impact+build+side+tell.%0AFish+focus+toward+movement+cultural.+Wind+join+economy.+Son+ground+stand+radio+trouble+also.&link_type=any&name=1595973329_14_environ&public_description=Page+wrong+police+behavior+discussion+only+town.&title=Poor+yourself+course.+Main+hand+politics.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 57-bVNTcHQ3Ksj63YT7R67Pxu5jbdE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "714" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JAaNcD7PM7OnwDKFwZ; loidcreated=2020-07-28T21%3A55%3A28.676Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "271" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=JAaNcD7PM7OnwDKFwZ; loidcreated=2020-07-28T21%3A55%3A28.676Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPRV84XY6E1R34XY20EQJY" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDK10A2oqAo2LUgpiyrOLgxJrXLydS30My70TM/0TFbSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolhkbphqXWPpXWrilBpZFmTqbeidHBZYGGYaEOYK0pKSWZSanxmemgMyFcJRqASXffOC2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPRV84XY6E1R34XY20EQJY" - } - }, - { - "recorded_at": "2020-07-28T21:55:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBPRV84XY6E1R34XY20EQJY&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 57-bVNTcHQ3Ksj63YT7R67Pxu5jbdE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JAaNcD7PM7OnwDKFwZ; loidcreated=2020-07-28T21%3A55%3A28.676Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595973329_14_environ/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "265" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973329_14_environ/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595973329_14_environ" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 58-PxzS5pdvZskqTezBMEqN3qIgiIc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "80" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JAaNcD7PM7OnwDKFwZ; loidcreated=2020-07-28T21%3A55%3A28.676Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "265" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595973329_14_environ&text=Pull+consider+up+firm+house+cell.+Theory+college+daughter+feel.&title=Share+work+change+stop." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 58-PxzS5pdvZskqTezBMEqN3qIgiIc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "178" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JAaNcD7PM7OnwDKFwZ; loidcreated=2020-07-28T21%3A55%3A28.676Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595973329_14_environ/comments/p/share_work_change_stop/\", \"id\": \"p\", \"name\": \"t3_p\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "151" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "265" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 58-PxzS5pdvZskqTezBMEqN3qIgiIc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=JAaNcD7PM7OnwDKFwZ; loidcreated=2020-07-28T21%3A55%3A28.676Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/p/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595973329_14_environ\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPull consider up firm house cell. Theory college daughter feel.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Pull consider up firm house cell. Theory college daughter feel.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"p\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBPRV84XY6E1R34XY20EQJY\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595973329_14_environ\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_j\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595973329_14_environ/comments/p/share_work_change_stop/\", \"locked\": false, \"name\": \"t3_p\", \"created\": 1595973335.0, \"url\": \"http://reddit.local/r/1595973329_14_environ/comments/p/share_work_change_stop/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Share work change stop.\", \"created_utc\": 1595973335.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1674" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "265" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=E0fAUuV0yeZKXYo5dqI7UW6zqPW6FTgTENUeCBmVDq%2FOcUC9d1khA78GP0USqZv2eogx%2FasVWDjygpSEws8scJjNT7oneN1%2B" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/p/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:39", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Never+tonight+operation+member.+Half+writer+single+building+go+ahead.+Him+sound+few+dream+class.&thing_id=t3_p" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 58-PxzS5pdvZskqTezBMEqN3qIgiIc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "129" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JAaNcD7PM7OnwDKFwZ; loidcreated=2020-07-28T21%3A55%3A28.676Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_j\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_p\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"26\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EEBPRV84XY6E1R34XY20EQJY\", \"parent_id\": \"t3_p\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Never tonight operation member. Half writer single building go ahead. Him sound few dream class.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENever tonight operation member. Half writer single building go ahead. Him sound few dream class.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973329_14_environ\", \"score_hidden\": false, \"name\": \"t1_26\", \"created\": 1595973339.0, \"author_flair_text\": null, \"created_utc\": 1595973339.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "996" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:39 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "261" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t1_26&spam=False" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 57-bVNTcHQ3Ksj63YT7R67Pxu5jbdE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "33" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JAaNcD7PM7OnwDKFwZ; loidcreated=2020-07-28T21%3A55%3A28.676Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/remove/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "258" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/remove/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 57-bVNTcHQ3Ksj63YT7R67Pxu5jbdE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=JAaNcD7PM7OnwDKFwZ; loidcreated=2020-07-28T21%3A55%3A28.676Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_26&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_j\", \"banned_by\": \"01EEBPRMTYJ6QA9V5GBJ7BECB5\", \"removal_reason\": null, \"link_id\": \"t3_p\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"26\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01EEBPRV84XY6E1R34XY20EQJY\", \"parent_id\": \"t3_p\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Never tonight operation member. Half writer single building go ahead. Him sound few dream class.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENever tonight operation member. Half writer single building go ahead. Him sound few dream class.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973329_14_environ\", \"score_hidden\": false, \"name\": \"t1_26\", \"created\": 1595973339.0, \"author_flair_text\": null, \"created_utc\": 1595973339.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": 0, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1060" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "258" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=jomQkjxb5PfXOvCLc5naFG6tJepMQFHcSzS69l%2Fvad0eM4b5wr31yOjKlxb4zWOO5ZgsopYDf%2BY%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_26&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 57-bVNTcHQ3Ksj63YT7R67Pxu5jbdE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=JAaNcD7PM7OnwDKFwZ; loidcreated=2020-07-28T21%3A55%3A28.676Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595973329_14_environ/about/moderators/?user=01EEBPRV84XY6E1R34XY20EQJY&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "258" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=J5nkQt2cdydbYuImKjT3dGAphsXG0uu9YvVeRVFv8efXtMZ00BH6eoPJBQSv%2F20c0eE%2BswU3YeRSqomHLyREsoZCyb4jUE5a" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973329_14_environ/about/moderators/?user=01EEBPRV84XY6E1R34XY20EQJY&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 57-bVNTcHQ3Ksj63YT7R67Pxu5jbdE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=JAaNcD7PM7OnwDKFwZ; loidcreated=2020-07-28T21%3A55%3A28.676Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_26&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_j\", \"banned_by\": \"01EEBPRMTYJ6QA9V5GBJ7BECB5\", \"removal_reason\": null, \"link_id\": \"t3_p\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"26\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01EEBPRV84XY6E1R34XY20EQJY\", \"parent_id\": \"t3_p\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Never tonight operation member. Half writer single building go ahead. Him sound few dream class.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENever tonight operation member. Half writer single building go ahead. Him sound few dream class.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973329_14_environ\", \"score_hidden\": false, \"name\": \"t1_26\", \"created\": 1595973339.0, \"author_flair_text\": null, \"created_utc\": 1595973339.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": 0, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1060" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "258" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=mgWxheWZSpcrD2DjCnhC%2FhIuyPloD6Md0mMsxBi%2BvXnz%2F3S%2BYFC2KGCP%2FEk3qBLlEXTcVlIvejM%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_26&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_update_comment_subscribe.json b/cassettes/channels.views.comments_test.test_update_comment_subscribe.json deleted file mode 100644 index f98a39e68c..0000000000 --- a/cassettes/channels.views.comments_test.test_update_comment_subscribe.json +++ /dev/null @@ -1,958 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T21:56:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPTRFENAMVB3H5AHTA4SW5" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIz1Q31zQrJswx2DUwNcDTySS3xyYmsKItItPAyLFfSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolpVlRJSllCZF6RYYF1clmnhklqeZVJT4hUeY+oK0pKSWZSanxmemgMyFcJRqAeMGopK2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=p76kWbuHQVDM2iENQk; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:56:38 GMT", - "loidcreated=2020-07-28T21%3A56%3A37.955Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:56:38 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPTRFENAMVB3H5AHTA4SW5" - } - }, - { - "recorded_at": "2020-07-28T21:56:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Agreement+participant+less+cut+about+appear+teacher.+Final+thing+without+open+school.+Trouble+poor+produce+new+than+responsibility+professional.%0AThen+hope+put+stage+guy+now.+Bill+affect+him+back+choice+perform.+Baby+tree+role+assume.%0AView+who+source+term+draw.%0ADirection+health+prove+population+great+air+onto.+Site+become+happen+gas.+Prevent+score+nearly+set+maybe+range+doctor.%0ABorn+high+easy+relationship+debate+strategy+system.+Study+effect+add.&link_type=any&name=1595973398_18_force&public_description=North+particularly+significant+floor+training.&title=Key+door+each+scene+raise+much.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 65-UMjTn9SEQePA2LetLlYxvXa8J1w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "672" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=p76kWbuHQVDM2iENQk; loidcreated=2020-07-28T21%3A56%3A37.955Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "202" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:44", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=p76kWbuHQVDM2iENQk; loidcreated=2020-07-28T21%3A56%3A37.955Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPTYX1XJZACSCAVPPN19JY" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIz0/X1inIyDq1I96jK9c/Pr6hMiUwptswvD0vOdlXSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolnmaAm1OD3fzCjeKdHN1Lig0MA0PDvLIMHcvB2lJSS3LTE6Nz0wBmQvhKNUCAP2o24+2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:44 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPTYX1XJZACSCAVPPN19JY" - } - }, - { - "recorded_at": "2020-07-28T21:56:44", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBPTYX1XJZACSCAVPPN19JY&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 65-UMjTn9SEQePA2LetLlYxvXa8J1w" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=p76kWbuHQVDM2iENQk; loidcreated=2020-07-28T21%3A56%3A37.955Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595973398_18_force/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:44 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "196" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973398_18_force/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595973398_18_force" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 66-MJZB3UxgHzmOooxydYds9owVckE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "78" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=p76kWbuHQVDM2iENQk; loidcreated=2020-07-28T21%3A56%3A37.955Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "195" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595973398_18_force&text=Culture+accept+and+total.+Case+laugh+top+indeed+surface+class+help+physical.&title=Address+already+sense+key+member." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 66-MJZB3UxgHzmOooxydYds9owVckE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "199" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=p76kWbuHQVDM2iENQk; loidcreated=2020-07-28T21%3A56%3A37.955Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595973398_18_force/comments/t/address_already_sense_key_member/\", \"id\": \"t\", \"name\": \"t3_t\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "159" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "195" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 66-MJZB3UxgHzmOooxydYds9owVckE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=p76kWbuHQVDM2iENQk; loidcreated=2020-07-28T21%3A56%3A37.955Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/t/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595973398_18_force\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECulture accept and total. Case laugh top indeed surface class help physical.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Culture accept and total. Case laugh top indeed surface class help physical.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"t\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBPTYX1XJZACSCAVPPN19JY\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595973398_18_force\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595973398_18_force/comments/t/address_already_sense_key_member/\", \"locked\": false, \"name\": \"t3_t\", \"created\": 1595973405.0, \"url\": \"http://reddit.local/r/1595973398_18_force/comments/t/address_already_sense_key_member/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Address already sense key member.\", \"created_utc\": 1595973405.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1722" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "195" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Gt7VhgbwdHFYq4cyJG%2BiPjSO6IERRW0odVweazNZYBMa2nPjDyln7pmTVB1ebh1QSxn8EPsmtXrtKLuyHlIiHSvSWBXYq%2Bnz" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/t/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Likely+agree+where+daughter.+Lay+over+woman+station+believe+song+safe+particular.&thing_id=t3_t" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 66-MJZB3UxgHzmOooxydYds9owVckE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "114" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=p76kWbuHQVDM2iENQk; loidcreated=2020-07-28T21%3A56%3A37.955Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_t\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2a\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EEBPTYX1XJZACSCAVPPN19JY\", \"parent_id\": \"t3_t\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Likely agree where daughter. Lay over woman station believe song safe particular.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ELikely agree where daughter. Lay over woman station believe song safe particular.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973398_18_force\", \"score_hidden\": false, \"name\": \"t1_2a\", \"created\": 1595973408.0, \"author_flair_text\": null, \"created_utc\": 1595973408.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "964" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "192" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:51", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 65-UMjTn9SEQePA2LetLlYxvXa8J1w" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=p76kWbuHQVDM2iENQk; loidcreated=2020-07-28T21%3A56%3A37.955Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_2a&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_t\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2a\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01EEBPTYX1XJZACSCAVPPN19JY\", \"parent_id\": \"t3_t\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Likely agree where daughter. Lay over woman station believe song safe particular.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ELikely agree where daughter. Lay over woman station believe song safe particular.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973398_18_force\", \"score_hidden\": false, \"name\": \"t1_2a\", \"created\": 1595973408.0, \"author_flair_text\": null, \"created_utc\": 1595973408.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": 0, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1004" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:51 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "189" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=XCarpPBXXeGD0PP8jKMb45udCwZxudyKoBo2KGub%2BY8KVmgt0zt3yPq698PU6G5hGVXANkd7L4Y%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_2a&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:51", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 65-UMjTn9SEQePA2LetLlYxvXa8J1w" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=p76kWbuHQVDM2iENQk; loidcreated=2020-07-28T21%3A56%3A37.955Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595973398_18_force/about/moderators/?user=01EEBPTYX1XJZACSCAVPPN19JY&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:51 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "189" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=BQ2XHMGLyst%2BCKPT03wFPmPHOTPGj0Z8WoMTxSUdw5Gpxs33IEA%2Ba4df2QXstEeODK9UjfCdh%2FplqqvrA0jdYDcRCpf8pCOe" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973398_18_force/about/moderators/?user=01EEBPTYX1XJZACSCAVPPN19JY&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:56:51", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 65-UMjTn9SEQePA2LetLlYxvXa8J1w" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=p76kWbuHQVDM2iENQk; loidcreated=2020-07-28T21%3A56%3A37.955Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_2a&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_t\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2a\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01EEBPTYX1XJZACSCAVPPN19JY\", \"parent_id\": \"t3_t\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Likely agree where daughter. Lay over woman station believe song safe particular.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ELikely agree where daughter. Lay over woman station believe song safe particular.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973398_18_force\", \"score_hidden\": false, \"name\": \"t1_2a\", \"created\": 1595973408.0, \"author_flair_text\": null, \"created_utc\": 1595973408.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": 0, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1004" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:51 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "189" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=vPMtLiLqDIq48rabL9kx%2FHmZ%2BAa%2B3n4Tc3MCh1h1ooU5rzDUGnf8xbSlxfGN3ZvpqK4%2F8WQdV1c%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_2a&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_update_comment_text.json b/cassettes/channels.views.comments_test.test_update_comment_text.json deleted file mode 100644 index d3d46944b6..0000000000 --- a/cassettes/channels.views.comments_test.test_update_comment_text.json +++ /dev/null @@ -1,1050 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T22:07:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQEE8X64Q74GMJFNXYEQJJ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WN0QqCMBiFX0V2GQmWsaxLGXQVGIhGN0O3X12Grm1FI3r3/POqy/NxvnPepBICrOVu7GEg+4DQXbhlWaFUHt57PTQlZafY1154l10SsgwIvLQyYLnCfkyjaGI/nTuvATdqqAwY7FoxzmiByUAzid3fWStl2uX6wGRZ9HDW11WbPI78tllbVCQ8lQCuJO7OgXy+hAc3uLYAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:07:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=d5MWkkbdIyiTmiq9V5; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:07:23 GMT", - "loidcreated=2020-07-28T22%3A07%3A22.846Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:07:23 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQEE8X64Q74GMJFNXYEQJJ" - } - }, - { - "recorded_at": "2020-07-28T22:07:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=d5MWkkbdIyiTmiq9V5; loidcreated=2020-07-28T22%3A07%3A22.846Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQEHJRET0S3J9ZQMEZWXHF" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI30E3OsizKNLawLMiOLIjKjvTPSDSOyol3SvWr8lXSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolkWYWzp6epmbZ1eYBgdZphRWhhf6JvmbuJuXJoO0pKSWZSanxmemgMyFcJRqATrfQi62AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:07:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQEHJRET0S3J9ZQMEZWXHF" - } - }, - { - "recorded_at": "2020-07-28T22:07:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Enjoy+consumer+life+building.+Or+himself+sign+hair.+Lay+forward+eight+politics.%0APublic+commercial+decade+dark.+Arm+exist+today+carry.+Fall+sit+point+explain+east+available.+Discuss+particular+world+ahead+remain+listen.%0ASee+here+operation+them.+Religious+raise+official+relate+oil+power+heart.+Though+order+defense+suddenly+who.%0AUntil+blood+sure+floor.+Future+those+which+within+could+help+scientist.+Nice+which+member+star+exist+consumer.+Summer+effect+tough+compare+Democrat+less.&link_type=any&name=1595974046_14_save&public_description=Already+simply+no+pay+find+avoid+buy.+Public+identify+provide+kitchen.&title=Water+do+other.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 70-cj9ri389pkYpZkYOha3Zl_BeNzM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "709" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=d5MWkkbdIyiTmiq9V5; loidcreated=2020-07-28T22%3A07%3A22.846Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:07:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "154" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:07:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBQEE8X64Q74GMJFNXYEQJJ&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 70-cj9ri389pkYpZkYOha3Zl_BeNzM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=d5MWkkbdIyiTmiq9V5; loidcreated=2020-07-28T22%3A07%3A22.846Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595974046_14_save/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:07:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "151" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595974046_14_save/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:07:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595974046_14_save" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 69-7DPViiT-qkpnfW6DQ3ybycytPZ8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "77" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=d5MWkkbdIyiTmiq9V5; loidcreated=2020-07-28T22%3A07%3A22.846Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:07:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "151" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:07:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595974046_14_save&text=Television+member+a.+Edge+them+so+well+dream.+Though+magazine+development+while+general+large.&title=Drop+on+coach+under." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 69-7DPViiT-qkpnfW6DQ3ybycytPZ8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "203" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=d5MWkkbdIyiTmiq9V5; loidcreated=2020-07-28T22%3A07%3A22.846Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595974046_14_save/comments/v/drop_on_coach_under/\", \"id\": \"v\", \"name\": \"t3_v\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "145" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:07:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "151" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:07:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 69-7DPViiT-qkpnfW6DQ3ybycytPZ8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=d5MWkkbdIyiTmiq9V5; loidcreated=2020-07-28T22%3A07%3A22.846Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/v/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595974046_14_save\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ETelevision member a. Edge them so well dream. Though magazine development while general large.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Television member a. Edge them so well dream. Though magazine development while general large.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"v\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBQEE8X64Q74GMJFNXYEQJJ\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595974046_14_save\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595974046_14_save/comments/v/drop_on_coach_under/\", \"locked\": false, \"name\": \"t3_v\", \"created\": 1595974049.0, \"url\": \"http://reddit.local/r/1595974046_14_save/comments/v/drop_on_coach_under/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Drop on coach under.\", \"created_utc\": 1595974049.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1715" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:07:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "151" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=KJgzXmkZVnk1Us5zT4sZWI8zLonrNXblHdrH1s3WPDaRVgkzT1kF4UmqxGUtPvcmbqYsJDpmEUb8sWJ0FwIoqWKhfbk5rL%2Fw" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/v/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:07:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Also+determine+ever+radio+wife+reason+land.&thing_id=t3_v" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 69-7DPViiT-qkpnfW6DQ3ybycytPZ8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "76" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=d5MWkkbdIyiTmiq9V5; loidcreated=2020-07-28T22%3A07%3A22.846Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_p\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_v\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2c\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EEBQEE8X64Q74GMJFNXYEQJJ\", \"parent_id\": \"t3_v\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Also determine ever radio wife reason land.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAlso determine ever radio wife reason land.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595974046_14_save\", \"score_hidden\": false, \"name\": \"t1_2c\", \"created\": 1595974052.0, \"author_flair_text\": null, \"created_utc\": 1595974052.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "887" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:07:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "148" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:07:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=updated+text&thing_id=t1_2c" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 69-7DPViiT-qkpnfW6DQ3ybycytPZ8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=d5MWkkbdIyiTmiq9V5; loidcreated=2020-07-28T22%3A07%3A22.846Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/editusertext/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_p\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_v\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2c\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EEBQEE8X64Q74GMJFNXYEQJJ\", \"parent_id\": \"t3_v\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"updated text\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eupdated text\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595974046_14_save\", \"score_hidden\": false, \"name\": \"t1_2c\", \"created\": 1595974052.0, \"author_flair_text\": null, \"created_utc\": 1595974052.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "825" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:07:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "144" - ], - "x-ratelimit-used": [ - "5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/editusertext/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:07:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 69-7DPViiT-qkpnfW6DQ3ybycytPZ8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=d5MWkkbdIyiTmiq9V5; loidcreated=2020-07-28T22%3A07%3A22.846Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_2c&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_p\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_v\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2c\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EEBQEE8X64Q74GMJFNXYEQJJ\", \"parent_id\": \"t3_v\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"updated text\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eupdated text\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595974046_14_save\", \"score_hidden\": false, \"name\": \"t1_2c\", \"created\": 1595974052.0, \"author_flair_text\": null, \"created_utc\": 1595974052.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "870" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:07:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "144" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=bLUCuXdQyum8xIU4XBsXckqn3hw0vPhkwsUq4FHiKOuc40qJSuoi5EGnZ65IP8bZIuZN71JZT3w%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_2c&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:07:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 69-7DPViiT-qkpnfW6DQ3ybycytPZ8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=d5MWkkbdIyiTmiq9V5; loidcreated=2020-07-28T22%3A07%3A22.846Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595974046_14_save/about/moderators/?user=01EEBQEE8X64Q74GMJFNXYEQJJ&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:07:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "144" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=PhY5YrsQiv7TDOgEsvDI%2BxXuEgf%2FZwSYn%2FMyPkodzjl0Jp7F%2FWu1cmUuzlZqRzZ6CsW3DmVbXZt1j%2FbvvnqZ2k3yQKTr5as3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595974046_14_save/about/moderators/?user=01EEBQEE8X64Q74GMJFNXYEQJJ&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:07:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 69-7DPViiT-qkpnfW6DQ3ybycytPZ8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=d5MWkkbdIyiTmiq9V5; loidcreated=2020-07-28T22%3A07%3A22.846Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_2c&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_p\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_v\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2c\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EEBQEE8X64Q74GMJFNXYEQJJ\", \"parent_id\": \"t3_v\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"updated text\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eupdated text\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595974046_14_save\", \"score_hidden\": false, \"name\": \"t1_2c\", \"created\": 1595974052.0, \"author_flair_text\": null, \"created_utc\": 1595974052.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "870" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:07:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "144" - ], - "x-ratelimit-used": [ - "8" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=GI77rHR%2BxCkij7usuvqFfkxfhOu1%2BB1v8Bvv3lgNSOXXye6hUSC3A5qZ1uEF5eOBJMHd51CNYIM%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_2c&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_update_comment_text_moderator.json b/cassettes/channels.views.comments_test.test_update_comment_text_moderator.json deleted file mode 100644 index 83f2002751..0000000000 --- a/cassettes/channels.views.comments_test.test_update_comment_text_moderator.json +++ /dev/null @@ -1,1234 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T23:41:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBWTMJA2K42Y2PY57W6PW4R" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0MNHN97bIMvYKdw2uCgqzyDYp9/ByCw1IDcgzTHdV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZaLaVVOWkFaYEGwXmFnslRZkHJaYbWISkWRpZ5oP0pKSWZSanxmemgAyGcJRqAYyhke24AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 23:41:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=ToxecEW6EVrNnNgt3A; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 23:41:25 GMT", - "loidcreated=2020-07-28T23%3A41%3A25.279Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 23:41:25 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBWTMJA2K42Y2PY57W6PW4R" - } - }, - { - "recorded_at": "2020-07-28T23:41:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ToxecEW6EVrNnNgt3A; loidcreated=2020-07-28T23%3A41%3A25.279Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBWTQRY4357W2RNY3G258HH" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0MNXVdc2udHLV9Q9N9Ck0KM6IyEgLMy5ODC0LiHRV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLb5RFma5BYXu1hYOBemBhmVpBpmBfnlZ4QkpjqC9KSklmUmp8ZnpoAMhnCUagGboumkuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 23:41:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBWTQRY4357W2RNY3G258HH" - } - }, - { - "recorded_at": "2020-07-28T23:41:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Remember+really+leave.+Act+remain+every+break+whole+with.+Specific+Mr+actually+community+produce+approach.%0APretty+catch+himself+staff+necessary+adult+forget.+Ok+show+wish.+Performance+travel+notice+discuss+step+hospital+goal.%0ATrial+right+change+pick+certainly+decade+paper+again.+Whatever+worry+lose+Democrat+his+budget.+Yes+artist+his+age+whole+idea+meeting.+Nor+talk+win+especially.%0AHuge+weight+or+teach+both.+Rate+evening+could+especially+reveal.&link_type=any&name=1595979688_16_what&public_description=Suffer+artist+eight+learn.&title=Purpose+her+expect+oil.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 105--EkyBE-OUaLq0shXhfV3saUvPYE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "641" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ToxecEW6EVrNnNgt3A; loidcreated=2020-07-28T23%3A41%3A25.279Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 23:41:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "512" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T23:41:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBWTMJA2K42Y2PY57W6PW4R&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 105--EkyBE-OUaLq0shXhfV3saUvPYE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ToxecEW6EVrNnNgt3A; loidcreated=2020-07-28T23%3A41%3A25.279Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595979688_16_what/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 23:41:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "508" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595979688_16_what/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T23:41:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595979688_16_what" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 104-oK8j3JWESzRV8k4wHJFUPePn1gE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "77" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ToxecEW6EVrNnNgt3A; loidcreated=2020-07-28T23%3A41%3A25.279Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 23:41:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "508" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T23:41:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBWTMJA2K42Y2PY57W6PW4R&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 105--EkyBE-OUaLq0shXhfV3saUvPYE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ToxecEW6EVrNnNgt3A; loidcreated=2020-07-28T23%3A41%3A25.279Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595979688_16_what/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 23:41:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "508" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595979688_16_what/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T23:41:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 104-oK8j3JWESzRV8k4wHJFUPePn1gE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ToxecEW6EVrNnNgt3A; loidcreated=2020-07-28T23%3A41%3A25.279Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595979688_16_what/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 23:41:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "508" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595979688_16_what/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T23:41:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595979688_16_what&text=Quite+thus+right+reach+law+visit.+Case+important+fire+boy+hit.&title=Family+challenge+old." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 104-oK8j3JWESzRV8k4wHJFUPePn1gE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ToxecEW6EVrNnNgt3A; loidcreated=2020-07-28T23%3A41%3A25.279Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595979688_16_what/comments/1a/family_challenge_old/\", \"id\": \"1a\", \"name\": \"t3_1a\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 23:41:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "508" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T23:41:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 104-oK8j3JWESzRV8k4wHJFUPePn1gE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ToxecEW6EVrNnNgt3A; loidcreated=2020-07-28T23%3A41%3A25.279Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1a/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595979688_16_what\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuite thus right reach law visit. Case important fire boy hit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quite thus right reach law visit. Case important fire boy hit.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1a\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [], \"author\": \"01EEBWTMJA2K42Y2PY57W6PW4R\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595979688_16_what\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_16\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595979688_16_what/comments/1a/family_challenge_old/\", \"locked\": false, \"name\": \"t3_1a\", \"created\": 1595979692.0, \"url\": \"http://reddit.local/r/1595979688_16_what/comments/1a/family_challenge_old/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Family challenge old.\", \"created_utc\": 1595979692.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1654" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 23:41:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "508" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=pqJ4njYyhx0n855zp%2FPcMg58umbJZowKH0q5FMnWHRJ7n%2FZhiG%2BomFAD8QS%2Ba5K3%2BEh2jYGjRh9o4Sa4vGVtor4z9xX2OsgG" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1a/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T23:41:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=What+animal+threat+read+relationship+director.+Measure+left+enjoy+summer.&thing_id=t3_1a" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 104-oK8j3JWESzRV8k4wHJFUPePn1gE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "107" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ToxecEW6EVrNnNgt3A; loidcreated=2020-07-28T23%3A41%3A25.279Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_16\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1a\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2f\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01EEBWTMJA2K42Y2PY57W6PW4R\", \"parent_id\": \"t3_1a\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"What animal threat read relationship director. Measure left enjoy summer.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EWhat animal threat read relationship director. Measure left enjoy summer.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595979688_16_what\", \"score_hidden\": false, \"name\": \"t1_2f\", \"created\": 1595979695.0, \"author_flair_text\": null, \"created_utc\": 1595979695.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": 0, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "945" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 23:41:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "505" - ], - "x-ratelimit-used": [ - "5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T23:41:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=updated+text&thing_id=t1_2f" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 104-oK8j3JWESzRV8k4wHJFUPePn1gE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ToxecEW6EVrNnNgt3A; loidcreated=2020-07-28T23%3A41%3A25.279Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/editusertext/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_16\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1a\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2f\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01EEBWTMJA2K42Y2PY57W6PW4R\", \"parent_id\": \"t3_1a\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"updated text\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eupdated text\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595979688_16_what\", \"score_hidden\": false, \"name\": \"t1_2f\", \"created\": 1595979695.0, \"author_flair_text\": null, \"created_utc\": 1595979695.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": 0, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "823" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 23:41:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "502" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/editusertext/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T23:41:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 104-oK8j3JWESzRV8k4wHJFUPePn1gE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ToxecEW6EVrNnNgt3A; loidcreated=2020-07-28T23%3A41%3A25.279Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_2f&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_16\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1a\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2f\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01EEBWTMJA2K42Y2PY57W6PW4R\", \"parent_id\": \"t3_1a\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"updated text\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eupdated text\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595979688_16_what\", \"score_hidden\": false, \"name\": \"t1_2f\", \"created\": 1595979695.0, \"author_flair_text\": null, \"created_utc\": 1595979695.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": 0, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "868" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 23:41:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "502" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=KU8l3JDIK8U0dFqid5PapfMLQSdYT89V%2B7bWcpjt8%2Fvt83bafl%2FYfczvn1XehqwmIZRxreMNGZ8%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_2f&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T23:41:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 104-oK8j3JWESzRV8k4wHJFUPePn1gE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ToxecEW6EVrNnNgt3A; loidcreated=2020-07-28T23%3A41%3A25.279Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595979688_16_what/about/moderators/?user=01EEBWTMJA2K42Y2PY57W6PW4R&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1595979692.0, \"mod_permissions\": [\"all\"], \"name\": \"01EEBWTMJA2K42Y2PY57W6PW4R\", \"id\": \"t2_2w\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 23:41:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "502" - ], - "x-ratelimit-used": [ - "8" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=2R%2FLWwOTDtgillUNMmC65e8IrjOiYtzJhfW8Ao2FaVnL71UNo6Yt4Ya29KzHL55lHbXcBlUWKWGPHJeTX1tRsc2OiLT7GeuK" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595979688_16_what/about/moderators/?user=01EEBWTMJA2K42Y2PY57W6PW4R&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T23:41:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 104-oK8j3JWESzRV8k4wHJFUPePn1gE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ToxecEW6EVrNnNgt3A; loidcreated=2020-07-28T23%3A41%3A25.279Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_2f&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_16\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1a\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2f\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01EEBWTMJA2K42Y2PY57W6PW4R\", \"parent_id\": \"t3_1a\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"updated text\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eupdated text\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595979688_16_what\", \"score_hidden\": false, \"name\": \"t1_2f\", \"created\": 1595979695.0, \"author_flair_text\": null, \"created_utc\": 1595979695.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": 0, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "868" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 23:41:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "502" - ], - "x-ratelimit-used": [ - "9" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=2ap%2BKDpYY99SLzlI%2B9RtvtjvpIr%2FDtd9r4B6onJhFCc9pOLShzDAHMtgRXvC7nBSxIXKpVbuezo%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_2f&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_update_comment_unsubscribe.json b/cassettes/channels.views.comments_test.test_update_comment_unsubscribe.json deleted file mode 100644 index f3152f7a94..0000000000 --- a/cassettes/channels.views.comments_test.test_update_comment_unsubscribe.json +++ /dev/null @@ -1,958 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T21:56:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPV8JXGJ2GQSMGWJG2C3M4" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIz1/VwTSrwscj08a1MTTM0Mq408kl3tTTKKs83NlDSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkoljlVORsU5/vkpGWF5IQHGnqEJnsW56b7p6QlR4K0pKSWZSanxmemgMyFcJRqAUIV5Hm2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=yWpaJdK24yG8FBIVRG; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:56:54 GMT", - "loidcreated=2020-07-28T21%3A56%3A54.436Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:56:54 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPV8JXGJ2GQSMGWJG2C3M4" - } - }, - { - "recorded_at": "2020-07-28T21:56:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Explain+thought+pressure+admit.%0ABreak+around+purpose+say+indicate+series+culture.%0AElse+certainly+actually+yet+fine+section.+Others+newspaper+general+nation.+Treat+morning+old+rule+whether.%0AOrder+shoulder+computer.+Hour+billion+increase+simply+hair.%0ACut+happen+discover+one+imagine+leave+lawyer+floor.+Wall+reason+speak+arrive+past+land+over.+The+peace+enjoy+including.%0AIdea+land+church+soldier+table+focus.+Tell+red+oil.+They+quality+it+although+spend.+Often+just+statement+process+position.&link_type=any&name=1595973414_19_stateme&public_description=Spend+remember+important+customer+heavy+garden+forget.+Choice+man+customer.&title=See+important+thus+hard+power+capital+knowledge.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 67-HEbpL8iLMyef123y2LgE92jwo30" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "764" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=yWpaJdK24yG8FBIVRG; loidcreated=2020-07-28T21%3A56%3A54.436Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:56:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "186" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:57:01", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=yWpaJdK24yG8FBIVRG; loidcreated=2020-07-28T21%3A56%3A54.436Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPVF1SXSB6FNRZECP1FFN5" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDKz0DVyDHdxTHKKtPDI8jEPsjB1cystNShPcc82NFHSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolqUnewSGGJo6OlUVWxRHFmT5m+Z6RPpF+ERYgC1LSS3LTE6Nz0wBmQvhKNUCAEdCH8y2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:57:01 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPVF1SXSB6FNRZECP1FFN5" - } - }, - { - "recorded_at": "2020-07-28T21:57:01", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBPVF1SXSB6FNRZECP1FFN5&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 67-HEbpL8iLMyef123y2LgE92jwo30" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=yWpaJdK24yG8FBIVRG; loidcreated=2020-07-28T21%3A56%3A54.436Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595973414_19_stateme/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:57:01 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "179" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973414_19_stateme/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:57:01", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595973414_19_stateme" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 68-2AWDAbBY8HjL7R85FFuu0wdGk14" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "80" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=yWpaJdK24yG8FBIVRG; loidcreated=2020-07-28T21%3A56%3A54.436Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:57:01 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "179" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:57:01", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595973414_19_stateme&text=Likely+worker+source+between+already+author+add+democratic.+Appear+well+gas.&title=Sort+speak+write+affect+gun+story." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 68-2AWDAbBY8HjL7R85FFuu0wdGk14" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "202" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=yWpaJdK24yG8FBIVRG; loidcreated=2020-07-28T21%3A56%3A54.436Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595973414_19_stateme/comments/u/sort_speak_write_affect_gun_story/\", \"id\": \"u\", \"name\": \"t3_u\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "162" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:57:01 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "179" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:57:01", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 68-2AWDAbBY8HjL7R85FFuu0wdGk14" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=yWpaJdK24yG8FBIVRG; loidcreated=2020-07-28T21%3A56%3A54.436Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/u/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595973414_19_stateme\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ELikely worker source between already author add democratic. Appear well gas.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Likely worker source between already author add democratic. Appear well gas.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"u\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBPVF1SXSB6FNRZECP1FFN5\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595973414_19_stateme\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_o\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595973414_19_stateme/comments/u/sort_speak_write_affect_gun_story/\", \"locked\": false, \"name\": \"t3_u\", \"created\": 1595973421.0, \"url\": \"http://reddit.local/r/1595973414_19_stateme/comments/u/sort_speak_write_affect_gun_story/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Sort speak write affect gun story.\", \"created_utc\": 1595973421.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1733" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:57:01 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "179" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=tE40neQ%2FpyyKGFGhkvWA7O7pdaAr7ltjQa1k1CTPQR5i6CU36DJQa3xVftG35K3m33Wvu7Xm8kncF9qi%2FtkaYna2rf1Hy9kR" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/u/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:57:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Exist+cup+we+fire+step+name+father+common.+Worker+wall+great+skin+pretty+away.&thing_id=t3_u" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 68-2AWDAbBY8HjL7R85FFuu0wdGk14" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "111" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=yWpaJdK24yG8FBIVRG; loidcreated=2020-07-28T21%3A56%3A54.436Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_o\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_u\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2b\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01EEBPVF1SXSB6FNRZECP1FFN5\", \"parent_id\": \"t3_u\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Exist cup we fire step name father common. Worker wall great skin pretty away.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExist cup we fire step name father common. Worker wall great skin pretty away.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973414_19_stateme\", \"score_hidden\": false, \"name\": \"t1_2b\", \"created\": 1595973424.0, \"author_flair_text\": null, \"created_utc\": 1595973424.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "960" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:57:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "176" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:57:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 67-HEbpL8iLMyef123y2LgE92jwo30" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=yWpaJdK24yG8FBIVRG; loidcreated=2020-07-28T21%3A56%3A54.436Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_2b&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_o\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_u\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2b\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01EEBPVF1SXSB6FNRZECP1FFN5\", \"parent_id\": \"t3_u\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Exist cup we fire step name father common. Worker wall great skin pretty away.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExist cup we fire step name father common. Worker wall great skin pretty away.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973414_19_stateme\", \"score_hidden\": false, \"name\": \"t1_2b\", \"created\": 1595973424.0, \"author_flair_text\": null, \"created_utc\": 1595973424.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": 0, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1000" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:57:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "173" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=9L2qORvpC8MRXbpvxU5hn8IfgrVdKWpCo1HnUN1QLI3TUG6QtuIE%2B10knbEAq5fAITBonVrfQhc%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_2b&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:57:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 67-HEbpL8iLMyef123y2LgE92jwo30" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=yWpaJdK24yG8FBIVRG; loidcreated=2020-07-28T21%3A56%3A54.436Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595973414_19_stateme/about/moderators/?user=01EEBPVF1SXSB6FNRZECP1FFN5&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:57:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "173" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=T3oBhYJt74NvmrqNgni%2BV8L6ecSwlNBZlfvbO9WKoC%2B5sNGEEwcFvdUIhaOk%2BY0lUAkdyt9n2gGD49FiUIyggEOEzIQ8aTOo" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595973414_19_stateme/about/moderators/?user=01EEBPVF1SXSB6FNRZECP1FFN5&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:57:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 67-HEbpL8iLMyef123y2LgE92jwo30" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=yWpaJdK24yG8FBIVRG; loidcreated=2020-07-28T21%3A56%3A54.436Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_2b&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_o\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_u\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"2b\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01EEBPVF1SXSB6FNRZECP1FFN5\", \"parent_id\": \"t3_u\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Exist cup we fire step name father common. Worker wall great skin pretty away.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExist cup we fire step name father common. Worker wall great skin pretty away.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1595973414_19_stateme\", \"score_hidden\": false, \"name\": \"t1_2b\", \"created\": 1595973424.0, \"author_flair_text\": null, \"created_utc\": 1595973424.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": 0, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1000" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:57:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "173" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=zizHRhjphdCgf6YYRkfoX%2FbbsjrkQXkmOeLRQ60nv0yNFsQTNPjIup3nff08AWyzgjGf3jeOv0M%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_2b&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.comments_test.test_update_comment_upvote.json b/cassettes/channels.views.comments_test.test_update_comment_upvote.json deleted file mode 100644 index 48caadb8a9..0000000000 --- a/cassettes/channels.views.comments_test.test_update_comment_upvote.json +++ /dev/null @@ -1,433 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T21:55:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPR6PEMKGKKDABJHYTK47W" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI11g32dCxwKkk3Lg62TI00N0k3TA5O1i0ys8gLclXSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkollUkJ5WWhegm+4V5ZVZUlFq4eZlmV3j7VLpXhoK0pKSWZSanxmemgMyFcJRqAbmocUy2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=wFOVwDWEClsuflKd9x; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:55:14 GMT", - "loidcreated=2020-07-28T21%3A55%3A14.209Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 21:55:14 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBPR6PEMKGKKDABJHYTK47W" - } - }, - { - "recorded_at": "2020-07-28T21:55:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 53-SIApBtg3sS9eY74g1cSc-r68nRE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=wFOVwDWEClsuflKd9x; loidcreated=2020-07-28T21%3A55%3A14.209Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_l&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_1\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"l\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"abeglova2\", \"parent_id\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"this is dumb\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ethis is dumb\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"public_channel\", \"score_hidden\": false, \"name\": \"t1_l\", \"created\": 1594746423.0, \"author_flair_text\": null, \"created_utc\": 1594746423.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "847" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "286" - ], - "x-ratelimit-used": [ - "1" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=5DpD0SVeSeVcJRDpsvaImo1UtGtEUWA%2BQMEMHG5YEKLrtnQ7peOh9abXDAzG0IDXJZne67q%2Frzg%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_l&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&dir=1&id=t1_l" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 53-SIApBtg3sS9eY74g1cSc-r68nRE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "27" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=wFOVwDWEClsuflKd9x; loidcreated=2020-07-28T21%3A55%3A14.209Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/vote/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "286" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/vote/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 53-SIApBtg3sS9eY74g1cSc-r68nRE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=wFOVwDWEClsuflKd9x; loidcreated=2020-07-28T21%3A55%3A14.209Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/public_channel/about/moderators/?user=abeglova2&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "286" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=rV6MzW6YgmxJpZNRt%2FIjeIZ4YsS2lglngHcepkl0tiNZgL5YicQDv5kTg1Yuws7x6FZEwGJC2KsovQWKZYEuWHDbJg4h%2BayA" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/public_channel/about/moderators/?user=abeglova2&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T21:55:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 53-SIApBtg3sS9eY74g1cSc-r68nRE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=wFOVwDWEClsuflKd9x; loidcreated=2020-07-28T21%3A55%3A14.209Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_l&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_1\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_1\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"l\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"abeglova2\", \"parent_id\": \"t3_1\", \"score\": 2, \"approved_by\": null, \"controversiality\": 0, \"body\": \"this is dumb\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ethis is dumb\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"public_channel\", \"score_hidden\": false, \"name\": \"t1_l\", \"created\": 1594746423.0, \"author_flair_text\": null, \"created_utc\": 1594746423.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 2}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "847" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 21:55:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "286" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=U9ngnkNFF8Y7q5E0xVPG4ZiG3pbORYqoEkoynlLw7wWNE0zUto9K%2BD8oN7EQO9l7FqVkviVldds%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_l&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.contributors_test.test_add_contributor[1].json b/cassettes/channels.views.contributors_test.test_add_contributor[1].json deleted file mode 100644 index 1d1757446a..0000000000 --- a/cassettes/channels.views.contributors_test.test_add_contributor[1].json +++ /dev/null @@ -1,326 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-14T14:32:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9A6Y54BDRDBAGR2C7CHTSD" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12Nyw6CMBREf4V0aTRpMCBxJ/GxcoNo1M0NbS9SUFvbxoDGf5fKzuVM5px5k4JztBacavBO5gEJQxpNslpdT5sVy5FB6hpV3V6Qcc2inJJxQLDV0qAF6YlpTGnf/QTgOo3ewrAwaPzWcjVUI58Mlj1Y/d3tsvrQXuJSnMtuu07SfJkc9ewRLnDvIYFPyRGk8OYhkM8XO5g4gLoAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:32:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=GqbOya0S0qfMldOXKz; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 13-Nov-2020 14:32:45 GMT", - "loidcreated=2018-11-14T14%3A32%3A45.438Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 13-Nov-2020 14:32:45 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9A6Y54BDRDBAGR2C7CHTSD" - } - }, - { - "recorded_at": "2018-11-14T14:32:49", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=GqbOya0S0qfMldOXKz; loidcreated=2018-11-14T14%3A32%3A45.438Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9A71D7HRA4C01VRBV6EVAQ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NQQuCMBzFv4rsGA3WRkLd0oMYDMJOehlz/q2VNdmGZdF3z+Wt43u83++9kVQKnBPeXOGOthGilMSYJuPmQChPc58VIos7fHpZ00kQD7SMEDx7bcEJHQgWEzJ1P4HwYw/BUoO0YMPWKTNXi5AstBN4/rurjpylw4WTfIU1pmrH6lu1Lot9UgaogUErELoJ5jmgzxcjycQrugAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:32:49 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9A71D7HRA4C01VRBV6EVAQ" - } - }, - { - "recorded_at": "2018-11-14T14:32:49", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Iste+corrupti+suscipit+incidunt+saepe.+Voluptatem+voluptatum+similique+aspernatur+eos+molestias+et+deserunt.+Quas+quae+eum+deserunt+fugiat.%0ADistinctio+omnis+ab+cupiditate+blanditiis+nostrum+nesciunt+consectetur+eveniet.+Molestias+saepe+omnis+voluptas.+Tempore+debitis+enim+dolorem+harum+facilis+aliquid+dignissimos.%0AFugit+quisquam+eaque+rerum+expedita+autem.+Voluptate+deleniti+corporis+nam+vitae+dolor+quia+voluptates.+Dignissimos+doloremque+omnis+facilis+numquam+iste+provident.&link_type=any&name=1542205969_doloribus&public_description=Eligendi+repellendus+voluptatem+quam+optio+quos.&title=Sint+repellendus+illum+ab+eaque+illo.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2205-RjolYGEbTeb_Btkohmz_Rcpb5T0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "708" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=GqbOya0S0qfMldOXKz; loidcreated=2018-11-14T14%3A32%3A45.438Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:32:49 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "431" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-14T14:32:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CW9A71D7HRA4C01VRBV6EVAQ&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2205-RjolYGEbTeb_Btkohmz_Rcpb5T0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=GqbOya0S0qfMldOXKz; loidcreated=2018-11-14T14%3A32%3A45.438Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542205969_doloribus/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:32:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "428" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542205969_doloribus/api/friend/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.contributors_test.test_add_contributor[2].json b/cassettes/channels.views.contributors_test.test_add_contributor[2].json deleted file mode 100644 index 68ce04f6bc..0000000000 --- a/cassettes/channels.views.contributors_test.test_add_contributor[2].json +++ /dev/null @@ -1,418 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-14T14:32:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9A77XFWJ2G85H2DX4QB94V" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NQQuCMBiG/4rsGAm20KLb8FB0MUgDT8M+P9cS5th0GtF/z+Wt4/vyPs/7JhUAWsv7rkVFDgGhNNqFkIAOlZjaMN8UqTNZyelpoEWRAFkHBCctDVouPbFNomjufgLevzR6yx0rg8ZvLXRLtfLJYDODj7+7eByv50xoKdiT5cPtwky6L2PljtZDNToJyGXtzUsgny+hLHoVugAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:32:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=jaugLcS7LH5ov5nY6Y; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 13-Nov-2020 14:32:55 GMT", - "loidcreated=2018-11-14T14%3A32%3A55.427Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 13-Nov-2020 14:32:55 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9A77XFWJ2G85H2DX4QB94V" - } - }, - { - "recorded_at": "2018-11-14T14:32:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=jaugLcS7LH5ov5nY6Y; loidcreated=2018-11-14T14%3A32%3A55.427Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9A7B5BJ5KVKSWAZ04V7BX6" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyMrDQdbSISox0LE3McakIyvcodXUtyY7KDMhwDDc3UdJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9CsCzUrDtY1yHA2NHQrq3KJTI6yiDBxSS539jHNB2lKSS3LTE6Nz0wBmQzhKNUCAFCQErO6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:32:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9A7B5BJ5KVKSWAZ04V7BX6" - } - }, - { - "recorded_at": "2018-11-14T14:32:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Iure+earum+nemo+facilis+fugit.+Harum+veniam+delectus+perspiciatis+dolorem+expedita+tenetur+dicta.+Voluptas+sapiente+ipsum+delectus+mollitia+eveniet+dolor.%0AUt+cum+nam+a+expedita+qui+recusandae.+Quidem+a+ullam+eius+iusto+aut+pariatur+dolores.+Doloribus+quidem+eveniet+temporibus+quos.+Ducimus+tenetur+vel+modi.&link_type=any&name=1542205979_tempore&public_description=Autem+ab+asperiores+quibusdam+architecto+deserunt+ratione.&title=Deserunt+sapiente+id+dolor.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2207-c6cp-ngxk-T1UCvrOY_2Hu2UU6c" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "532" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=jaugLcS7LH5ov5nY6Y; loidcreated=2018-11-14T14%3A32%3A55.427Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:32:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "421" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-14T14:33:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CW9A7B5BJ5KVKSWAZ04V7BX6&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2207-c6cp-ngxk-T1UCvrOY_2Hu2UU6c" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=jaugLcS7LH5ov5nY6Y; loidcreated=2018-11-14T14%3A32%3A55.427Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542205979_tempore/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:33:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "418" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542205979_tempore/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-14T14:33:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CW9A7B5BJ5KVKSWAZ04V7BX6&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2207-c6cp-ngxk-T1UCvrOY_2Hu2UU6c" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=jaugLcS7LH5ov5nY6Y; loidcreated=2018-11-14T14%3A32%3A55.427Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542205979_tempore/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:33:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "418" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542205979_tempore/api/friend/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.contributors_test.test_add_contributor_anonymous.json b/cassettes/channels.views.contributors_test.test_add_contributor_anonymous.json deleted file mode 100644 index 21e7b446cc..0000000000 --- a/cassettes/channels.views.contributors_test.test_add_contributor_anonymous.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "http_interactions": [], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.contributors_test.test_add_contributor_email.json b/cassettes/channels.views.contributors_test.test_add_contributor_email.json deleted file mode 100644 index 007ef4512e..0000000000 --- a/cassettes/channels.views.contributors_test.test_add_contributor_email.json +++ /dev/null @@ -1,578 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T17:58:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHC571JTNT3MMFD9WHKSMT" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNTwuCMADFv4rsGAWKw6CbhwjMiAiSuow1n7gS/2wqW9F3z+Wp4/vxfu+9CRcCWrO+eaImG48E63CVbvd2ODLTXaqhLKjqjJ/QMaa7ISZLj8C0UkEz6YQw8v2J/XzW2xZu5A6uoFxXi2ZGC5cUikks/9+qnpenmh9sChYWt0BHWfbA+dXg6pwcoxRgMnfDcyCfL8qrF++4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:58:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=ctmSItYs7sdg67nMyH; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:58:11 GMT", - "loidcreated=2018-08-24T17%3A58%3A11.393Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:58:11 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHC571JTNT3MMFD9WHKSMT" - } - }, - { - "recorded_at": "2018-08-24T17:58:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Sapiente+esse+possimus+praesentium+excepturi+asperiores+enim.+Accusantium+itaque+pariatur+illum+placeat+possimus+inventore+error+veniam.%0AQuae+minus+fuga+harum+iure+atque+vel+pariatur.+Nihil+eos+itaque+provident+repellendus+exercitationem+quasi.+Quidem+nostrum+saepe+cupiditate.&link_type=any&name=1535133491_sed&public_description=Aliquid+natus+cumque+excepturi+a+rerum+eaque+ab+ab.+Accusantium+neque+libero+neque+quis.&title=Corrupti+non+molestias+modi+ad+voluptatibus+nemo.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 173-LEKyuO_xqVluhf4rqx0J4vA4GuA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "548" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ctmSItYs7sdg67nMyH; loidcreated=2018-08-24T17%3A58%3A11.393Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:58:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "109" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:58:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ctmSItYs7sdg67nMyH; loidcreated=2018-08-24T17%3A58%3A11.393Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHCBHW4CPXYVW6Y73VJVDF" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0N9ENCHUrTfNLLDByDUsJtigIs0gpzzM2yzB3N7FQ0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZaLZV+vkalJc4epUWlkUEWGRUOFWYVbm4G3pl+oL0pKSWZSanxmemgAyGcJRqASHfL2q4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:58:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHCBHW4CPXYVW6Y73VJVDF" - } - }, - { - "recorded_at": "2018-08-24T17:58:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ctmSItYs7sdg67nMyH; loidcreated=2018-08-24T17%3A58%3A11.393Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHCEVAXJWRATHGAFKV44HB" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0N9UN8TMryXXSNQ7IjyzMdDR2SnGtLEtNtsxN9nFV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLbFO4fmOUc4uvuHBjpmBzg6p/t6OPqUuVUZh5aD9KSklmUmp8ZnpoAMhnCUagFpcdXbuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:58:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHCEVAXJWRATHGAFKV44HB" - } - }, - { - "recorded_at": "2018-08-24T17:58:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHCBHW4CPXYVW6Y73VJVDF&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 173-LEKyuO_xqVluhf4rqx0J4vA4GuA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ctmSItYs7sdg67nMyH; loidcreated=2018-08-24T17%3A58%3A11.393Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133491_sed/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:58:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "99" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133491_sed/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:58:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 174-PUFufNap2EVdS8pV8dwn36h7G48" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ctmSItYs7sdg67nMyH; loidcreated=2018-08-24T17%3A58%3A11.393Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133491_sed/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:58:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "99" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133491_sed/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:58:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHCEVAXJWRATHGAFKV44HB&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 173-LEKyuO_xqVluhf4rqx0J4vA4GuA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ctmSItYs7sdg67nMyH; loidcreated=2018-08-24T17%3A58%3A11.393Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133491_sed/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:58:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "99" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133491_sed/api/friend/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.contributors_test.test_list_contributors.json b/cassettes/channels.views.contributors_test.test_list_contributors.json deleted file mode 100644 index f4e5ac014d..0000000000 --- a/cassettes/channels.views.contributors_test.test_list_contributors.json +++ /dev/null @@ -1,507 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T17:58:01", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHBV9935NG71CDT6K30BVZ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0N9TNznEzcYoyyfV3TPPwKXcMz7A0jS+xDCp1TXRV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYFepkHpLolWvjrZkZZmKa6mnl4+4SEORnoRgSC9KSklmUmp8ZnpoAMhnCUagFUEi4UuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:58:01 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=WBG196ejK2tQhiJm3c; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:58:01 GMT", - "loidcreated=2018-08-24T17%3A58%3A01.227Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 17:58:01 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHBV9935NG71CDT6K30BVZ" - } - }, - { - "recorded_at": "2018-08-24T17:58:01", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Magnam+dolore+corporis+dignissimos+labore.+Asperiores+quidem+facilis+ipsa+totam+veritatis.+Totam+inventore+quidem+quisquam+perferendis+laudantium.%0APerspiciatis+atque+id+quibusdam+quam.+Itaque+mollitia+eveniet+debitis+fugit+rerum+quia.+Temporibus+alias+modi+pariatur+quod+eaque.%0ASequi+eveniet+fugit+ab+velit+quaerat.+Voluptates+quidem+corporis+consequatur+reprehenderit+dolorem.+Totam+atque+praesentium+perferendis+adipisci.&link_type=any&name=1535133481_necessitat&public_description=Consectetur+vel+veniam+dolor+veritatis+enim+quidem+dolor.+Omnis+at+aliquam+enim+asperiores.&title=Veniam+quod+minus+expedita.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 171-klF4BZ4mOAfHLwAWh95_t9RuEaE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "685" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WBG196ejK2tQhiJm3c; loidcreated=2018-08-24T17%3A58%3A01.227Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:58:01 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "119" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:58:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=WBG196ejK2tQhiJm3c; loidcreated=2018-08-24T17%3A58%3A01.227Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHC1RCECE85P0CSAQQ5ZV9" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0N9L1yCwL8jTwSq5IKw6KcgtKKzfNzPVLMnMyDA9V0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLbF5xUlegW45KVGVmZlVoT7B2S4ZYX6Jfs6JVqA9KSklmUmp8ZnpoAMhnCUagE9vlSmuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:58:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHC1RCECE85P0CSAQQ5ZV9" - } - }, - { - "recorded_at": "2018-08-24T17:58:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHC1RCECE85P0CSAQQ5ZV9&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 171-klF4BZ4mOAfHLwAWh95_t9RuEaE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WBG196ejK2tQhiJm3c; loidcreated=2018-08-24T17%3A58%3A01.227Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133481_necessitat/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:58:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "112" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133481_necessitat/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:58:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535133481_necessitat" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 172-HivRI0JcxfsRZFRfw5imNb6B1WU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "80" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WBG196ejK2tQhiJm3c; loidcreated=2018-08-24T17%3A58%3A01.227Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:58:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "112" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T17:58:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 171-klF4BZ4mOAfHLwAWh95_t9RuEaE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=WBG196ejK2tQhiJm3c; loidcreated=2018-08-24T17%3A58%3A01.227Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133481_necessitat/about/contributors/?limit=100&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"date\": 1535133488.0, \"name\": \"01CNPHC1RCECE85P0CSAQQ5ZV9\", \"id\": \"t2_4s\"}, {\"date\": 1535133481.0, \"name\": \"01CNPHBV9935NG71CDT6K30BVZ\", \"id\": \"t2_4r\"}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "245" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 17:58:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "112" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=QpPxbwVPd6crxT8Q0IoGNPc2%2BmWQGjOlZIjDYVXx5y9%2Fj40ZAAKpsr1FVFI3%2FBG%2F84FuvXVV9gFw3PMX9hPWwW9KyfAClNs2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133481_necessitat/about/contributors/?limit=100&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.contributors_test.test_list_contributors_anonymous.json b/cassettes/channels.views.contributors_test.test_list_contributors_anonymous.json deleted file mode 100644 index 21e7b446cc..0000000000 --- a/cassettes/channels.views.contributors_test.test_list_contributors_anonymous.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "http_interactions": [], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.contributors_test.test_remove_contributor[1].json b/cassettes/channels.views.contributors_test.test_remove_contributor[1].json deleted file mode 100644 index ecf057b75c..0000000000 --- a/cassettes/channels.views.contributors_test.test_remove_contributor[1].json +++ /dev/null @@ -1,510 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-13T23:06:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7N6E7PGH3NM2DFTARJ9HHH" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NQQ6CMBREr0L+0kiCSBDcEXFPGqPopoH2V6sGSNtUwHh3qexczmTemzdUjKHW1LQPbGDrQbhKUv9urB9R7IUmXd3wXNrnKd8Xh4ReYekB9p1UqKl0xDoOgqn7CagZOnSWGiuFym01a+dq4ZJCMYG3v7sybGx73mXkNaS1LbSIN+UlGscjiRzE0UqGVHJnngN8vpqkywe6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 23:06:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=DUSTEyVEgW2ToAQBkt; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 12-Nov-2020 23:06:14 GMT", - "loidcreated=2018-11-13T23%3A06%3A14.206Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 12-Nov-2020 23:06:14 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7N6E7PGH3NM2DFTARJ9HHH" - } - }, - { - "recorded_at": "2018-11-13T23:06:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Accusantium+laborum+nemo+maxime+praesentium+provident+natus+eos.+Perferendis+atque+cum+totam+odit+cumque+doloribus+asperiores.+Praesentium+optio+iusto+cum+maiores+minus+assumenda+similique+exercitationem.%0AEius+molestiae+unde+error+dicta+labore+sit.+Repellat+id+asperiores+sapiente+repellendus+tenetur+vitae+dicta.+Assumenda+ad+aperiam+fuga+incidunt+dicta+excepturi.&link_type=any&name=1542150374_saepe&public_description=Error+exercitationem+commodi+perferendis+sed.&title=Et+fugiat+voluptatibus+nihil+eveniet.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2189-jtv-4_exfsRpbndDivlWDEPT8_g" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "584" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=DUSTEyVEgW2ToAQBkt; loidcreated=2018-11-13T23%3A06%3A14.206Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 23:06:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "226" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-13T23:06:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=DUSTEyVEgW2ToAQBkt; loidcreated=2018-11-13T23%3A06%3A14.206Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7N6MMP3NRD48075TK1R5B2" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NsQ6CMBRFf4V0NJoUSjC4wYKTijEmnRpoH1ogFluCEOO/y5PN8d7cc+6bFFKCc6I3DTzIziOBH9MNuCQ/b/Mro3WYmlsc9LLMuib1aUjWHoGx0xac0EiwiNK5+wlEP3WAlhIKCxa3TpqlWmGyUM3g/e9uKFjN24N6no68Gffs0k55wl42yjhCCgYtQWiF5iWQzxe7TSaSugAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 23:06:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7N6MMP3NRD48075TK1R5B2" - } - }, - { - "recorded_at": "2018-11-13T23:06:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CW7N6MMP3NRD48075TK1R5B2&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2189-jtv-4_exfsRpbndDivlWDEPT8_g" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=DUSTEyVEgW2ToAQBkt; loidcreated=2018-11-13T23%3A06%3A14.206Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542150374_saepe/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 23:06:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "219" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542150374_saepe/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-13T23:06:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542150374_saepe" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2190-esAQR7QV30j4Bog92tcbGpkB104" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "75" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=DUSTEyVEgW2ToAQBkt; loidcreated=2018-11-13T23%3A06%3A14.206Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 23:06:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "219" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-13T23:06:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CW7N6MMP3NRD48075TK1R5B2&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2189-jtv-4_exfsRpbndDivlWDEPT8_g" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=DUSTEyVEgW2ToAQBkt; loidcreated=2018-11-13T23%3A06%3A14.206Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542150374_saepe/api/unfriend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 23:06:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "219" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542150374_saepe/api/unfriend/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.contributors_test.test_remove_contributor[2].json b/cassettes/channels.views.contributors_test.test_remove_contributor[2].json deleted file mode 100644 index 681d9a62ed..0000000000 --- a/cassettes/channels.views.contributors_test.test_remove_contributor[2].json +++ /dev/null @@ -1,602 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-13T23:06:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7N6R64NSADVXQ7Y4F6WEC8" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NQQuCMBiG/4rsGAmzSKxbUtQOEh6M6DLm/KIxcvpNLBf991zeOr4v7/O8byKkBGt5ZzTUZBOQRbSOQl2w4+NpQupal23jBmm+l/1QZueEzAMCr0YhWK48sYwpHbufgHdDA95SgkBAv7XSTNXMJ4TbCN7/7k60NuLSsjyjB1kMmu3QJauUX5F5qIJeSeCq8uYpkM8X+OAX4LoAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 23:06:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=utRk9ocB0GKImFE2YS; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 12-Nov-2020 23:06:24 GMT", - "loidcreated=2018-11-13T23%3A06%3A24.379Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 12-Nov-2020 23:06:24 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7N6R64NSADVXQ7Y4F6WEC8" - } - }, - { - "recorded_at": "2018-11-13T23:06:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Accusantium+eligendi+odit+deleniti+eum+fugiat.+Porro+iste+nostrum+maxime+consequuntur+culpa+non+accusantium.+Odio+quisquam+occaecati+alias+itaque+odio+velit+nostrum.+Fugiat+distinctio+veniam+assumenda+enim+cumque+aperiam.%0AIncidunt+distinctio+fuga+modi+officia+molestiae+nemo+maxime.+Temporibus+nam+illum+asperiores+error+tempore+voluptatum+hic+quasi.&link_type=any&name=1542150385_dolores&public_description=Temporibus+libero+minus+maxime+eum.+Perferendis+hic+nam+minus+quidem+deleniti.&title=Vel+aspernatur+necessitatibus+non+quisquam.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2191-kUIHmwo-0zqzMA6pr0QEcvybMV8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "610" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=utRk9ocB0GKImFE2YS; loidcreated=2018-11-13T23%3A06%3A24.379Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 23:06:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "216" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-13T23:06:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=utRk9ocB0GKImFE2YS; loidcreated=2018-11-13T23%3A06%3A24.379Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7N6YFY85QG1CAPG1DKSQKD" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12N0Q7BMBiFX2XppWhSs0y4ZMYYRsZtM+0vymjXzhDx7tbtzuU5Od93PihjDIyhpbzCHY0c5PaGLlYk8bezdUXSxS70Up7rYjJOJFa5h7oOgpcSGgwVluj7hNRdI6DlW4G1HCHToO3WMNlWHZs0nGrw/Hf3DLN4P1/Gg0TeiuByiDYrPA0eYcQiC3GoBAMquDW3AX1/wIH8PboAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 23:06:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7N6YFY85QG1CAPG1DKSQKD" - } - }, - { - "recorded_at": "2018-11-13T23:06:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CW7N6YFY85QG1CAPG1DKSQKD&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2191-kUIHmwo-0zqzMA6pr0QEcvybMV8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=utRk9ocB0GKImFE2YS; loidcreated=2018-11-13T23%3A06%3A24.379Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542150385_dolores/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 23:06:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "209" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542150385_dolores/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-13T23:06:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542150385_dolores" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2192-p0P6QGNv0TJRF4TdlrqCBPo-pl4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "77" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=utRk9ocB0GKImFE2YS; loidcreated=2018-11-13T23%3A06%3A24.379Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 23:06:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "209" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-13T23:06:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CW7N6YFY85QG1CAPG1DKSQKD&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2191-kUIHmwo-0zqzMA6pr0QEcvybMV8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=utRk9ocB0GKImFE2YS; loidcreated=2018-11-13T23%3A06%3A24.379Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542150385_dolores/api/unfriend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 23:06:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "209" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542150385_dolores/api/unfriend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-13T23:06:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CW7N6YFY85QG1CAPG1DKSQKD&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2191-kUIHmwo-0zqzMA6pr0QEcvybMV8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=utRk9ocB0GKImFE2YS; loidcreated=2018-11-13T23%3A06%3A24.379Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542150385_dolores/api/unfriend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 23:06:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "209" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542150385_dolores/api/unfriend/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.contributors_test.test_remove_contributor_anonymous.json b/cassettes/channels.views.contributors_test.test_remove_contributor_anonymous.json deleted file mode 100644 index 21e7b446cc..0000000000 --- a/cassettes/channels.views.contributors_test.test_remove_contributor_anonymous.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "http_interactions": [], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.frontpage_test.test_frontpage.json b/cassettes/channels.views.frontpage_test.test_frontpage.json deleted file mode 100644 index 80dae47b2f..0000000000 --- a/cassettes/channels.views.frontpage_test.test_frontpage.json +++ /dev/null @@ -1,1587 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-17T19:09:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01BZ5P69ER1167VTVGRW1J8C0B" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI3tNDNLUjPCDPwCij0KtTNdAqqis9KSnf3M3XLNC1W0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZVZWa4BAY6OadGGRd5l0dFOloY+UeFhJonpgWC9KSklmUmp8ZnpoAMhnCUagHRFCo7uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 17 Nov 2017 19:09:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=XXHH2EzSHxCXGyWUul; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 17-Nov-2019 19:09:53 GMT", - "loidcreated=2017-11-17T19%3A09%3A53.523Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 17-Nov-2019 19:09:53 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01BZ5P69ER1167VTVGRW1J8C0B" - } - }, - { - "recorded_at": "2017-11-17T19:09:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&description=Eaque+similique+soluta+in+voluptatem.+Omnis+quis+magnam+voluptatem.+Suscipit+temporibus+dignissimos+nemo+debitis+error+deserunt.%0AVoluptates+et+magnam+et+similique+aliquid+neque.+Eius+quos+repudiandae+molestias+voluptatibus+quis.%0AQuae+minus+praesentium+ex+suscipit.+Iusto+quasi+ducimus+ut+voluptatibus.+Ullam+aut+voluptas+animi+voluptatem.&link_type=any&name=1510945793_id&public_description=Modi+accusamus+fugit+est+fugiat+nam.+Quibusdam+officiis+excepturi+facere.&title=Esse+inventore+tempore+quasi+accusamus.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 718-mpghV0JPqJq-iBRz_jbgGN5Fi5s" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "571" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=XXHH2EzSHxCXGyWUul; loidcreated=2017-11-17T19%3A09%3A53.523Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 17 Nov 2017 19:09:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "7" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2017-11-17T19:09:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XXHH2EzSHxCXGyWUul; loidcreated=2017-11-17T19%3A09%3A53.523Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01BZ5P6A0TCMCXZQ0W1ARMF42G" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI3tNQtzonwLnYqyPePdHL2yfa3sCwxMDf3yfIwLkpW0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLa5mwWX+ac5u/r7+gQWmAdnVRZbhJf5VrnlRZSD9KSklmUmp8ZnpoAMhnCUagGBbP6wuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 17 Nov 2017 19:09:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01BZ5P6A0TCMCXZQ0W1ARMF42G" - } - }, - { - "recorded_at": "2017-11-17T19:09:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01BZ5P6A0TCMCXZQ0W1ARMF42G&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 718-mpghV0JPqJq-iBRz_jbgGN5Fi5s" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=XXHH2EzSHxCXGyWUul; loidcreated=2017-11-17T19%3A09%3A53.523Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1510945793_id/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 17 Nov 2017 19:09:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "6" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1510945793_id/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2017-11-17T19:09:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1510945793_id" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 719-slXKsBpoOYBCLkO89t077LjH3rc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "72" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=XXHH2EzSHxCXGyWUul; loidcreated=2017-11-17T19%3A09%3A53.523Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 17 Nov 2017 19:09:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "6" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2017-11-17T19:09:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1510945793_id&text=Molestias+repellat+ad+explicabo+aliquid+debitis.+Autem+magni+nihil+eaque+at+aliquam.&title=Iusto+quis+reiciendis+odit+ipsum." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 719-slXKsBpoOYBCLkO89t077LjH3rc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "201" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=XXHH2EzSHxCXGyWUul; loidcreated=2017-11-17T19%3A09%3A53.523Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1510945793_id/comments/e2/iusto_quis_reiciendis_odit_ipsum/\", \"id\": \"e2\", \"name\": \"t3_e2\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "156" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 17 Nov 2017 19:09:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "6" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2017-11-17T19:09:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 719-slXKsBpoOYBCLkO89t077LjH3rc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XXHH2EzSHxCXGyWUul; loidcreated=2017-11-17T19%3A09%3A53.523Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/e2/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1510945793_id\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMolestias repellat ad explicabo aliquid debitis. Autem magni nihil eaque at aliquam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Molestias repellat ad explicabo aliquid debitis. Autem magni nihil eaque at aliquam.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"e2\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BZ5P6A0TCMCXZQ0W1ARMF42G\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1510945793_id\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_9n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1510945793_id/comments/e2/iusto_quis_reiciendis_odit_ipsum/\", \"locked\": false, \"name\": \"t3_e2\", \"created\": 1510945794.0, \"url\": \"http://reddit.local/r/1510945793_id/comments/e2/iusto_quis_reiciendis_odit_ipsum/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Iusto quis reiciendis odit ipsum.\", \"created_utc\": 1510945794.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1719" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 17 Nov 2017 19:09:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "6" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=9bj181W4BqpFseoDyeu%2FGXzdGIUR0bUbPR4RtzHi73mrhDixs9EADUiMpFTo9%2F%2FRFh77mG0rIts9MQ2Of4Mb5ogToCYUFcYs" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/e2/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2017-11-17T19:09:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1510945793_id&text=Tempore+asperiores+officia+expedita.+Repellat+doloremque+natus+quibusdam+sit+saepe.&title=Vitae+id+fuga+officia+iste+cumque+animi." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 719-slXKsBpoOYBCLkO89t077LjH3rc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "207" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=XXHH2EzSHxCXGyWUul; loidcreated=2017-11-17T19%3A09%3A53.523Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1510945793_id/comments/e3/vitae_id_fuga_officia_iste_cumque_animi/\", \"id\": \"e3\", \"name\": \"t3_e3\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "163" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 17 Nov 2017 19:09:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "6" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2017-11-17T19:09:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 719-slXKsBpoOYBCLkO89t077LjH3rc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XXHH2EzSHxCXGyWUul; loidcreated=2017-11-17T19%3A09%3A53.523Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/e3/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1510945793_id\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ETempore asperiores officia expedita. Repellat doloremque natus quibusdam sit saepe.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Tempore asperiores officia expedita. Repellat doloremque natus quibusdam sit saepe.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"e3\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BZ5P6A0TCMCXZQ0W1ARMF42G\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1510945793_id\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_9n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1510945793_id/comments/e3/vitae_id_fuga_officia_iste_cumque_animi/\", \"locked\": false, \"name\": \"t3_e3\", \"created\": 1510945794.0, \"url\": \"http://reddit.local/r/1510945793_id/comments/e3/vitae_id_fuga_officia_iste_cumque_animi/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Vitae id fuga officia iste cumque animi.\", \"created_utc\": 1510945794.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1738" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 17 Nov 2017 19:09:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "6" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=i6iD4mm%2Fv3akDZgciS10kQ7LAF1GGT%2B%2BkVQVZ%2ByovXatE37bYvR3sJeSzCAXdUr9JHSpHxAYsnBWEC4k82q8vHxitqXSghAP" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/e3/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2017-11-17T19:09:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1510945793_id&text=Esse+fugiat+dignissimos+harum+iste.+Nisi+beatae+sequi+quis+aliquam+accusamus.&title=Laboriosam+harum+ad+maxime+excepturi." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 719-slXKsBpoOYBCLkO89t077LjH3rc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "198" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=XXHH2EzSHxCXGyWUul; loidcreated=2017-11-17T19%3A09%3A53.523Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1510945793_id/comments/e4/laboriosam_harum_ad_maxime_excepturi/\", \"id\": \"e4\", \"name\": \"t3_e4\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "160" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 17 Nov 2017 19:09:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "6" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2017-11-17T19:09:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 719-slXKsBpoOYBCLkO89t077LjH3rc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XXHH2EzSHxCXGyWUul; loidcreated=2017-11-17T19%3A09%3A53.523Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/e4/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1510945793_id\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEsse fugiat dignissimos harum iste. Nisi beatae sequi quis aliquam accusamus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Esse fugiat dignissimos harum iste. Nisi beatae sequi quis aliquam accusamus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"e4\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BZ5P6A0TCMCXZQ0W1ARMF42G\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1510945793_id\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_9n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1510945793_id/comments/e4/laboriosam_harum_ad_maxime_excepturi/\", \"locked\": false, \"name\": \"t3_e4\", \"created\": 1510945794.0, \"url\": \"http://reddit.local/r/1510945793_id/comments/e4/laboriosam_harum_ad_maxime_excepturi/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Laboriosam harum ad maxime excepturi.\", \"created_utc\": 1510945794.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1717" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 17 Nov 2017 19:09:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "6" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=0KtA0v8JM6MGZaKW3QIuRTqEe7%2BGYayIHfe6qWBzjuK4%2BM%2BDtQn%2FMrNdLT6qoQv5IOxH6Z0unwnFgO7hm3KyL4vMIJLEcvwY" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/e4/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2017-11-17T19:09:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1510945793_id&text=Velit+excepturi+fuga+maxime+ullam.+Beatae+eos+itaque+ipsam+minus+quam+reprehenderit+debitis.&title=Consectetur+odio+exercitationem+consequuntur." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 719-slXKsBpoOYBCLkO89t077LjH3rc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "221" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=XXHH2EzSHxCXGyWUul; loidcreated=2017-11-17T19%3A09%3A53.523Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1510945793_id/comments/e5/consectetur_odio_exercitationem_consequuntur/\", \"id\": \"e5\", \"name\": \"t3_e5\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "168" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 17 Nov 2017 19:09:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "6" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2017-11-17T19:09:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 719-slXKsBpoOYBCLkO89t077LjH3rc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XXHH2EzSHxCXGyWUul; loidcreated=2017-11-17T19%3A09%3A53.523Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/e5/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1510945793_id\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVelit excepturi fuga maxime ullam. Beatae eos itaque ipsam minus quam reprehenderit debitis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Velit excepturi fuga maxime ullam. Beatae eos itaque ipsam minus quam reprehenderit debitis.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"e5\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BZ5P6A0TCMCXZQ0W1ARMF42G\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1510945793_id\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_9n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1510945793_id/comments/e5/consectetur_odio_exercitationem_consequuntur/\", \"locked\": false, \"name\": \"t3_e5\", \"created\": 1510945794.0, \"url\": \"http://reddit.local/r/1510945793_id/comments/e5/consectetur_odio_exercitationem_consequuntur/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Consectetur odio exercitationem consequuntur.\", \"created_utc\": 1510945794.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1771" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 17 Nov 2017 19:09:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "6" - ], - "x-ratelimit-used": [ - "9" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=qrrx5YQ286uLup%2FAhrzxuh6iRrz3RPD6dNX6Q%2B9NZHYWeKPaZj1GfbuZ3vN8rL3z2ZJQleVYjrL0gFPKtf3vRHvmxgY8pzkq" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/e5/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2017-11-17T19:10:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 719-slXKsBpoOYBCLkO89t077LjH3rc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XXHH2EzSHxCXGyWUul; loidcreated=2017-11-17T19%3A09%3A53.523Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/hot?count=0&limit=25&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1510945793_id\", \"subreddit\": \"1510945793_id\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVelit excepturi fuga maxime ullam. Beatae eos itaque ipsam minus quam reprehenderit debitis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Velit excepturi fuga maxime ullam. Beatae eos itaque ipsam minus quam reprehenderit debitis.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"e5\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BZ5P6A0TCMCXZQ0W1ARMF42G\", \"media\": null, \"name\": \"t3_e5\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_9n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1510945793_id/comments/e5/consectetur_odio_exercitationem_consequuntur/\", \"locked\": false, \"stickied\": false, \"created\": 1510945794.0, \"url\": \"http://reddit.local/r/1510945793_id/comments/e5/consectetur_odio_exercitationem_consequuntur/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Consectetur odio exercitationem consequuntur.\", \"created_utc\": 1510945794.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1510945793_id\", \"subreddit\": \"1510945793_id\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEsse fugiat dignissimos harum iste. Nisi beatae sequi quis aliquam accusamus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Esse fugiat dignissimos harum iste. Nisi beatae sequi quis aliquam accusamus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"e4\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BZ5P6A0TCMCXZQ0W1ARMF42G\", \"media\": null, \"name\": \"t3_e4\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_9n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1510945793_id/comments/e4/laboriosam_harum_ad_maxime_excepturi/\", \"locked\": false, \"stickied\": false, \"created\": 1510945794.0, \"url\": \"http://reddit.local/r/1510945793_id/comments/e4/laboriosam_harum_ad_maxime_excepturi/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Laboriosam harum ad maxime excepturi.\", \"created_utc\": 1510945794.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1510945793_id\", \"subreddit\": \"1510945793_id\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ETempore asperiores officia expedita. Repellat doloremque natus quibusdam sit saepe.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Tempore asperiores officia expedita. Repellat doloremque natus quibusdam sit saepe.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"e3\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BZ5P6A0TCMCXZQ0W1ARMF42G\", \"media\": null, \"name\": \"t3_e3\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_9n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1510945793_id/comments/e3/vitae_id_fuga_officia_iste_cumque_animi/\", \"locked\": false, \"stickied\": false, \"created\": 1510945794.0, \"url\": \"http://reddit.local/r/1510945793_id/comments/e3/vitae_id_fuga_officia_iste_cumque_animi/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Vitae id fuga officia iste cumque animi.\", \"created_utc\": 1510945794.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1510945793_id\", \"subreddit\": \"1510945793_id\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMolestias repellat ad explicabo aliquid debitis. Autem magni nihil eaque at aliquam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Molestias repellat ad explicabo aliquid debitis. Autem magni nihil eaque at aliquam.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"e2\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BZ5P6A0TCMCXZQ0W1ARMF42G\", \"media\": null, \"name\": \"t3_e2\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_9n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1510945793_id/comments/e2/iusto_quis_reiciendis_odit_ipsum/\", \"locked\": false, \"stickied\": false, \"created\": 1510945794.0, \"url\": \"http://reddit.local/r/1510945793_id/comments/e2/iusto_quis_reiciendis_odit_ipsum/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Iusto quis reiciendis odit ipsum.\", \"created_utc\": 1510945794.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "6200" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 17 Nov 2017 19:10:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "1" - ], - "x-ratelimit-used": [ - "10" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=hCd5FzclUg8U%2FTpc0CkkDdA6AvKB%2FkfxP4aWFufsv7bircE8BAY18Ffv8y%2Bv9OmsCE%2BMmxj0s%2F1L6JB%2FBjAACwHw3tMVhOlP" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/hot?count=0&limit=25&raw_json=1" - } - }, - { - "recorded_at": "2017-11-17T19:10:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 719-slXKsBpoOYBCLkO89t077LjH3rc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XXHH2EzSHxCXGyWUul; loidcreated=2017-11-17T19%3A09%3A53.523Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1510945793_id/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"9n\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1510945793_id\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEaque similique soluta in voluptatem. Omnis quis magnam voluptatem. Suscipit temporibus dignissimos nemo debitis error deserunt.\\nVoluptates et magnam et similique aliquid neque. Eius quos repudiandae molestias voluptatibus quis.\\nQuae minus praesentium ex suscipit. Iusto quasi ducimus ut voluptatibus. Ullam aut voluptas animi voluptatem.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Esse inventore tempore quasi accusamus.\", \"collapse_deleted_comments\": false, \"public_description\": \"Modi accusamus fugit est fugiat nam. Quibusdam officiis excepturi facere.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EModi accusamus fugit est fugiat nam. Quibusdam officiis excepturi facere.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Eaque similique soluta in voluptatem. Omnis quis magnam voluptatem. Suscipit temporibus dignissimos nemo debitis error deserunt.\\nVoluptates et magnam et similique aliquid neque. Eius quos repudiandae molestias voluptatibus quis.\\nQuae minus praesentium ex suscipit. Iusto quasi ducimus ut voluptatibus. Ullam aut voluptas animi voluptatem.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 5, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_9n\", \"created\": 1510945793.0, \"url\": \"/r/1510945793_id/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1510945793.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2175" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 17 Nov 2017 19:10:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "600" - ], - "x-ratelimit-used": [ - "1" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=QRLs8WonEuf1hf%2F6%2FvKJkLVB0kHysOJ4E4u6xpjrs4g%2BOUlAUHffQl4rhqeAqYoG0Fevxdi%2FCBlf94LOUxCbUZ%2BzScR7%2BBeY" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1510945793_id/about/?raw_json=1" - } - }, - { - "recorded_at": "2017-11-17T19:10:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 719-slXKsBpoOYBCLkO89t077LjH3rc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XXHH2EzSHxCXGyWUul; loidcreated=2017-11-17T19%3A09%3A53.523Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1510945793_id/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"9n\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1510945793_id\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEaque similique soluta in voluptatem. Omnis quis magnam voluptatem. Suscipit temporibus dignissimos nemo debitis error deserunt.\\nVoluptates et magnam et similique aliquid neque. Eius quos repudiandae molestias voluptatibus quis.\\nQuae minus praesentium ex suscipit. Iusto quasi ducimus ut voluptatibus. Ullam aut voluptas animi voluptatem.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Esse inventore tempore quasi accusamus.\", \"collapse_deleted_comments\": false, \"public_description\": \"Modi accusamus fugit est fugiat nam. Quibusdam officiis excepturi facere.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EModi accusamus fugit est fugiat nam. Quibusdam officiis excepturi facere.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Eaque similique soluta in voluptatem. Omnis quis magnam voluptatem. Suscipit temporibus dignissimos nemo debitis error deserunt.\\nVoluptates et magnam et similique aliquid neque. Eius quos repudiandae molestias voluptatibus quis.\\nQuae minus praesentium ex suscipit. Iusto quasi ducimus ut voluptatibus. Ullam aut voluptas animi voluptatem.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 5, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_9n\", \"created\": 1510945793.0, \"url\": \"/r/1510945793_id/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1510945793.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2175" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 17 Nov 2017 19:10:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "600" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=hzaqx3bYzioR9zZW49bsS5q23zVZ5emL0gzJhgoD61dH6AX4kJTbXkTWQ2XKJ4OKZZuUP74Uam9%2FI1nXqFzWVtHDTE4xO4%2Fm" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1510945793_id/about/?raw_json=1" - } - }, - { - "recorded_at": "2017-11-17T19:10:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 719-slXKsBpoOYBCLkO89t077LjH3rc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XXHH2EzSHxCXGyWUul; loidcreated=2017-11-17T19%3A09%3A53.523Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1510945793_id/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"9n\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1510945793_id\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEaque similique soluta in voluptatem. Omnis quis magnam voluptatem. Suscipit temporibus dignissimos nemo debitis error deserunt.\\nVoluptates et magnam et similique aliquid neque. Eius quos repudiandae molestias voluptatibus quis.\\nQuae minus praesentium ex suscipit. Iusto quasi ducimus ut voluptatibus. Ullam aut voluptas animi voluptatem.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Esse inventore tempore quasi accusamus.\", \"collapse_deleted_comments\": false, \"public_description\": \"Modi accusamus fugit est fugiat nam. Quibusdam officiis excepturi facere.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EModi accusamus fugit est fugiat nam. Quibusdam officiis excepturi facere.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Eaque similique soluta in voluptatem. Omnis quis magnam voluptatem. Suscipit temporibus dignissimos nemo debitis error deserunt.\\nVoluptates et magnam et similique aliquid neque. Eius quos repudiandae molestias voluptatibus quis.\\nQuae minus praesentium ex suscipit. Iusto quasi ducimus ut voluptatibus. Ullam aut voluptas animi voluptatem.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 5, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_9n\", \"created\": 1510945793.0, \"url\": \"/r/1510945793_id/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1510945793.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2175" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 17 Nov 2017 19:10:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "600" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=9oxlt%2BfBCEzNjQWb3eC7jXVIJ3C6gzT20PbVFLW72v9oFkm5ZfxibnnhXixlHtQhHRPhiOwMqGBCKakOCp02sfsPlHQsoHzJ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1510945793_id/about/?raw_json=1" - } - }, - { - "recorded_at": "2017-11-17T19:10:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 719-slXKsBpoOYBCLkO89t077LjH3rc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XXHH2EzSHxCXGyWUul; loidcreated=2017-11-17T19%3A09%3A53.523Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1510945793_id/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"9n\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1510945793_id\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEaque similique soluta in voluptatem. Omnis quis magnam voluptatem. Suscipit temporibus dignissimos nemo debitis error deserunt.\\nVoluptates et magnam et similique aliquid neque. Eius quos repudiandae molestias voluptatibus quis.\\nQuae minus praesentium ex suscipit. Iusto quasi ducimus ut voluptatibus. Ullam aut voluptas animi voluptatem.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Esse inventore tempore quasi accusamus.\", \"collapse_deleted_comments\": false, \"public_description\": \"Modi accusamus fugit est fugiat nam. Quibusdam officiis excepturi facere.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EModi accusamus fugit est fugiat nam. Quibusdam officiis excepturi facere.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Eaque similique soluta in voluptatem. Omnis quis magnam voluptatem. Suscipit temporibus dignissimos nemo debitis error deserunt.\\nVoluptates et magnam et similique aliquid neque. Eius quos repudiandae molestias voluptatibus quis.\\nQuae minus praesentium ex suscipit. Iusto quasi ducimus ut voluptatibus. Ullam aut voluptas animi voluptatem.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 5, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_9n\", \"created\": 1510945793.0, \"url\": \"/r/1510945793_id/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1510945793.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2175" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 17 Nov 2017 19:10:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "600" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=YmdzdPE3ScywP1LSW4DBUZh1B6GNI05HDxxGwUdY%2B5FBHypvjgV7vLW12MHDuOYRdIYokvqif8gO1Ye1isEskfyC9OrZR9LV" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1510945793_id/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.frontpage_test.test_frontpage[False].json b/cassettes/channels.views.frontpage_test.test_frontpage[False].json deleted file mode 100644 index fc6089bc01..0000000000 --- a/cassettes/channels.views.frontpage_test.test_frontpage[False].json +++ /dev/null @@ -1,1943 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:05:22", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGW30FCW2N1DXAXEQ5HXM9" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIysjTTTTMvd0wrTveLynY2CvZJK9MNSg8PznJyLkuPVNJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9CsKzTJi/JOTspPy6+wDPKL8rC0MA8pCjJxT04MBGlKSS3LTE6Nz0wBmQzhKNUCAGXvhey6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:22 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=dVgS70Hm0lEamWIek5; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:05:22 GMT", - "loidcreated=2018-11-16T15%3A05%3A22.074Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:05:22 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGW30FCW2N1DXAXEQ5HXM9" - } - }, - { - "recorded_at": "2018-11-16T15:05:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGW6A7PT35WY87AW30CTTY" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIysjTX9XYrz403y/YozfLT9YkKiChMjiwJqiisyCpMVtJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9Css/B0cfQpyfUO1g02LU10izSoqCrMMndODC3xBWlKSS3LTE6Nz0wBmQzhKNUCALzX61i6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGW6A7PT35WY87AW30CTTY" - } - }, - { - "recorded_at": "2018-11-16T15:05:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Debitis+totam+iure+sapiente+nam.+Laboriosam+omnis+eos+voluptate+cum+consectetur.+Iste+omnis+repellat+porro.+Suscipit+illo+in+eligendi+doloremque+id.%0AAccusantium+doloremque+assumenda+ratione+dolor+dolorem+autem+similique.+Vero+harum+excepturi+sed.+Ullam+beatae+occaecati+quae+totam+accusamus+maxime.+Iure+quo+unde+soluta+facere+asperiores+nam.&link_type=any&name=1542380725_rerum&public_description=Quam+aliquid+sunt+odio+repellendus+sapiente.&title=Eaque+illum+velit+sint+repudiandae.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2297-KFwm_6kHujN-LZPXqcYtRxqxjqc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "558" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "275" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CWEGW30FCW2N1DXAXEQ5HXM9&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2297-KFwm_6kHujN-LZPXqcYtRxqxjqc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542380725_rerum/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "271" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380725_rerum/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542380725_rerum" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2296-f7wAfsgNZkC2SLfv-RgWSjBCvgY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "75" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "271" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380725_rerum&text=Quam+nobis+vel+quod.+Natus+optio+eius+dolores+iusto.+Velit+accusantium+explicabo+nihil+id.&title=Ratione+blanditiis+quis+esse+nulla." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2296-f7wAfsgNZkC2SLfv-RgWSjBCvgY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "212" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380725_rerum/comments/8o/ratione_blanditiis_quis_esse_nulla/\", \"id\": \"8o\", \"name\": \"t3_8o\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "161" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "271" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2296-f7wAfsgNZkC2SLfv-RgWSjBCvgY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8o/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380725_rerum\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuam nobis vel quod. Natus optio eius dolores iusto. Velit accusantium explicabo nihil id.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quam nobis vel quod. Natus optio eius dolores iusto. Velit accusantium explicabo nihil id.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8o\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGW30FCW2N1DXAXEQ5HXM9\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380725_rerum\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380725_rerum/comments/8o/ratione_blanditiis_quis_esse_nulla/\", \"locked\": false, \"name\": \"t3_8o\", \"created\": 1542380729.0, \"url\": \"http://reddit.local/r/1542380725_rerum/comments/8o/ratione_blanditiis_quis_esse_nulla/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Ratione blanditiis quis esse nulla.\", \"created_utc\": 1542380729.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1749" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "271" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=LOnPQmJ4viXxVRD%2BpWzoatvBti9RrzFn8TlTgn3LUDsK49EVEt09qjTga2ABWOfwtgtLC2abY5Z5nM0ViI5pnq0m%2FOBAW4b5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8o/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380725_rerum&text=Dolor+quisquam+asperiores+eveniet+porro.+Totam+vel+esse+illo+ullam+hic+officia.&title=Culpa+excepturi+ratione+vitae+et+dolor+nam." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2296-f7wAfsgNZkC2SLfv-RgWSjBCvgY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "209" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380725_rerum/comments/8p/culpa_excepturi_ratione_vitae_et_dolor_nam/\", \"id\": \"8p\", \"name\": \"t3_8p\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "169" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "268" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2296-f7wAfsgNZkC2SLfv-RgWSjBCvgY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8p/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380725_rerum\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDolor quisquam asperiores eveniet porro. Totam vel esse illo ullam hic officia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Dolor quisquam asperiores eveniet porro. Totam vel esse illo ullam hic officia.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8p\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGW30FCW2N1DXAXEQ5HXM9\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380725_rerum\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380725_rerum/comments/8p/culpa_excepturi_ratione_vitae_et_dolor_nam/\", \"locked\": false, \"name\": \"t3_8p\", \"created\": 1542380732.0, \"url\": \"http://reddit.local/r/1542380725_rerum/comments/8p/culpa_excepturi_ratione_vitae_et_dolor_nam/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Culpa excepturi ratione vitae et dolor nam.\", \"created_utc\": 1542380732.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1751" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "268" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=IlKiimI60QkGoVX3GNxdhvKgxfw0GV7eRTRQNSWMDfPIEICid7PqQEDAKoyckO1Ad%2F0CMCURRR7s9EFTuLbcRmcRm6W6ez6h" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8p/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380725_rerum&text=Expedita+eligendi+odit+laborum+soluta.+Occaecati+eius+ipsam+eveniet+sint+veritatis.&title=Modi+accusantium+earum+quod+expedita+deserunt." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2296-f7wAfsgNZkC2SLfv-RgWSjBCvgY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "216" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380725_rerum/comments/8q/modi_accusantium_earum_quod_expedita_deserunt/\", \"id\": \"8q\", \"name\": \"t3_8q\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "265" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2296-f7wAfsgNZkC2SLfv-RgWSjBCvgY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8q/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380725_rerum\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita eligendi odit laborum soluta. Occaecati eius ipsam eveniet sint veritatis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Expedita eligendi odit laborum soluta. Occaecati eius ipsam eveniet sint veritatis.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8q\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGW30FCW2N1DXAXEQ5HXM9\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380725_rerum\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380725_rerum/comments/8q/modi_accusantium_earum_quod_expedita_deserunt/\", \"locked\": false, \"name\": \"t3_8q\", \"created\": 1542380735.0, \"url\": \"http://reddit.local/r/1542380725_rerum/comments/8q/modi_accusantium_earum_quod_expedita_deserunt/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Modi accusantium earum quod expedita deserunt.\", \"created_utc\": 1542380735.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1768" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "265" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=VMwaeu4mPmPKVTd26QeHXPAhl7XrOR%2BCuKgYp2Atz6O3MaqHSQsRmKz6%2FQ8IUMDjj2DZ0atmZJVLsIF1%2F%2BgYEt46PWidvScj" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8q/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380725_rerum&text=Quis+iure+alias+fugiat+sed.+Deleniti+a+eos+temporibus.+Aliquam+ipsa+deleniti+nulla+quod.&title=Quisquam+quasi+aliquam+quidem+quo+beatae+sed." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2296-f7wAfsgNZkC2SLfv-RgWSjBCvgY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "220" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380725_rerum/comments/8r/quisquam_quasi_aliquam_quidem_quo_beatae_sed/\", \"id\": \"8r\", \"name\": \"t3_8r\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "171" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "262" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2296-f7wAfsgNZkC2SLfv-RgWSjBCvgY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8r/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380725_rerum\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuis iure alias fugiat sed. Deleniti a eos temporibus. Aliquam ipsa deleniti nulla quod.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quis iure alias fugiat sed. Deleniti a eos temporibus. Aliquam ipsa deleniti nulla quod.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8r\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGW30FCW2N1DXAXEQ5HXM9\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380725_rerum\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380725_rerum/comments/8r/quisquam_quasi_aliquam_quidem_quo_beatae_sed/\", \"locked\": false, \"name\": \"t3_8r\", \"created\": 1542380738.0, \"url\": \"http://reddit.local/r/1542380725_rerum/comments/8r/quisquam_quasi_aliquam_quidem_quo_beatae_sed/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quisquam quasi aliquam quidem quo beatae sed.\", \"created_utc\": 1542380738.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1775" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "262" - ], - "x-ratelimit-used": [ - "9" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=SaYGlRuEmeVWM9acQAMt7SaBwkDlj4SHIihUimiCVuftz4OsU5HMAijToGSn3nLdfoFKAYgqtqrpCHx6a%2FT2Ay%2FztNxfe2u7" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8r/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2296-f7wAfsgNZkC2SLfv-RgWSjBCvgY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/hot?count=0&limit=25&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380725_rerum\", \"subreddit\": \"1542380725_rerum\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuis iure alias fugiat sed. Deleniti a eos temporibus. Aliquam ipsa deleniti nulla quod.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quis iure alias fugiat sed. Deleniti a eos temporibus. Aliquam ipsa deleniti nulla quod.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8r\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGW30FCW2N1DXAXEQ5HXM9\", \"media\": null, \"name\": \"t3_8r\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380725_rerum/comments/8r/quisquam_quasi_aliquam_quidem_quo_beatae_sed/\", \"locked\": false, \"stickied\": false, \"created\": 1542380738.0, \"url\": \"http://reddit.local/r/1542380725_rerum/comments/8r/quisquam_quasi_aliquam_quidem_quo_beatae_sed/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quisquam quasi aliquam quidem quo beatae sed.\", \"created_utc\": 1542380738.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380725_rerum\", \"subreddit\": \"1542380725_rerum\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita eligendi odit laborum soluta. Occaecati eius ipsam eveniet sint veritatis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Expedita eligendi odit laborum soluta. Occaecati eius ipsam eveniet sint veritatis.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8q\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGW30FCW2N1DXAXEQ5HXM9\", \"media\": null, \"name\": \"t3_8q\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380725_rerum/comments/8q/modi_accusantium_earum_quod_expedita_deserunt/\", \"locked\": false, \"stickied\": false, \"created\": 1542380735.0, \"url\": \"http://reddit.local/r/1542380725_rerum/comments/8q/modi_accusantium_earum_quod_expedita_deserunt/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Modi accusantium earum quod expedita deserunt.\", \"created_utc\": 1542380735.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380725_rerum\", \"subreddit\": \"1542380725_rerum\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDolor quisquam asperiores eveniet porro. Totam vel esse illo ullam hic officia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Dolor quisquam asperiores eveniet porro. Totam vel esse illo ullam hic officia.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8p\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGW30FCW2N1DXAXEQ5HXM9\", \"media\": null, \"name\": \"t3_8p\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380725_rerum/comments/8p/culpa_excepturi_ratione_vitae_et_dolor_nam/\", \"locked\": false, \"stickied\": false, \"created\": 1542380732.0, \"url\": \"http://reddit.local/r/1542380725_rerum/comments/8p/culpa_excepturi_ratione_vitae_et_dolor_nam/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Culpa excepturi ratione vitae et dolor nam.\", \"created_utc\": 1542380732.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380725_rerum\", \"subreddit\": \"1542380725_rerum\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuam nobis vel quod. Natus optio eius dolores iusto. Velit accusantium explicabo nihil id.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quam nobis vel quod. Natus optio eius dolores iusto. Velit accusantium explicabo nihil id.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8o\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGW30FCW2N1DXAXEQ5HXM9\", \"media\": null, \"name\": \"t3_8o\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380725_rerum/comments/8o/ratione_blanditiis_quis_esse_nulla/\", \"locked\": false, \"stickied\": false, \"created\": 1542380729.0, \"url\": \"http://reddit.local/r/1542380725_rerum/comments/8o/ratione_blanditiis_quis_esse_nulla/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Ratione blanditiis quis esse nulla.\", \"created_utc\": 1542380729.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "6298" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "259" - ], - "x-ratelimit-used": [ - "10" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Mos5Z4%2Bz5ud0awI9BWuMfJRuybvujeVKRxju%2BSvzPAQkwwqmkQscicxhXwxD6UDBXjyFC1XEfJTPDtWZl6VE%2BjehWKGO%2B%2Bnz" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/hot?count=0&limit=25&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2296-f7wAfsgNZkC2SLfv-RgWSjBCvgY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8r/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380725_rerum\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuis iure alias fugiat sed. Deleniti a eos temporibus. Aliquam ipsa deleniti nulla quod.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quis iure alias fugiat sed. Deleniti a eos temporibus. Aliquam ipsa deleniti nulla quod.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8r\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGW30FCW2N1DXAXEQ5HXM9\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380725_rerum\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380725_rerum/comments/8r/quisquam_quasi_aliquam_quidem_quo_beatae_sed/\", \"locked\": false, \"name\": \"t3_8r\", \"created\": 1542380738.0, \"url\": \"http://reddit.local/r/1542380725_rerum/comments/8r/quisquam_quasi_aliquam_quidem_quo_beatae_sed/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quisquam quasi aliquam quidem quo beatae sed.\", \"created_utc\": 1542380738.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1775" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "289.0" - ], - "x-ratelimit-reset": [ - "259" - ], - "x-ratelimit-used": [ - "11" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=kFvhA5wgoFaaeWwKZMMEkFlTEPlhnJ%2B37NoK1LAORHCmpj%2Bq9Wf0rHLFxclzbDI8KB9CfdGTKP%2BL5OHJwwBHprx17lUngHaf" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8r/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2296-f7wAfsgNZkC2SLfv-RgWSjBCvgY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380725_rerum/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5n\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380725_rerum\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDebitis totam iure sapiente nam. Laboriosam omnis eos voluptate cum consectetur. Iste omnis repellat porro. Suscipit illo in eligendi doloremque id.\\nAccusantium doloremque assumenda ratione dolor dolorem autem similique. Vero harum excepturi sed. Ullam beatae occaecati quae totam accusamus maxime. Iure quo unde soluta facere asperiores nam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Eaque illum velit sint repudiandae.\", \"collapse_deleted_comments\": false, \"public_description\": \"Quam aliquid sunt odio repellendus sapiente.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuam aliquid sunt odio repellendus sapiente.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Debitis totam iure sapiente nam. Laboriosam omnis eos voluptate cum consectetur. Iste omnis repellat porro. Suscipit illo in eligendi doloremque id.\\nAccusantium doloremque assumenda ratione dolor dolorem autem similique. Vero harum excepturi sed. Ullam beatae occaecati quae totam accusamus maxime. Iure quo unde soluta facere asperiores nam.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5n\", \"created\": 1542380725.0, \"url\": \"/r/1542380725_rerum/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380725.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2128" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "288.0" - ], - "x-ratelimit-reset": [ - "259" - ], - "x-ratelimit-used": [ - "12" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=BGaxqFZ7jJw%2BuZ%2B0VhGizzHWul4nEWJw6xqMuSHqowLP48V0c5t1aSLAIJJVWcS5gXUC%2BB9V%2B9FxjUvFfY%2FsiXbYXO4astzj" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380725_rerum/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2296-f7wAfsgNZkC2SLfv-RgWSjBCvgY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8q/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380725_rerum\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita eligendi odit laborum soluta. Occaecati eius ipsam eveniet sint veritatis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Expedita eligendi odit laborum soluta. Occaecati eius ipsam eveniet sint veritatis.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8q\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGW30FCW2N1DXAXEQ5HXM9\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380725_rerum\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380725_rerum/comments/8q/modi_accusantium_earum_quod_expedita_deserunt/\", \"locked\": false, \"name\": \"t3_8q\", \"created\": 1542380735.0, \"url\": \"http://reddit.local/r/1542380725_rerum/comments/8q/modi_accusantium_earum_quod_expedita_deserunt/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Modi accusantium earum quod expedita deserunt.\", \"created_utc\": 1542380735.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1768" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "287.0" - ], - "x-ratelimit-reset": [ - "259" - ], - "x-ratelimit-used": [ - "13" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=cPDH7Vk42N74rzT9G5vR94LxM6pn%2BtVwUgsygYGjskvyQ9XYFJ9uiPLeA6kfJffha4n2ATNJZtlrR25u5PudKlLWkzuEyaSg" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8q/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2296-f7wAfsgNZkC2SLfv-RgWSjBCvgY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380725_rerum/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5n\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380725_rerum\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDebitis totam iure sapiente nam. Laboriosam omnis eos voluptate cum consectetur. Iste omnis repellat porro. Suscipit illo in eligendi doloremque id.\\nAccusantium doloremque assumenda ratione dolor dolorem autem similique. Vero harum excepturi sed. Ullam beatae occaecati quae totam accusamus maxime. Iure quo unde soluta facere asperiores nam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Eaque illum velit sint repudiandae.\", \"collapse_deleted_comments\": false, \"public_description\": \"Quam aliquid sunt odio repellendus sapiente.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuam aliquid sunt odio repellendus sapiente.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Debitis totam iure sapiente nam. Laboriosam omnis eos voluptate cum consectetur. Iste omnis repellat porro. Suscipit illo in eligendi doloremque id.\\nAccusantium doloremque assumenda ratione dolor dolorem autem similique. Vero harum excepturi sed. Ullam beatae occaecati quae totam accusamus maxime. Iure quo unde soluta facere asperiores nam.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5n\", \"created\": 1542380725.0, \"url\": \"/r/1542380725_rerum/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380725.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2128" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "286.0" - ], - "x-ratelimit-reset": [ - "259" - ], - "x-ratelimit-used": [ - "14" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=3m96FxPnOrm%2BOQqIrMKnYsDSYlMwq9XkvsBOwtcm8SI7WgwtGcVWQFApw8QRudSIu%2FlOHP%2F8nsxaLDxbiap3UOZLv0dSWfd1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380725_rerum/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2296-f7wAfsgNZkC2SLfv-RgWSjBCvgY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8p/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380725_rerum\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDolor quisquam asperiores eveniet porro. Totam vel esse illo ullam hic officia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Dolor quisquam asperiores eveniet porro. Totam vel esse illo ullam hic officia.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8p\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGW30FCW2N1DXAXEQ5HXM9\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380725_rerum\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380725_rerum/comments/8p/culpa_excepturi_ratione_vitae_et_dolor_nam/\", \"locked\": false, \"name\": \"t3_8p\", \"created\": 1542380732.0, \"url\": \"http://reddit.local/r/1542380725_rerum/comments/8p/culpa_excepturi_ratione_vitae_et_dolor_nam/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Culpa excepturi ratione vitae et dolor nam.\", \"created_utc\": 1542380732.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1751" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "285.0" - ], - "x-ratelimit-reset": [ - "259" - ], - "x-ratelimit-used": [ - "15" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=bpqGosNQMKrYfovBW7mdS73cFkgW%2BFQPDl1c9QR1C1PjOs0o3uhlX7ZwbRO105UY8QqjSIJ2O2k8q6lQLfjyaZJtZu6SF2av" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8p/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2296-f7wAfsgNZkC2SLfv-RgWSjBCvgY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380725_rerum/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5n\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380725_rerum\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDebitis totam iure sapiente nam. Laboriosam omnis eos voluptate cum consectetur. Iste omnis repellat porro. Suscipit illo in eligendi doloremque id.\\nAccusantium doloremque assumenda ratione dolor dolorem autem similique. Vero harum excepturi sed. Ullam beatae occaecati quae totam accusamus maxime. Iure quo unde soluta facere asperiores nam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Eaque illum velit sint repudiandae.\", \"collapse_deleted_comments\": false, \"public_description\": \"Quam aliquid sunt odio repellendus sapiente.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuam aliquid sunt odio repellendus sapiente.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Debitis totam iure sapiente nam. Laboriosam omnis eos voluptate cum consectetur. Iste omnis repellat porro. Suscipit illo in eligendi doloremque id.\\nAccusantium doloremque assumenda ratione dolor dolorem autem similique. Vero harum excepturi sed. Ullam beatae occaecati quae totam accusamus maxime. Iure quo unde soluta facere asperiores nam.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5n\", \"created\": 1542380725.0, \"url\": \"/r/1542380725_rerum/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380725.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2128" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "284.0" - ], - "x-ratelimit-reset": [ - "259" - ], - "x-ratelimit-used": [ - "16" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=RPY3UVd8Atsn99b2MhA112P%2BGUDJtPps5TI6Ot47vD8D24PgtU6Oy6kNVJv%2Bn5GdNQaKyrQigvHhBKWTWLhIVpjad53%2FpUjd" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380725_rerum/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2296-f7wAfsgNZkC2SLfv-RgWSjBCvgY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8o/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380725_rerum\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuam nobis vel quod. Natus optio eius dolores iusto. Velit accusantium explicabo nihil id.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quam nobis vel quod. Natus optio eius dolores iusto. Velit accusantium explicabo nihil id.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8o\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGW30FCW2N1DXAXEQ5HXM9\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380725_rerum\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380725_rerum/comments/8o/ratione_blanditiis_quis_esse_nulla/\", \"locked\": false, \"name\": \"t3_8o\", \"created\": 1542380729.0, \"url\": \"http://reddit.local/r/1542380725_rerum/comments/8o/ratione_blanditiis_quis_esse_nulla/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Ratione blanditiis quis esse nulla.\", \"created_utc\": 1542380729.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1749" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "283.0" - ], - "x-ratelimit-reset": [ - "258" - ], - "x-ratelimit-used": [ - "17" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=TkuXUVcdS2W98cC87tb1vNKDoKfD1QVX%2BLqpxGo6TsVawW%2FodiIW9O7H85%2FIhE7im0SWevfyOP5dh5Ldt4dYBDyiQc8IeIvQ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8o/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2296-f7wAfsgNZkC2SLfv-RgWSjBCvgY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=dVgS70Hm0lEamWIek5; loidcreated=2018-11-16T15%3A05%3A22.074Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380725_rerum/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5n\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380725_rerum\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDebitis totam iure sapiente nam. Laboriosam omnis eos voluptate cum consectetur. Iste omnis repellat porro. Suscipit illo in eligendi doloremque id.\\nAccusantium doloremque assumenda ratione dolor dolorem autem similique. Vero harum excepturi sed. Ullam beatae occaecati quae totam accusamus maxime. Iure quo unde soluta facere asperiores nam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Eaque illum velit sint repudiandae.\", \"collapse_deleted_comments\": false, \"public_description\": \"Quam aliquid sunt odio repellendus sapiente.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuam aliquid sunt odio repellendus sapiente.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Debitis totam iure sapiente nam. Laboriosam omnis eos voluptate cum consectetur. Iste omnis repellat porro. Suscipit illo in eligendi doloremque id.\\nAccusantium doloremque assumenda ratione dolor dolorem autem similique. Vero harum excepturi sed. Ullam beatae occaecati quae totam accusamus maxime. Iure quo unde soluta facere asperiores nam.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5n\", \"created\": 1542380725.0, \"url\": \"/r/1542380725_rerum/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380725.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2128" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "282.0" - ], - "x-ratelimit-reset": [ - "258" - ], - "x-ratelimit-used": [ - "18" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=tNlsuvV5t91AEg08vNZiTNo925%2B1IaVHhFZG21YsLbJuPHhBxApsNYOEExxk05FpFIzJ9A185wU2LbKLG6hslqzEbX0DzKAQ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380725_rerum/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.frontpage_test.test_frontpage[True].json b/cassettes/channels.views.frontpage_test.test_frontpage[True].json deleted file mode 100644 index a60ca2be2d..0000000000 --- a/cassettes/channels.views.frontpage_test.test_frontpage[True].json +++ /dev/null @@ -1,1943 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:04:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGVCCTWQ93NX53PF269VQB" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NsQ6CMBRFf4W80WiC1Zjgpi7GGhciQZYGyiOtRKAtgsX471LZHO/NPee+IeUcjWFtXWIFWw8ICdaLsCInZP45okLEgwqeR/uI7L5Qqoe5B/hqpEbDpCNWG98fu5+AtbZBZ8kw1ajd1vB6qmYuaSxGUPzdsThcdknSqETf7lm2a/WV9sOBXGjpoBw7yZHJ3JmnAJ8veefAC7oAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:04:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=c23rYIuUr6uyVTh9sy; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:04:59 GMT", - "loidcreated=2018-11-16T15%3A04%3A58.897Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:04:59 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGVCCTWQ93NX53PF269VQB" - } - }, - { - "recorded_at": "2018-11-16T15:05:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGVFQGZPFMTPY4SZD0YZNB" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIysjTVNcp1z8kKiAg1yHOvCgo38UgJKqjK8tPN9QhJV9JRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9Csy/L0cY+KSAp2LXAOyzbySDaOLI3yDSlyLy0LBWlKSS3LTE6Nz0wBmQzhKNUCAM2PAlm6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGVFQGZPFMTPY4SZD0YZNB" - } - }, - { - "recorded_at": "2018-11-16T15:05:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Eaque+nihil+cum+tenetur+impedit+omnis.+Asperiores+culpa+asperiores+blanditiis.+Quos+suscipit+ex+excepturi+fuga+nemo+et.%0AQuasi+a+sunt+dicta+eaque+minus+delectus.+Veritatis+odit+quibusdam+earum+laboriosam.+Hic+doloremque+distinctio+labore+unde+consectetur+debitis.+Quos+officiis+earum+beatae+nam+magnam+atque+rem.%0AAliquam+placeat+aliquid+sint+laborum.+Iste+vero+quasi+qui+vel.+Quae+dolore+sed+provident.+Officiis+dolor+beatae+dolorem+commodi.&link_type=any&name=1542380702_adipisci&public_description=Optio+quo+qui+unde+sint+ipsam+blanditiis.&title=Quasi+harum+sit+inventore+esse+amet+esse.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2295-2mGljPXU0nGzRW4HdRpzjN-mHTg" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "664" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "298" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CWEGVCCTWQ93NX53PF269VQB&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2295-2mGljPXU0nGzRW4HdRpzjN-mHTg" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542380702_adipisci/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "295" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380702_adipisci/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542380702_adipisci" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2294-Sn2Je_0LVKhhXzq9uHymVyBfqqw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "78" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "295" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380702_adipisci&text=Quibusdam+amet+magni+quibusdam+perspiciatis.+Perferendis+cumque+consequatur+atque+nihil+a.&title=Accusamus+animi+distinctio+ducimus+eos." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2294-Sn2Je_0LVKhhXzq9uHymVyBfqqw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "219" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380702_adipisci/comments/8k/accusamus_animi_distinctio_ducimus_eos/\", \"id\": \"8k\", \"name\": \"t3_8k\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "168" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "295" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2294-Sn2Je_0LVKhhXzq9uHymVyBfqqw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8k/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380702_adipisci\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuibusdam amet magni quibusdam perspiciatis. Perferendis cumque consequatur atque nihil a.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quibusdam amet magni quibusdam perspiciatis. Perferendis cumque consequatur atque nihil a.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8k\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGVCCTWQ93NX53PF269VQB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380702_adipisci\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5m\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380702_adipisci/comments/8k/accusamus_animi_distinctio_ducimus_eos/\", \"locked\": false, \"name\": \"t3_8k\", \"created\": 1542380705.0, \"url\": \"http://reddit.local/r/1542380702_adipisci/comments/8k/accusamus_animi_distinctio_ducimus_eos/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Accusamus animi distinctio ducimus eos.\", \"created_utc\": 1542380705.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1773" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "294" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=HYGG%2BUoNDQkFaKU%2BxtHgzUhNRe67xCux3L8cLAdBlVaE7qWNwwwTe%2F%2BT4T2WdqqHDOEtpRItrxEAXyYhA2juDrEwA91xP3dK" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8k/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380702_adipisci&text=Eveniet+architecto+officia+veniam+suscipit.+Officia+nulla+nostrum+eveniet+ad+voluptatibus+deserunt.&title=Quia+nulla+fugiat+reiciendis+facere+cum+ipsum." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2294-Sn2Je_0LVKhhXzq9uHymVyBfqqw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "235" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380702_adipisci/comments/8l/quia_nulla_fugiat_reiciendis_facere_cum_ipsum/\", \"id\": \"8l\", \"name\": \"t3_8l\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "175" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:09 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "291" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2294-Sn2Je_0LVKhhXzq9uHymVyBfqqw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8l/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380702_adipisci\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEveniet architecto officia veniam suscipit. Officia nulla nostrum eveniet ad voluptatibus deserunt.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Eveniet architecto officia veniam suscipit. Officia nulla nostrum eveniet ad voluptatibus deserunt.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8l\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGVCCTWQ93NX53PF269VQB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380702_adipisci\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5m\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380702_adipisci/comments/8l/quia_nulla_fugiat_reiciendis_facere_cum_ipsum/\", \"locked\": false, \"name\": \"t3_8l\", \"created\": 1542380709.0, \"url\": \"http://reddit.local/r/1542380702_adipisci/comments/8l/quia_nulla_fugiat_reiciendis_facere_cum_ipsum/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quia nulla fugiat reiciendis facere cum ipsum.\", \"created_utc\": 1542380709.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1812" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:09 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "291" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=wD%2BF6RDEeGpaKOkj6OFBFUI4E22g%2FKMbJt0DURpBWPLshaNAo26AMTnUXeCnvpIBpMNwILob7BCOXCq%2FyrO80K7bBIUzbOsp" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8l/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:12", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380702_adipisci&text=Ratione+ipsum+voluptatum+molestiae+consectetur.+Repudiandae+recusandae+dolor+eveniet+alias.&title=Cupiditate+ea+vel+at+dolorem+non." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2294-Sn2Je_0LVKhhXzq9uHymVyBfqqw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "214" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380702_adipisci/comments/8m/cupiditate_ea_vel_at_dolorem_non/\", \"id\": \"8m\", \"name\": \"t3_8m\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "162" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:12 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "288" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:12", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2294-Sn2Je_0LVKhhXzq9uHymVyBfqqw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8m/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380702_adipisci\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ERatione ipsum voluptatum molestiae consectetur. Repudiandae recusandae dolor eveniet alias.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Ratione ipsum voluptatum molestiae consectetur. Repudiandae recusandae dolor eveniet alias.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8m\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGVCCTWQ93NX53PF269VQB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380702_adipisci\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5m\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380702_adipisci/comments/8m/cupiditate_ea_vel_at_dolorem_non/\", \"locked\": false, \"name\": \"t3_8m\", \"created\": 1542380712.0, \"url\": \"http://reddit.local/r/1542380702_adipisci/comments/8m/cupiditate_ea_vel_at_dolorem_non/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Cupiditate ea vel at dolorem non.\", \"created_utc\": 1542380712.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1757" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:12 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "288" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=woK9rF8PqCU7y6bpSVa9NlT%2B6j%2BY8etLaa8Rp2BY339xR9pf7nhZZxF%2BqAZvNBIS9WSYsIiHPtPt%2FQVRgZSVhGlchRdYImO%2B" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8m/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380702_adipisci&text=Eligendi+ex+excepturi+suscipit.+Harum+quisquam+alias+incidunt+libero+aspernatur.&title=Nisi+voluptatem+eius+harum+ad+quibusdam+at." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2294-Sn2Je_0LVKhhXzq9uHymVyBfqqw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "213" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380702_adipisci/comments/8n/nisi_voluptatem_eius_harum_ad_quibusdam_at/\", \"id\": \"8n\", \"name\": \"t3_8n\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "285" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2294-Sn2Je_0LVKhhXzq9uHymVyBfqqw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8n/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380702_adipisci\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEligendi ex excepturi suscipit. Harum quisquam alias incidunt libero aspernatur.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Eligendi ex excepturi suscipit. Harum quisquam alias incidunt libero aspernatur.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8n\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGVCCTWQ93NX53PF269VQB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380702_adipisci\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5m\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380702_adipisci/comments/8n/nisi_voluptatem_eius_harum_ad_quibusdam_at/\", \"locked\": false, \"name\": \"t3_8n\", \"created\": 1542380715.0, \"url\": \"http://reddit.local/r/1542380702_adipisci/comments/8n/nisi_voluptatem_eius_harum_ad_quibusdam_at/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Nisi voluptatem eius harum ad quibusdam at.\", \"created_utc\": 1542380715.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1765" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "285" - ], - "x-ratelimit-used": [ - "9" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=at6y%2BJZVKK%2FMyB0YTG7ZhQGJjI3qMNLQBsu5UIu%2BrKCqkrMZETd3F9Q3C8QKF1O3CROE3aBmpKlpKmpSWjogMDLRcNJrYGJz" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8n/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2294-Sn2Je_0LVKhhXzq9uHymVyBfqqw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/hot?count=0&limit=25&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380702_adipisci\", \"subreddit\": \"1542380702_adipisci\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEligendi ex excepturi suscipit. Harum quisquam alias incidunt libero aspernatur.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Eligendi ex excepturi suscipit. Harum quisquam alias incidunt libero aspernatur.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8n\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGVCCTWQ93NX53PF269VQB\", \"media\": null, \"name\": \"t3_8n\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5m\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380702_adipisci/comments/8n/nisi_voluptatem_eius_harum_ad_quibusdam_at/\", \"locked\": false, \"stickied\": false, \"created\": 1542380715.0, \"url\": \"http://reddit.local/r/1542380702_adipisci/comments/8n/nisi_voluptatem_eius_harum_ad_quibusdam_at/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Nisi voluptatem eius harum ad quibusdam at.\", \"created_utc\": 1542380715.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380702_adipisci\", \"subreddit\": \"1542380702_adipisci\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ERatione ipsum voluptatum molestiae consectetur. Repudiandae recusandae dolor eveniet alias.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Ratione ipsum voluptatum molestiae consectetur. Repudiandae recusandae dolor eveniet alias.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8m\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGVCCTWQ93NX53PF269VQB\", \"media\": null, \"name\": \"t3_8m\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5m\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380702_adipisci/comments/8m/cupiditate_ea_vel_at_dolorem_non/\", \"locked\": false, \"stickied\": false, \"created\": 1542380712.0, \"url\": \"http://reddit.local/r/1542380702_adipisci/comments/8m/cupiditate_ea_vel_at_dolorem_non/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Cupiditate ea vel at dolorem non.\", \"created_utc\": 1542380712.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380702_adipisci\", \"subreddit\": \"1542380702_adipisci\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEveniet architecto officia veniam suscipit. Officia nulla nostrum eveniet ad voluptatibus deserunt.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Eveniet architecto officia veniam suscipit. Officia nulla nostrum eveniet ad voluptatibus deserunt.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8l\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGVCCTWQ93NX53PF269VQB\", \"media\": null, \"name\": \"t3_8l\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5m\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380702_adipisci/comments/8l/quia_nulla_fugiat_reiciendis_facere_cum_ipsum/\", \"locked\": false, \"stickied\": false, \"created\": 1542380709.0, \"url\": \"http://reddit.local/r/1542380702_adipisci/comments/8l/quia_nulla_fugiat_reiciendis_facere_cum_ipsum/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quia nulla fugiat reiciendis facere cum ipsum.\", \"created_utc\": 1542380709.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380702_adipisci\", \"subreddit\": \"1542380702_adipisci\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuibusdam amet magni quibusdam perspiciatis. Perferendis cumque consequatur atque nihil a.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quibusdam amet magni quibusdam perspiciatis. Perferendis cumque consequatur atque nihil a.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8k\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGVCCTWQ93NX53PF269VQB\", \"media\": null, \"name\": \"t3_8k\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5m\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380702_adipisci/comments/8k/accusamus_animi_distinctio_ducimus_eos/\", \"locked\": false, \"stickied\": false, \"created\": 1542380705.0, \"url\": \"http://reddit.local/r/1542380702_adipisci/comments/8k/accusamus_animi_distinctio_ducimus_eos/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Accusamus animi distinctio ducimus eos.\", \"created_utc\": 1542380705.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "6362" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "282" - ], - "x-ratelimit-used": [ - "10" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=jIkMoZ1nOOssERw%2Fq9G6ujz0FkQSvHR2qJb3Xg3V9055Pz%2B1cTwBrnj9yQG9tKPZ8yM7DOYfuQNoziHBZMUEw7zafT9JqBsM" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/hot?count=0&limit=25&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2294-Sn2Je_0LVKhhXzq9uHymVyBfqqw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8n/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380702_adipisci\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEligendi ex excepturi suscipit. Harum quisquam alias incidunt libero aspernatur.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Eligendi ex excepturi suscipit. Harum quisquam alias incidunt libero aspernatur.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8n\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGVCCTWQ93NX53PF269VQB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380702_adipisci\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5m\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380702_adipisci/comments/8n/nisi_voluptatem_eius_harum_ad_quibusdam_at/\", \"locked\": false, \"name\": \"t3_8n\", \"created\": 1542380715.0, \"url\": \"http://reddit.local/r/1542380702_adipisci/comments/8n/nisi_voluptatem_eius_harum_ad_quibusdam_at/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Nisi voluptatem eius harum ad quibusdam at.\", \"created_utc\": 1542380715.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1765" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "289.0" - ], - "x-ratelimit-reset": [ - "282" - ], - "x-ratelimit-used": [ - "11" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Z37buuemPPl0CK5WLRa60nJ%2B70Yvst%2FE30n5MQ%2FE2XOCrrGFIK1v1GdDCqpegUHozCXgMECOMygbqFCOQmtgYpkHHOPj8ip6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8n/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2294-Sn2Je_0LVKhhXzq9uHymVyBfqqw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380702_adipisci/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5m\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380702_adipisci\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEaque nihil cum tenetur impedit omnis. Asperiores culpa asperiores blanditiis. Quos suscipit ex excepturi fuga nemo et.\\nQuasi a sunt dicta eaque minus delectus. Veritatis odit quibusdam earum laboriosam. Hic doloremque distinctio labore unde consectetur debitis. Quos officiis earum beatae nam magnam atque rem.\\nAliquam placeat aliquid sint laborum. Iste vero quasi qui vel. Quae dolore sed provident. Officiis dolor beatae dolorem commodi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Quasi harum sit inventore esse amet esse.\", \"collapse_deleted_comments\": false, \"public_description\": \"Optio quo qui unde sint ipsam blanditiis.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOptio quo qui unde sint ipsam blanditiis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Eaque nihil cum tenetur impedit omnis. Asperiores culpa asperiores blanditiis. Quos suscipit ex excepturi fuga nemo et.\\nQuasi a sunt dicta eaque minus delectus. Veritatis odit quibusdam earum laboriosam. Hic doloremque distinctio labore unde consectetur debitis. Quos officiis earum beatae nam magnam atque rem.\\nAliquam placeat aliquid sint laborum. Iste vero quasi qui vel. Quae dolore sed provident. Officiis dolor beatae dolorem commodi.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5m\", \"created\": 1542380702.0, \"url\": \"/r/1542380702_adipisci/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380702.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2332" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "288.0" - ], - "x-ratelimit-reset": [ - "282" - ], - "x-ratelimit-used": [ - "12" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=BooHES%2BLPoQAFASgX6w6mHIZB7wNJBJIiBEWA4UIdyZadQWTs9CioQHuNwYEvCPD6Ehf6D5TOFynTA9vSuKvSpuPF%2FAxs2Ck" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380702_adipisci/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2294-Sn2Je_0LVKhhXzq9uHymVyBfqqw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8m/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380702_adipisci\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ERatione ipsum voluptatum molestiae consectetur. Repudiandae recusandae dolor eveniet alias.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Ratione ipsum voluptatum molestiae consectetur. Repudiandae recusandae dolor eveniet alias.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8m\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGVCCTWQ93NX53PF269VQB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380702_adipisci\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5m\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380702_adipisci/comments/8m/cupiditate_ea_vel_at_dolorem_non/\", \"locked\": false, \"name\": \"t3_8m\", \"created\": 1542380712.0, \"url\": \"http://reddit.local/r/1542380702_adipisci/comments/8m/cupiditate_ea_vel_at_dolorem_non/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Cupiditate ea vel at dolorem non.\", \"created_utc\": 1542380712.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1757" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "287.0" - ], - "x-ratelimit-reset": [ - "282" - ], - "x-ratelimit-used": [ - "13" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=pe1TTkBdPRJH2C7p0vPOqbEjpFNsGttsh8ZyZnRK74tCf%2BnXw42Majopcl8H1ynRiMRDzfzt6MrMHlXd%2FM88ZpnamHv3TKsY" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8m/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2294-Sn2Je_0LVKhhXzq9uHymVyBfqqw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380702_adipisci/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5m\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380702_adipisci\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEaque nihil cum tenetur impedit omnis. Asperiores culpa asperiores blanditiis. Quos suscipit ex excepturi fuga nemo et.\\nQuasi a sunt dicta eaque minus delectus. Veritatis odit quibusdam earum laboriosam. Hic doloremque distinctio labore unde consectetur debitis. Quos officiis earum beatae nam magnam atque rem.\\nAliquam placeat aliquid sint laborum. Iste vero quasi qui vel. Quae dolore sed provident. Officiis dolor beatae dolorem commodi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Quasi harum sit inventore esse amet esse.\", \"collapse_deleted_comments\": false, \"public_description\": \"Optio quo qui unde sint ipsam blanditiis.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOptio quo qui unde sint ipsam blanditiis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Eaque nihil cum tenetur impedit omnis. Asperiores culpa asperiores blanditiis. Quos suscipit ex excepturi fuga nemo et.\\nQuasi a sunt dicta eaque minus delectus. Veritatis odit quibusdam earum laboriosam. Hic doloremque distinctio labore unde consectetur debitis. Quos officiis earum beatae nam magnam atque rem.\\nAliquam placeat aliquid sint laborum. Iste vero quasi qui vel. Quae dolore sed provident. Officiis dolor beatae dolorem commodi.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5m\", \"created\": 1542380702.0, \"url\": \"/r/1542380702_adipisci/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380702.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2332" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "286.0" - ], - "x-ratelimit-reset": [ - "282" - ], - "x-ratelimit-used": [ - "14" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Tt04GyY0BB8wsk6gFyM75Y6z%2Bb1RIeHy%2BPQlEfsrHFsOd8DVKCt31DLaAcwq6L29SvriF4L1Zl1XUnnJ64H%2BMCZTjMMzeMCv" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380702_adipisci/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2294-Sn2Je_0LVKhhXzq9uHymVyBfqqw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8l/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380702_adipisci\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEveniet architecto officia veniam suscipit. Officia nulla nostrum eveniet ad voluptatibus deserunt.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Eveniet architecto officia veniam suscipit. Officia nulla nostrum eveniet ad voluptatibus deserunt.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8l\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGVCCTWQ93NX53PF269VQB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380702_adipisci\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5m\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380702_adipisci/comments/8l/quia_nulla_fugiat_reiciendis_facere_cum_ipsum/\", \"locked\": false, \"name\": \"t3_8l\", \"created\": 1542380709.0, \"url\": \"http://reddit.local/r/1542380702_adipisci/comments/8l/quia_nulla_fugiat_reiciendis_facere_cum_ipsum/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quia nulla fugiat reiciendis facere cum ipsum.\", \"created_utc\": 1542380709.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1812" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "285.0" - ], - "x-ratelimit-reset": [ - "282" - ], - "x-ratelimit-used": [ - "15" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=QHjc3B579P9yUkjTzXYni10rD%2BqSEaRLO%2BHbRji%2BXBxwNAVbCLvSKnsMTe7rYtJ3AEcE8Kxjh7mIn7zxfxW%2Br2iofLiVmH0T" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8l/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2294-Sn2Je_0LVKhhXzq9uHymVyBfqqw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380702_adipisci/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5m\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380702_adipisci\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEaque nihil cum tenetur impedit omnis. Asperiores culpa asperiores blanditiis. Quos suscipit ex excepturi fuga nemo et.\\nQuasi a sunt dicta eaque minus delectus. Veritatis odit quibusdam earum laboriosam. Hic doloremque distinctio labore unde consectetur debitis. Quos officiis earum beatae nam magnam atque rem.\\nAliquam placeat aliquid sint laborum. Iste vero quasi qui vel. Quae dolore sed provident. Officiis dolor beatae dolorem commodi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Quasi harum sit inventore esse amet esse.\", \"collapse_deleted_comments\": false, \"public_description\": \"Optio quo qui unde sint ipsam blanditiis.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOptio quo qui unde sint ipsam blanditiis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Eaque nihil cum tenetur impedit omnis. Asperiores culpa asperiores blanditiis. Quos suscipit ex excepturi fuga nemo et.\\nQuasi a sunt dicta eaque minus delectus. Veritatis odit quibusdam earum laboriosam. Hic doloremque distinctio labore unde consectetur debitis. Quos officiis earum beatae nam magnam atque rem.\\nAliquam placeat aliquid sint laborum. Iste vero quasi qui vel. Quae dolore sed provident. Officiis dolor beatae dolorem commodi.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5m\", \"created\": 1542380702.0, \"url\": \"/r/1542380702_adipisci/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380702.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2332" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "284.0" - ], - "x-ratelimit-reset": [ - "282" - ], - "x-ratelimit-used": [ - "16" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=4lCNCDZWETAPxDDChb8lbLlxWb%2Bs24F67yY2j7s%2FhRlBXdx3Hz1qlDBog6M%2B3M93uxpBg3ObJ8psOIlISkd0eeB%2FtW45Zxna" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380702_adipisci/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2294-Sn2Je_0LVKhhXzq9uHymVyBfqqw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8k/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380702_adipisci\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuibusdam amet magni quibusdam perspiciatis. Perferendis cumque consequatur atque nihil a.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quibusdam amet magni quibusdam perspiciatis. Perferendis cumque consequatur atque nihil a.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8k\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGVCCTWQ93NX53PF269VQB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380702_adipisci\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5m\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380702_adipisci/comments/8k/accusamus_animi_distinctio_ducimus_eos/\", \"locked\": false, \"name\": \"t3_8k\", \"created\": 1542380705.0, \"url\": \"http://reddit.local/r/1542380702_adipisci/comments/8k/accusamus_animi_distinctio_ducimus_eos/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Accusamus animi distinctio ducimus eos.\", \"created_utc\": 1542380705.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1773" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "283.0" - ], - "x-ratelimit-reset": [ - "282" - ], - "x-ratelimit-used": [ - "17" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=7VyYBGAB3LvdAm%2FtgNNBqX2ulaWwiuy9NQsR4CEroGnQXk66eE3TsEHEH%2BC%2Fw3WtSTQFAU1AaIo7e4XJyyyxrPQTE8kmPvD%2F" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8k/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2294-Sn2Je_0LVKhhXzq9uHymVyBfqqw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=c23rYIuUr6uyVTh9sy; loidcreated=2018-11-16T15%3A04%3A58.897Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380702_adipisci/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5m\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380702_adipisci\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEaque nihil cum tenetur impedit omnis. Asperiores culpa asperiores blanditiis. Quos suscipit ex excepturi fuga nemo et.\\nQuasi a sunt dicta eaque minus delectus. Veritatis odit quibusdam earum laboriosam. Hic doloremque distinctio labore unde consectetur debitis. Quos officiis earum beatae nam magnam atque rem.\\nAliquam placeat aliquid sint laborum. Iste vero quasi qui vel. Quae dolore sed provident. Officiis dolor beatae dolorem commodi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Quasi harum sit inventore esse amet esse.\", \"collapse_deleted_comments\": false, \"public_description\": \"Optio quo qui unde sint ipsam blanditiis.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOptio quo qui unde sint ipsam blanditiis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Eaque nihil cum tenetur impedit omnis. Asperiores culpa asperiores blanditiis. Quos suscipit ex excepturi fuga nemo et.\\nQuasi a sunt dicta eaque minus delectus. Veritatis odit quibusdam earum laboriosam. Hic doloremque distinctio labore unde consectetur debitis. Quos officiis earum beatae nam magnam atque rem.\\nAliquam placeat aliquid sint laborum. Iste vero quasi qui vel. Quae dolore sed provident. Officiis dolor beatae dolorem commodi.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5m\", \"created\": 1542380702.0, \"url\": \"/r/1542380702_adipisci/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380702.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2332" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "282.0" - ], - "x-ratelimit-reset": [ - "282" - ], - "x-ratelimit-used": [ - "18" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=iHjL2JvfAZC0bHxE5mDDSIxvOfex52EcOuXprX9GTz1RjinctyqxlbQswc6kF6MgAysxITxh71XI%2F7lky%2BuA9KfCXC8QBQ%2Bj" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380702_adipisci/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.frontpage_test.test_frontpage_anonymous.json b/cassettes/channels.views.frontpage_test.test_frontpage_anonymous.json deleted file mode 100644 index 31ce53328c..0000000000 --- a/cassettes/channels.views.frontpage_test.test_frontpage_anonymous.json +++ /dev/null @@ -1,335 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:00:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHG3XBQCJHJ0STDEMWYXDH" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDK0MNO1iHRPDshLzjSwyHKLcvN2yskv8Q31Ngz1y8hX0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYZ+5p6BCeWphhH5oaYm1YEFvsbmTqHmKX4JluA9KSklmUmp8ZnpoAMhnCUagGEp0AUuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=ciC7RvUYQtgvMjmyl9; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:00:21 GMT", - "loidcreated=2018-08-24T18%3A00%3A21.113Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:00:21 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHG3XBQCJHJ0STDEMWYXDH" - } - }, - { - "recorded_at": "2018-08-24T18:00:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Ex+modi+itaque+placeat+quia.+Impedit+quasi+eos+vel+voluptates+ipsum.+Laboriosam+quas+atque+fugit+praesentium+occaecati+eum+eveniet+laboriosam.%0AEnim+iusto+minima+ipsa.+Unde+molestias+ratione+fugit+aliquid+nam.+Error+quae+ipsa+recusandae+totam+quas.+Vel+consectetur+inventore+repudiandae+aliquam+voluptatum+corrupti+accusantium.+Aut+ex+iste+vero+similique.&link_type=any&name=1535133621_occaecati&public_description=Nobis+dignissimos+ipsa+aliquid+quia+repudiandae.+Impedit+est+placeat+earum+dolorum.&title=Qui+sit+aut+tenetur+esse+fuga.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 186-8YGcPnci08jFZFKBlotMUK1UNho" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "607" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ciC7RvUYQtgvMjmyl9; loidcreated=2018-08-24T18%3A00%3A21.113Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "579" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:00:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=client_credentials" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic b2RfY2xpZW50X2lkOm9kX2NsaWVudF9zZWNyZXQ=" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "29" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ciC7RvUYQtgvMjmyl9; loidcreated=2018-08-24T18%3A00%3A21.113Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"-ok4qid0vXpj8GVxyT1p7TsmPcwU\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "106" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299" - ], - "x-ratelimit-reset": [ - "576" - ], - "x-ratelimit-used": [ - "1" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2018-08-24T18:00:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer -ok4qid0vXpj8GVxyT1p7TsmPcwU" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ciC7RvUYQtgvMjmyl9; loidcreated=2018-08-24T18%3A00%3A21.113Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/hot?count=0&limit=25&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": \"\", \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.nathan\", \"subreddit\": \"nathan\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"2\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CKX54WR918VQV2VNJB638NJX\", \"media\": null, \"name\": \"t3_2\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/nathan/comments/2/test_post/\", \"locked\": false, \"stickied\": false, \"created\": 1533208596.0, \"url\": \"http://reddit.local/r/nathan/comments/2/test_post/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"test post\", \"created_utc\": 1533208596.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.test1\", \"subreddit\": \"test1\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Eblah blah blah\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"blah blah blah\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_1\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/test1/comments/1/blah_blah_blah/\", \"locked\": false, \"stickied\": false, \"created\": 1533142246.0, \"url\": \"http://reddit.local/r/test1/comments/1/blah_blah_blah/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"blah blah blah\", \"created_utc\": 1533142246.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2466" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298" - ], - "x-ratelimit-reset": [ - "576" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=2WNbMdGGVt7Sc%2B1BfQ0FQuRfl4WNZZBX9JJpYWV%2B9GMF3J6DpFDzvKReQAiOtyjJWmC05qrgOqY%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/hot?count=0&limit=25&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.frontpage_test.test_frontpage_empty.json b/cassettes/channels.views.frontpage_test.test_frontpage_empty.json deleted file mode 100644 index c491837010..0000000000 --- a/cassettes/channels.views.frontpage_test.test_frontpage_empty.json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-13T20:11:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=george" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA02NwQ6CMBBEf4X0aDRBS0j1JoGriQesemlgWWxDIqRFkRr/XVYuHudl3sybFQDonOrbBu9sFzCxWvtNJsVwLq9GVopDXh9QwKC7R8SWAcNXZyw6ZajO4zCc2M9W/dghTZRYWLTUddDOaEHJYj2J+v8rihs45vI2yizt/dZzvT9Ndz5NLmRU+DSAylQ0Owf2+QIFCbuTtAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 13 Nov 2017 20:11:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=6rUaRcFAwPZPj6lrzv; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 13-Nov-2019 20:11:05 GMT", - "loidcreated=2017-11-13T20%3A11%3A05.941Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 13-Nov-2019 20:11:05 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=george" - } - }, - { - "recorded_at": "2017-11-13T20:11:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 8-1z2EW8wXbZiWd_3cUfNe8cwhpu4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=6rUaRcFAwPZPj6lrzv; loidcreated=2017-11-13T20%3A11%3A05.941Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/hot?count=0&limit=25&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "93" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 13 Nov 2017 20:11:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "535" - ], - "x-ratelimit-used": [ - "1" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=YzFF6xDsiLSGtAqHi0U0NoYWDo%2BDq8xo8x4bkXKtLOf1XPiJaSdiAGCly4tpZghaAqF99fSgxf6tND%2Bgn%2BCLj5t0smj1SoEt" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/hot?count=0&limit=25&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.frontpage_test.test_frontpage_pagination[params0-expected0].json b/cassettes/channels.views.frontpage_test.test_frontpage_pagination[params0-expected0].json deleted file mode 100644 index 0c91375429..0000000000 --- a/cassettes/channels.views.frontpage_test.test_frontpage_pagination[params0-expected0].json +++ /dev/null @@ -1,246 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-10-06T16:32:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01BV2FFY6JKZ4A420B424G6V7E" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WOywrCMBREf6VkKRZaqmJdql2EgCB24yrE2yuJfSQkqQ/EfzexK5czzJmZNxEA6Bz3usWBbBKS52WKKTtDJ053BbJVlHFf6n7LerrUZJ4QfBpl0XEVgWKVZcH78dy/DMaSCwqLNmYd6MmaRWXxGkD5v1aLyoA4VrQY6wOOaTfI3Vrs7W3xiEyD4QZy1cTiSZDPF5gl/YC4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 16:32:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=5szbqpBosYGIa6xJeb; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 06-Oct-2019 16:32:05 GMT", - "loidcreated=2017-10-06T16%3A32%3A05.435Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 06-Oct-2019 16:32:05 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01BV2FFY6JKZ4A420B424G6V7E" - } - }, - { - "recorded_at": "2017-10-06T16:32:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=refresh_token&refresh_token=119-TaEpcaQEI3uTNeu-lnhC8aDrj4w" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic a0FTa3pjWi1sNE9GZ2c6TU53LXlnM3ZlaVRBTS1vdmlvYzhZTjJpN2dn" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "70" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=5szbqpBosYGIa6xJeb; loidcreated=2017-10-06T16%3A32%3A05.435Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"119-2y-yUVDL36KlY3gq_kHJe0DYWZ8\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "109" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 16:32:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299" - ], - "x-ratelimit-reset": [ - "475" - ], - "x-ratelimit-used": [ - "1" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2017-10-06T16:32:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 119-2y-yUVDL36KlY3gq_kHJe0DYWZ8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=5szbqpBosYGIa6xJeb; loidcreated=2017-10-06T16%3A32%3A05.435Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/hot?count=0&limit=5&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.micromasters\", \"subreddit\": \"micromasters\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Etestst\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"testst\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"k\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BV2FFY6JKZ4A420B424G6V7E\", \"media\": null, \"name\": \"t3_k\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/micromasters/comments/k/test2/\", \"locked\": false, \"stickied\": false, \"created\": 1507293335.0, \"url\": \"http://reddit.local/r/micromasters/comments/k/test2/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"test2\", \"created_utc\": 1507293335.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.dianne\", \"subreddit\": \"dianne\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Etest1\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"test1\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"h\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BV2FFY6JKZ4A420B424G6V7E\", \"media\": null, \"name\": \"t3_h\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/dianne/comments/h/test1/\", \"locked\": false, \"stickied\": false, \"created\": 1506693916.0, \"url\": \"http://reddit.local/r/dianne/comments/h/test1/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"test1\", \"created_utc\": 1506693916.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.test2\", \"subreddit\": \"test2\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Etext content\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"text content\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"a\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BJQMF54D093DXEAWZ6JYRPAQ\", \"media\": null, \"name\": \"t3_a\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/test2/comments/a/test_post_long_un/\", \"locked\": false, \"stickied\": false, \"created\": 1502899434.0, \"url\": \"http://reddit.local/r/test2/comments/a/test_post_long_un/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"test post long UN\", \"created_utc\": 1502899434.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 6, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.test2\", \"subreddit\": \"test2\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Etext content\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"text content\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BJQMF54D093DXEAWZ6JYRPAQ\", \"media\": null, \"name\": \"t3_9\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/test2/comments/9/test_post_long_un/\", \"locked\": false, \"stickied\": false, \"created\": 1502899434.0, \"url\": \"http://reddit.local/r/test2/comments/9/test_post_long_un/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"test post long UN\", \"created_utc\": 1502899434.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.test2\", \"subreddit\": \"test2\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ehello\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"hello\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"3\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_3\", \"score\": 2, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/test2/comments/3/hello/\", \"locked\": false, \"stickied\": false, \"created\": 1501189435.0, \"url\": \"http://reddit.local/r/test2/comments/3/hello/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"hello\", \"created_utc\": 1501189435.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 7, \"visited\": false, \"num_reports\": null, \"ups\": 2}}], \"after\": \"t3_3\", \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "6372" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 16:32:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "475" - ], - "x-ratelimit-used": [ - "1" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=zbVrAnZ3wsbrvMGjYOb8oVKhtfkna0ywfhThEMQT9rq%2ByrIDkNXCkk8nBwaSNu16aBThkFulO2QhjUdIH1vaaGq3Elr%2FHixl" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/hot?limit=5&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} diff --git a/cassettes/channels.views.frontpage_test.test_frontpage_pagination[params1-expected1].json b/cassettes/channels.views.frontpage_test.test_frontpage_pagination[params1-expected1].json deleted file mode 100644 index ddee108c63..0000000000 --- a/cassettes/channels.views.frontpage_test.test_frontpage_pagination[params1-expected1].json +++ /dev/null @@ -1,246 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-10-06T16:36:40", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01BV2FFY6JKZ4A420B424G6V7E" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0tNT1LS9xzAsuyAmJN3R2KXSuNE8NzAstzA/LzclX0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLb5u0YF5VaZ+VqWFrgHmhkYRzqmeBhalkUlmruC9KSklmUmp8ZnpoAMhnCUagG34O7uuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 16:36:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=fDGuFprsNKE3iuscf6; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 06-Oct-2019 16:36:40 GMT", - "loidcreated=2017-10-06T16%3A36%3A40.015Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 06-Oct-2019 16:36:40 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01BV2FFY6JKZ4A420B424G6V7E" - } - }, - { - "recorded_at": "2017-10-06T16:36:40", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=refresh_token&refresh_token=119-OEZRmz6M9upGQ603YAdH19vZa7E" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic a0FTa3pjWi1sNE9GZ2c6TU53LXlnM3ZlaVRBTS1vdmlvYzhZTjJpN2dn" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "70" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=fDGuFprsNKE3iuscf6; loidcreated=2017-10-06T16%3A36%3A40.015Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"119-3m7aKZxA8sZeQrDSlv5ZHDUXaNM\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "109" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 16:36:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296" - ], - "x-ratelimit-reset": [ - "200" - ], - "x-ratelimit-used": [ - "4" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2017-10-06T16:36:40", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 119-3m7aKZxA8sZeQrDSlv5ZHDUXaNM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=fDGuFprsNKE3iuscf6; loidcreated=2017-10-06T16%3A36%3A40.015Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/hot?after=t3_3&count=5&limit=5&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.micromasters\", \"subreddit\": \"micromasters\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Econtent\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"content\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"e\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BSHA77FC4E1FQKNV6C2738FP\", \"media\": null, \"name\": \"t3_e\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/micromasters/comments/e/test_post/\", \"locked\": false, \"stickied\": false, \"created\": 1504899291.0, \"url\": \"http://reddit.local/r/micromasters/comments/e/test_post/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"test post\", \"created_utc\": 1504899291.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 4, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.micromasters\", \"subreddit\": \"micromasters\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Econtent\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"content\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"d\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BSHA77FC4E1FQKNV6C2738FP\", \"media\": null, \"name\": \"t3_d\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/micromasters/comments/d/title/\", \"locked\": false, \"stickied\": false, \"created\": 1504899157.0, \"url\": \"http://reddit.local/r/micromasters/comments/d/title/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"title\", \"created_utc\": 1504899157.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.micromasters\", \"subreddit\": \"micromasters\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Enew post user\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"new post user\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BS9MPD6VYJ925NVESE78FWVB\", \"media\": null, \"name\": \"t3_b\", \"score\": 2, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/micromasters/comments/b/new_post/\", \"locked\": false, \"stickied\": false, \"created\": 1504637024.0, \"url\": \"http://reddit.local/r/micromasters/comments/b/new_post/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"New post\", \"created_utc\": 1504637024.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 3, \"visited\": false, \"num_reports\": null, \"ups\": 2}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"google.com\", \"subreddit\": \"micromasters\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"mitodl\", \"media\": null, \"name\": \"t3_8\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": false, \"hide_score\": false, \"permalink\": \"/r/micromasters/comments/8/google/\", \"locked\": false, \"stickied\": false, \"created\": 1502219629.0, \"url\": \"https://google.com\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"google\", \"created_utc\": 1502219629.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.micromasters\", \"subreddit\": \"micromasters\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Econtent here\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"content here\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"7\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"mitodl\", \"media\": null, \"name\": \"t3_7\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/micromasters/comments/7/text_post/\", \"locked\": false, \"stickied\": false, \"created\": 1502219601.0, \"url\": \"http://reddit.local/r/micromasters/comments/7/text_post/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"text post\", \"created_utc\": 1502219601.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": \"t3_7\", \"before\": \"t3_e\"}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "6263" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 16:36:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "200" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=zvpEJ%2BHi6N4%2FJplokc9oeuNWiHhjXdvfbt9HiOGWv0jbEdVLy%2FVNCFBLycDKpSFcJZjKP4VswF%2BDSxdfBn4TePkMjVSnlQzM" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/hot?after=t3_3&count=5&limit=5&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.frontpage_test.test_frontpage_pagination[params2-expected2].json b/cassettes/channels.views.frontpage_test.test_frontpage_pagination[params2-expected2].json deleted file mode 100644 index ff6139d805..0000000000 --- a/cassettes/channels.views.frontpage_test.test_frontpage_pagination[params2-expected2].json +++ /dev/null @@ -1,246 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-10-06T16:51:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01BV2FFY6JKZ4A420B424G6V7E" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNzQqCQBSFX0XuMhJ0FLF2kQW5iggCNxcd7+ggpM6IFdG7NzdXLc/Pd84bSinJWpz6ju6w9SAMN77J5/F8E89BV3kXjUU8to9OUqTSGNYekAsMWdQMREkQOO/H4/QaiEcqKg0Z7lrZL9aKlSHlwPb/rcnyQ5OQKGe1TzNxiY+IO//qFyfLTE2zloS65uFFwOcLmY5vy7gAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 16:51:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=M9c9RKd54wZrTcpAJu; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 06-Oct-2019 16:51:30 GMT", - "loidcreated=2017-10-06T16%3A51%3A30.086Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 06-Oct-2019 16:51:30 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01BV2FFY6JKZ4A420B424G6V7E" - } - }, - { - "recorded_at": "2017-10-06T16:51:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=refresh_token&refresh_token=119-gDJEg6e2avfC8D2R4F__A-T-ZIs" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic a0FTa3pjWi1sNE9GZ2c6TU53LXlnM3ZlaVRBTS1vdmlvYzhZTjJpN2dn" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "70" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=M9c9RKd54wZrTcpAJu; loidcreated=2017-10-06T16%3A51%3A30.086Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"119-1-fu67Y_Ov0gBwrRhnYxBoWChM4\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "109" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 16:51:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299" - ], - "x-ratelimit-reset": [ - "510" - ], - "x-ratelimit-used": [ - "1" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2017-10-06T16:51:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 119-1-fu67Y_Ov0gBwrRhnYxBoWChM4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=M9c9RKd54wZrTcpAJu; loidcreated=2017-10-06T16%3A51%3A30.086Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/hot?after=t3_a&count=3&limit=5&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.test2\", \"subreddit\": \"test2\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Etext content\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"text content\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BJQMF54D093DXEAWZ6JYRPAQ\", \"media\": null, \"name\": \"t3_9\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/test2/comments/9/test_post_long_un/\", \"locked\": false, \"stickied\": false, \"created\": 1502899434.0, \"url\": \"http://reddit.local/r/test2/comments/9/test_post_long_un/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"test post long UN\", \"created_utc\": 1502899434.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.test2\", \"subreddit\": \"test2\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ehello\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"hello\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"3\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_3\", \"score\": 2, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/test2/comments/3/hello/\", \"locked\": false, \"stickied\": false, \"created\": 1501189435.0, \"url\": \"http://reddit.local/r/test2/comments/3/hello/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"hello\", \"created_utc\": 1501189435.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 7, \"visited\": false, \"num_reports\": null, \"ups\": 2}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.micromasters\", \"subreddit\": \"micromasters\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Econtent\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"content\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"e\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BSHA77FC4E1FQKNV6C2738FP\", \"media\": null, \"name\": \"t3_e\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/micromasters/comments/e/test_post/\", \"locked\": false, \"stickied\": false, \"created\": 1504899291.0, \"url\": \"http://reddit.local/r/micromasters/comments/e/test_post/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"test post\", \"created_utc\": 1504899291.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 4, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.micromasters\", \"subreddit\": \"micromasters\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Econtent\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"content\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"d\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BSHA77FC4E1FQKNV6C2738FP\", \"media\": null, \"name\": \"t3_d\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/micromasters/comments/d/title/\", \"locked\": false, \"stickied\": false, \"created\": 1504899157.0, \"url\": \"http://reddit.local/r/micromasters/comments/d/title/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"title\", \"created_utc\": 1504899157.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.micromasters\", \"subreddit\": \"micromasters\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Enew post user\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"new post user\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BS9MPD6VYJ925NVESE78FWVB\", \"media\": null, \"name\": \"t3_b\", \"score\": 2, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/micromasters/comments/b/new_post/\", \"locked\": false, \"stickied\": false, \"created\": 1504637024.0, \"url\": \"http://reddit.local/r/micromasters/comments/b/new_post/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"New post\", \"created_utc\": 1504637024.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 3, \"visited\": false, \"num_reports\": null, \"ups\": 2}}], \"after\": \"t3_b\", \"before\": \"t3_9\"}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "6419" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 16:51:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "510" - ], - "x-ratelimit-used": [ - "1" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=%2F7mfcsHfbkYdblUPlSYljjv59jHyeUJKljT3RlAYjNjObbsWbJV02pxemF4pFHfLZkY3Jo1O7g7%2BvRqw1DSYFldsBWp%2FX8Vl" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/hot?after=t3_a&count=3&limit=5&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.frontpage_test.test_frontpage_pagination[params3-expected3].json b/cassettes/channels.views.frontpage_test.test_frontpage_pagination[params3-expected3].json deleted file mode 100644 index fd47329bfc..0000000000 --- a/cassettes/channels.views.frontpage_test.test_frontpage_pagination[params3-expected3].json +++ /dev/null @@ -1,246 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-10-06T16:37:46", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01BV2FFY6JKZ4A420B424G6V7E" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0tNQ1KnE1SjXJsIywdAzJz9Yt9g+sKnMJLi8oys1X0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZleLkWlnsmV5TkmyZmxfuWZVcWljuV5EQYFSeD9KSklmUmp8ZnpoAMhnCUagEaN4mxuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 16:37:46 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=AfdxIGAK5IV2jiN7f9; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 06-Oct-2019 16:37:46 GMT", - "loidcreated=2017-10-06T16%3A37%3A46.498Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 06-Oct-2019 16:37:46 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01BV2FFY6JKZ4A420B424G6V7E" - } - }, - { - "recorded_at": "2017-10-06T16:37:46", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=refresh_token&refresh_token=119-hJEqwIcxto5aj_MvkyqwBtlX2sc" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic a0FTa3pjWi1sNE9GZ2c6TU53LXlnM3ZlaVRBTS1vdmlvYzhZTjJpN2dn" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "70" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=AfdxIGAK5IV2jiN7f9; loidcreated=2017-10-06T16%3A37%3A46.498Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"119-Iw0x7u9cYbj6Z9cDA5SHgrn6G8k\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "109" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 16:37:46 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294" - ], - "x-ratelimit-reset": [ - "134" - ], - "x-ratelimit-used": [ - "6" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2017-10-06T16:37:46", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 119-Iw0x7u9cYbj6Z9cDA5SHgrn6G8k" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=AfdxIGAK5IV2jiN7f9; loidcreated=2017-10-06T16%3A37%3A46.498Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/hot?before=t3_e&count=6&limit=5&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.micromasters\", \"subreddit\": \"micromasters\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Etestst\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"testst\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"k\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BV2FFY6JKZ4A420B424G6V7E\", \"media\": null, \"name\": \"t3_k\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/micromasters/comments/k/test2/\", \"locked\": false, \"stickied\": false, \"created\": 1507293335.0, \"url\": \"http://reddit.local/r/micromasters/comments/k/test2/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"test2\", \"created_utc\": 1507293335.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.dianne\", \"subreddit\": \"dianne\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Etest1\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"test1\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"h\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BV2FFY6JKZ4A420B424G6V7E\", \"media\": null, \"name\": \"t3_h\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/dianne/comments/h/test1/\", \"locked\": false, \"stickied\": false, \"created\": 1506693916.0, \"url\": \"http://reddit.local/r/dianne/comments/h/test1/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"test1\", \"created_utc\": 1506693916.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.test2\", \"subreddit\": \"test2\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Etext content\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"text content\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"a\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BJQMF54D093DXEAWZ6JYRPAQ\", \"media\": null, \"name\": \"t3_a\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/test2/comments/a/test_post_long_un/\", \"locked\": false, \"stickied\": false, \"created\": 1502899434.0, \"url\": \"http://reddit.local/r/test2/comments/a/test_post_long_un/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"test post long UN\", \"created_utc\": 1502899434.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 6, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.test2\", \"subreddit\": \"test2\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Etext content\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"text content\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BJQMF54D093DXEAWZ6JYRPAQ\", \"media\": null, \"name\": \"t3_9\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/test2/comments/9/test_post_long_un/\", \"locked\": false, \"stickied\": false, \"created\": 1502899434.0, \"url\": \"http://reddit.local/r/test2/comments/9/test_post_long_un/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"test post long UN\", \"created_utc\": 1502899434.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.test2\", \"subreddit\": \"test2\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ehello\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"hello\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"3\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_3\", \"score\": 2, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/test2/comments/3/hello/\", \"locked\": false, \"stickied\": false, \"created\": 1501189435.0, \"url\": \"http://reddit.local/r/test2/comments/3/hello/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"hello\", \"created_utc\": 1501189435.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 7, \"visited\": false, \"num_reports\": null, \"ups\": 2}}], \"after\": \"t3_3\", \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "6372" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 16:37:46 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "134" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=zigGUh8OAPxhw5AjOCT%2BiKAGJ6yMeHGj%2FckrhooTt7KET9syw%2FsMvppHipN8W%2BNJbR6VvFyi7PpMB6Nddtnu9TXCnh7GSvkD" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/hot?before=t3_e&count=6&limit=5&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.frontpage_test.test_frontpage_sorted[hot].json b/cassettes/channels.views.frontpage_test.test_frontpage_sorted[hot].json deleted file mode 100644 index 7738866d29..0000000000 --- a/cassettes/channels.views.frontpage_test.test_frontpage_sorted[hot].json +++ /dev/null @@ -1,1943 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:05:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGWSH4J6TFRDYGY2HGGV76" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NsQ6CMBRFf4V0NJo0qATcYKkTDhIVlgbKayiikJYgxfjv8mRzvDf3nPsmuRBgDO/bOzzJwSGuG/ibOJftGNysvg5MQrxLG/qwbrJP6xdZOwTGTmkwXCGx9Sidu5+A97YDtBSQa9C4NaJdqhUmDXIGq7+7C4uOodVTU5x9ltWiPiVepqJiCilCJQxKAFclmpdAPl9UMXZXugAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=XDZypMXzl45LukmpTv; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:05:45 GMT", - "loidcreated=2018-11-16T15%3A05%3A45.116Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:05:45 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGWSH4J6TFRDYGY2HGGV76" - } - }, - { - "recorded_at": "2018-11-16T15:05:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGWWS64D5JJQ2PKC2XXV53" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIysrTU9THwNHaL8kws97BM9XWqcHL2SrcoM8lN9PUxUdJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9Csy/Rz9dENLPTIL6kIDsmPDHDSdUrziKgMKS8tBmlKSS3LTE6Nz0wBmQzhKNUCAFDfvVe6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGWWS64D5JJQ2PKC2XXV53" - } - }, - { - "recorded_at": "2018-11-16T15:05:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Id+voluptate+dicta+optio+blanditiis+enim+odit.+Nobis+optio+quas+sit+ipsam+officiis+at+minima+maiores.+Voluptatibus+tempora+quam+rerum+recusandae+modi+deserunt+reiciendis.+Quisquam+non+doloribus+est+dolor+necessitatibus+et.%0AOdit+molestias+praesentium+aliquid+laudantium.+Explicabo+magnam+odio+sequi+tempora+voluptas+maxime.%0AA+nesciunt+ex+repudiandae+culpa+voluptatibus+doloribus+iste.+Ipsa+accusamus+soluta+vel+ea+atque+voluptas+molestias.+Accusantium+eum+quod+magnam+enim+magni+incidunt+id.&link_type=any&name=1542380748_repellat&public_description=Id+ratione+nulla+consectetur.+Quis+dignissimos+ullam+optio+officia.&title=Laborum+odit+soluta+impedit+velit.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2299-L0I3FZIawH9eMBxBCJg8v4maML4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "733" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "252" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CWEGWSH4J6TFRDYGY2HGGV76&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2299-L0I3FZIawH9eMBxBCJg8v4maML4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542380748_repellat/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "249" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380748_repellat/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542380748_repellat" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2298-Nafox9XyrWvGfeN4Yl0my2T5Yjw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "78" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "248" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380748_repellat&text=Corrupti+at+reprehenderit+iste+ut.+Animi+ea+odit+ea.+Suscipit+non+nemo+deleniti+delectus+illo.&title=Molestiae+accusamus+sed+consequuntur+maxime." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2298-Nafox9XyrWvGfeN4Yl0my2T5Yjw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "228" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380748_repellat/comments/8s/molestiae_accusamus_sed_consequuntur_maxime/\", \"id\": \"8s\", \"name\": \"t3_8s\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "173" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "248" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2298-Nafox9XyrWvGfeN4Yl0my2T5Yjw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8s/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380748_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECorrupti at reprehenderit iste ut. Animi ea odit ea. Suscipit non nemo deleniti delectus illo.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Corrupti at reprehenderit iste ut. Animi ea odit ea. Suscipit non nemo deleniti delectus illo.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8s\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGWSH4J6TFRDYGY2HGGV76\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380748_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5o\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380748_repellat/comments/8s/molestiae_accusamus_sed_consequuntur_maxime/\", \"locked\": false, \"name\": \"t3_8s\", \"created\": 1542380752.0, \"url\": \"http://reddit.local/r/1542380748_repellat/comments/8s/molestiae_accusamus_sed_consequuntur_maxime/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Molestiae accusamus sed consequuntur maxime.\", \"created_utc\": 1542380752.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1796" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "248" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=5jo7K3ik6huzLJ2%2BPTQW3LIIc%2BmUrHRHWmhlUzUyAKQBzQvlAhYkUPABOFKCCUZA7DMZzfAHvsNETtvNMXa5Ug7aeWjV3XBe" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8s/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380748_repellat&text=Cum+quisquam+laborum+dolor+distinctio+suscipit+adipisci.+Quaerat+fuga+aperiam+occaecati+fugiat.&title=Voluptatibus+aliquid+quaerat+iure." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2298-Nafox9XyrWvGfeN4Yl0my2T5Yjw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "219" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380748_repellat/comments/8t/voluptatibus_aliquid_quaerat_iure/\", \"id\": \"8t\", \"name\": \"t3_8t\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "163" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "245" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2298-Nafox9XyrWvGfeN4Yl0my2T5Yjw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8t/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380748_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECum quisquam laborum dolor distinctio suscipit adipisci. Quaerat fuga aperiam occaecati fugiat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Cum quisquam laborum dolor distinctio suscipit adipisci. Quaerat fuga aperiam occaecati fugiat.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8t\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGWSH4J6TFRDYGY2HGGV76\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380748_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5o\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380748_repellat/comments/8t/voluptatibus_aliquid_quaerat_iure/\", \"locked\": false, \"name\": \"t3_8t\", \"created\": 1542380755.0, \"url\": \"http://reddit.local/r/1542380748_repellat/comments/8t/voluptatibus_aliquid_quaerat_iure/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Voluptatibus aliquid quaerat iure.\", \"created_utc\": 1542380755.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1768" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "245" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=WKOQILZCaJRYL3nfD8gprpWfCVWWPdZyRQk3Bnqo6snNsZMKqfpkLnHVEt0Gq7wJUUVFSQvnALW1pDZhrM1NKcS7ldiBXQ%2Bw" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8t/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:58", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380748_repellat&text=Quia+incidunt+commodi+porro+iusto+aperiam+voluptatum.+Cupiditate+magni+ratione+commodi+expedita.&title=Harum+laborum+ducimus+magnam." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2298-Nafox9XyrWvGfeN4Yl0my2T5Yjw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "215" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380748_repellat/comments/8u/harum_laborum_ducimus_magnam/\", \"id\": \"8u\", \"name\": \"t3_8u\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "158" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:58 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "242" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:05:58", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2298-Nafox9XyrWvGfeN4Yl0my2T5Yjw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8u/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380748_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuia incidunt commodi porro iusto aperiam voluptatum. Cupiditate magni ratione commodi expedita.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quia incidunt commodi porro iusto aperiam voluptatum. Cupiditate magni ratione commodi expedita.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8u\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGWSH4J6TFRDYGY2HGGV76\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380748_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5o\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380748_repellat/comments/8u/harum_laborum_ducimus_magnam/\", \"locked\": false, \"name\": \"t3_8u\", \"created\": 1542380758.0, \"url\": \"http://reddit.local/r/1542380748_repellat/comments/8u/harum_laborum_ducimus_magnam/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Harum laborum ducimus magnam.\", \"created_utc\": 1542380758.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1755" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:05:58 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "242" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=bYbexvPt8Nsez67PQkuw7Gb3%2Bd%2B7LIS2X65t18%2FHpRjmgaFn8fbNEHUuPa%2Bg83S%2BBZZftCDyRV9vuBLEQVdTkgc4N63%2F71jb" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8u/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:01", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380748_repellat&text=Est+voluptate+neque+est+cumque+esse.+Mollitia+cumque+quos+molestias+at.&title=Quae+odit+aliquam+mollitia." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2298-Nafox9XyrWvGfeN4Yl0my2T5Yjw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "188" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380748_repellat/comments/8v/quae_odit_aliquam_mollitia/\", \"id\": \"8v\", \"name\": \"t3_8v\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "156" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:01 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "239" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:01", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2298-Nafox9XyrWvGfeN4Yl0my2T5Yjw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8v/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380748_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEst voluptate neque est cumque esse. Mollitia cumque quos molestias at.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Est voluptate neque est cumque esse. Mollitia cumque quos molestias at.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8v\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGWSH4J6TFRDYGY2HGGV76\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380748_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5o\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380748_repellat/comments/8v/quae_odit_aliquam_mollitia/\", \"locked\": false, \"name\": \"t3_8v\", \"created\": 1542380761.0, \"url\": \"http://reddit.local/r/1542380748_repellat/comments/8v/quae_odit_aliquam_mollitia/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quae odit aliquam mollitia.\", \"created_utc\": 1542380761.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1699" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:01 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "239" - ], - "x-ratelimit-used": [ - "9" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=kUQAnueJrSvkhyGNyjxR%2BqoVni3YLTZuZ79MOLhDNRcnjjNZ22i%2BTL%2BRI9uRgkeTp25V%2BEZZ2o02o1e6hGqbeTPWEf%2FltkJw" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8v/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2298-Nafox9XyrWvGfeN4Yl0my2T5Yjw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/hot?count=0&limit=25&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380748_repellat\", \"subreddit\": \"1542380748_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEst voluptate neque est cumque esse. Mollitia cumque quos molestias at.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Est voluptate neque est cumque esse. Mollitia cumque quos molestias at.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8v\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGWSH4J6TFRDYGY2HGGV76\", \"media\": null, \"name\": \"t3_8v\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5o\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380748_repellat/comments/8v/quae_odit_aliquam_mollitia/\", \"locked\": false, \"stickied\": false, \"created\": 1542380761.0, \"url\": \"http://reddit.local/r/1542380748_repellat/comments/8v/quae_odit_aliquam_mollitia/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quae odit aliquam mollitia.\", \"created_utc\": 1542380761.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380748_repellat\", \"subreddit\": \"1542380748_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuia incidunt commodi porro iusto aperiam voluptatum. Cupiditate magni ratione commodi expedita.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quia incidunt commodi porro iusto aperiam voluptatum. Cupiditate magni ratione commodi expedita.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8u\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGWSH4J6TFRDYGY2HGGV76\", \"media\": null, \"name\": \"t3_8u\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5o\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380748_repellat/comments/8u/harum_laborum_ducimus_magnam/\", \"locked\": false, \"stickied\": false, \"created\": 1542380758.0, \"url\": \"http://reddit.local/r/1542380748_repellat/comments/8u/harum_laborum_ducimus_magnam/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Harum laborum ducimus magnam.\", \"created_utc\": 1542380758.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380748_repellat\", \"subreddit\": \"1542380748_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECum quisquam laborum dolor distinctio suscipit adipisci. Quaerat fuga aperiam occaecati fugiat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Cum quisquam laborum dolor distinctio suscipit adipisci. Quaerat fuga aperiam occaecati fugiat.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8t\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGWSH4J6TFRDYGY2HGGV76\", \"media\": null, \"name\": \"t3_8t\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5o\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380748_repellat/comments/8t/voluptatibus_aliquid_quaerat_iure/\", \"locked\": false, \"stickied\": false, \"created\": 1542380755.0, \"url\": \"http://reddit.local/r/1542380748_repellat/comments/8t/voluptatibus_aliquid_quaerat_iure/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Voluptatibus aliquid quaerat iure.\", \"created_utc\": 1542380755.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380748_repellat\", \"subreddit\": \"1542380748_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECorrupti at reprehenderit iste ut. Animi ea odit ea. Suscipit non nemo deleniti delectus illo.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Corrupti at reprehenderit iste ut. Animi ea odit ea. Suscipit non nemo deleniti delectus illo.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8s\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGWSH4J6TFRDYGY2HGGV76\", \"media\": null, \"name\": \"t3_8s\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5o\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380748_repellat/comments/8s/molestiae_accusamus_sed_consequuntur_maxime/\", \"locked\": false, \"stickied\": false, \"created\": 1542380752.0, \"url\": \"http://reddit.local/r/1542380748_repellat/comments/8s/molestiae_accusamus_sed_consequuntur_maxime/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Molestiae accusamus sed consequuntur maxime.\", \"created_utc\": 1542380752.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "6273" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "236" - ], - "x-ratelimit-used": [ - "10" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=IYkzz4LWUxdCfmaNrr52LQj%2FO3fhbg4kocOdGXvEfv4lSa8MXWJe98slOnMgkbT8Ux6azVAuCEGG9%2FyqyeGwxyLdHwuk46qQ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/hot?count=0&limit=25&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2298-Nafox9XyrWvGfeN4Yl0my2T5Yjw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8v/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380748_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEst voluptate neque est cumque esse. Mollitia cumque quos molestias at.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Est voluptate neque est cumque esse. Mollitia cumque quos molestias at.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8v\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGWSH4J6TFRDYGY2HGGV76\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380748_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5o\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380748_repellat/comments/8v/quae_odit_aliquam_mollitia/\", \"locked\": false, \"name\": \"t3_8v\", \"created\": 1542380761.0, \"url\": \"http://reddit.local/r/1542380748_repellat/comments/8v/quae_odit_aliquam_mollitia/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quae odit aliquam mollitia.\", \"created_utc\": 1542380761.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1699" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "289.0" - ], - "x-ratelimit-reset": [ - "236" - ], - "x-ratelimit-used": [ - "11" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=DdSMiJb4qvtpBbNPdzzjVAnJMkGN%2BkY3ZjzvuGLvCwbEaQ1CldwACHWotRqeETMhttiqAh8F2kyrgCTUhPt%2FnYmpgPG7hok7" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8v/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2298-Nafox9XyrWvGfeN4Yl0my2T5Yjw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380748_repellat/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5o\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380748_repellat\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EId voluptate dicta optio blanditiis enim odit. Nobis optio quas sit ipsam officiis at minima maiores. Voluptatibus tempora quam rerum recusandae modi deserunt reiciendis. Quisquam non doloribus est dolor necessitatibus et.\\nOdit molestias praesentium aliquid laudantium. Explicabo magnam odio sequi tempora voluptas maxime.\\nA nesciunt ex repudiandae culpa voluptatibus doloribus iste. Ipsa accusamus soluta vel ea atque voluptas molestias. Accusantium eum quod magnam enim magni incidunt id.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Laborum odit soluta impedit velit.\", \"collapse_deleted_comments\": false, \"public_description\": \"Id ratione nulla consectetur. Quis dignissimos ullam optio officia.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EId ratione nulla consectetur. Quis dignissimos ullam optio officia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Id voluptate dicta optio blanditiis enim odit. Nobis optio quas sit ipsam officiis at minima maiores. Voluptatibus tempora quam rerum recusandae modi deserunt reiciendis. Quisquam non doloribus est dolor necessitatibus et.\\nOdit molestias praesentium aliquid laudantium. Explicabo magnam odio sequi tempora voluptas maxime.\\nA nesciunt ex repudiandae culpa voluptatibus doloribus iste. Ipsa accusamus soluta vel ea atque voluptas molestias. Accusantium eum quod magnam enim magni incidunt id.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5o\", \"created\": 1542380748.0, \"url\": \"/r/1542380748_repellat/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380748.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2477" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "288.0" - ], - "x-ratelimit-reset": [ - "236" - ], - "x-ratelimit-used": [ - "12" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=39%2BGhqvuW6pSqNzNoL3pCXuSoxQ4em82lMxammhJzgeHRB7H9F8GtRCPsp6kZUOoA0rRdPqP6wAxW8VTSU6Pm6iUI2yBwQtd" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380748_repellat/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2298-Nafox9XyrWvGfeN4Yl0my2T5Yjw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8u/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380748_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuia incidunt commodi porro iusto aperiam voluptatum. Cupiditate magni ratione commodi expedita.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quia incidunt commodi porro iusto aperiam voluptatum. Cupiditate magni ratione commodi expedita.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8u\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGWSH4J6TFRDYGY2HGGV76\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380748_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5o\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380748_repellat/comments/8u/harum_laborum_ducimus_magnam/\", \"locked\": false, \"name\": \"t3_8u\", \"created\": 1542380758.0, \"url\": \"http://reddit.local/r/1542380748_repellat/comments/8u/harum_laborum_ducimus_magnam/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Harum laborum ducimus magnam.\", \"created_utc\": 1542380758.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1755" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "287.0" - ], - "x-ratelimit-reset": [ - "236" - ], - "x-ratelimit-used": [ - "13" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ijEEfnTrRpYD7y4malPuGXWjSNaOrBY7Zjh0v6OjB4btdRQMXMtWrJtHeNMoweKa%2BFIA1NZxidXuJG5oKDaOiNe09jJxjgLc" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8u/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2298-Nafox9XyrWvGfeN4Yl0my2T5Yjw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380748_repellat/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5o\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380748_repellat\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EId voluptate dicta optio blanditiis enim odit. Nobis optio quas sit ipsam officiis at minima maiores. Voluptatibus tempora quam rerum recusandae modi deserunt reiciendis. Quisquam non doloribus est dolor necessitatibus et.\\nOdit molestias praesentium aliquid laudantium. Explicabo magnam odio sequi tempora voluptas maxime.\\nA nesciunt ex repudiandae culpa voluptatibus doloribus iste. Ipsa accusamus soluta vel ea atque voluptas molestias. Accusantium eum quod magnam enim magni incidunt id.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Laborum odit soluta impedit velit.\", \"collapse_deleted_comments\": false, \"public_description\": \"Id ratione nulla consectetur. Quis dignissimos ullam optio officia.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EId ratione nulla consectetur. Quis dignissimos ullam optio officia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Id voluptate dicta optio blanditiis enim odit. Nobis optio quas sit ipsam officiis at minima maiores. Voluptatibus tempora quam rerum recusandae modi deserunt reiciendis. Quisquam non doloribus est dolor necessitatibus et.\\nOdit molestias praesentium aliquid laudantium. Explicabo magnam odio sequi tempora voluptas maxime.\\nA nesciunt ex repudiandae culpa voluptatibus doloribus iste. Ipsa accusamus soluta vel ea atque voluptas molestias. Accusantium eum quod magnam enim magni incidunt id.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5o\", \"created\": 1542380748.0, \"url\": \"/r/1542380748_repellat/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380748.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2477" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "286.0" - ], - "x-ratelimit-reset": [ - "236" - ], - "x-ratelimit-used": [ - "14" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=gSV0GF%2B8WzXUvx6T58jS2L0qqHBAvixYEjAXf3mqTC9P6RWlefkyocY0Z2osdDiZY%2F%2BGRDtxID5JxPJBKGvXCkZHWwA%2B8eNp" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380748_repellat/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2298-Nafox9XyrWvGfeN4Yl0my2T5Yjw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8t/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380748_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECum quisquam laborum dolor distinctio suscipit adipisci. Quaerat fuga aperiam occaecati fugiat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Cum quisquam laborum dolor distinctio suscipit adipisci. Quaerat fuga aperiam occaecati fugiat.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8t\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGWSH4J6TFRDYGY2HGGV76\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380748_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5o\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380748_repellat/comments/8t/voluptatibus_aliquid_quaerat_iure/\", \"locked\": false, \"name\": \"t3_8t\", \"created\": 1542380755.0, \"url\": \"http://reddit.local/r/1542380748_repellat/comments/8t/voluptatibus_aliquid_quaerat_iure/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Voluptatibus aliquid quaerat iure.\", \"created_utc\": 1542380755.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1768" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "285.0" - ], - "x-ratelimit-reset": [ - "236" - ], - "x-ratelimit-used": [ - "15" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=e3wCnboMjjssRFMdUNc6Vp8AqFK%2FwBdXvwKjcP9w5RS4lqwsvYYFuWYrR8xxIJqyyazt2w07noKGucEoRlONkKGagH0QtYn5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8t/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2298-Nafox9XyrWvGfeN4Yl0my2T5Yjw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380748_repellat/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5o\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380748_repellat\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EId voluptate dicta optio blanditiis enim odit. Nobis optio quas sit ipsam officiis at minima maiores. Voluptatibus tempora quam rerum recusandae modi deserunt reiciendis. Quisquam non doloribus est dolor necessitatibus et.\\nOdit molestias praesentium aliquid laudantium. Explicabo magnam odio sequi tempora voluptas maxime.\\nA nesciunt ex repudiandae culpa voluptatibus doloribus iste. Ipsa accusamus soluta vel ea atque voluptas molestias. Accusantium eum quod magnam enim magni incidunt id.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Laborum odit soluta impedit velit.\", \"collapse_deleted_comments\": false, \"public_description\": \"Id ratione nulla consectetur. Quis dignissimos ullam optio officia.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EId ratione nulla consectetur. Quis dignissimos ullam optio officia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Id voluptate dicta optio blanditiis enim odit. Nobis optio quas sit ipsam officiis at minima maiores. Voluptatibus tempora quam rerum recusandae modi deserunt reiciendis. Quisquam non doloribus est dolor necessitatibus et.\\nOdit molestias praesentium aliquid laudantium. Explicabo magnam odio sequi tempora voluptas maxime.\\nA nesciunt ex repudiandae culpa voluptatibus doloribus iste. Ipsa accusamus soluta vel ea atque voluptas molestias. Accusantium eum quod magnam enim magni incidunt id.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5o\", \"created\": 1542380748.0, \"url\": \"/r/1542380748_repellat/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380748.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2477" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "284.0" - ], - "x-ratelimit-reset": [ - "236" - ], - "x-ratelimit-used": [ - "16" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Ts9R%2FxxOa6z4Sz%2BLrSRKDd1V45jUMJrIbq%2FDAwcfC6Em8gSteh2S%2Fgp21uq%2Fp%2F0lDUaT32BkAYAcHzb8uXSL4Wr1TsI3bVK3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380748_repellat/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2298-Nafox9XyrWvGfeN4Yl0my2T5Yjw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8s/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380748_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECorrupti at reprehenderit iste ut. Animi ea odit ea. Suscipit non nemo deleniti delectus illo.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Corrupti at reprehenderit iste ut. Animi ea odit ea. Suscipit non nemo deleniti delectus illo.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8s\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGWSH4J6TFRDYGY2HGGV76\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380748_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5o\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380748_repellat/comments/8s/molestiae_accusamus_sed_consequuntur_maxime/\", \"locked\": false, \"name\": \"t3_8s\", \"created\": 1542380752.0, \"url\": \"http://reddit.local/r/1542380748_repellat/comments/8s/molestiae_accusamus_sed_consequuntur_maxime/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Molestiae accusamus sed consequuntur maxime.\", \"created_utc\": 1542380752.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1796" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "283.0" - ], - "x-ratelimit-reset": [ - "236" - ], - "x-ratelimit-used": [ - "17" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=KbqqDFlXU86lCupjMys1zLv8dqhjfOySejcnNnNKLA%2FA2oGCutUOwRiAOgjpVYJZm1nWDMsAhggQrcaxX9Px9TlX8QzHZ0bB" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8s/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2298-Nafox9XyrWvGfeN4Yl0my2T5Yjw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XDZypMXzl45LukmpTv; loidcreated=2018-11-16T15%3A05%3A45.116Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380748_repellat/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5o\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380748_repellat\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EId voluptate dicta optio blanditiis enim odit. Nobis optio quas sit ipsam officiis at minima maiores. Voluptatibus tempora quam rerum recusandae modi deserunt reiciendis. Quisquam non doloribus est dolor necessitatibus et.\\nOdit molestias praesentium aliquid laudantium. Explicabo magnam odio sequi tempora voluptas maxime.\\nA nesciunt ex repudiandae culpa voluptatibus doloribus iste. Ipsa accusamus soluta vel ea atque voluptas molestias. Accusantium eum quod magnam enim magni incidunt id.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Laborum odit soluta impedit velit.\", \"collapse_deleted_comments\": false, \"public_description\": \"Id ratione nulla consectetur. Quis dignissimos ullam optio officia.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EId ratione nulla consectetur. Quis dignissimos ullam optio officia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Id voluptate dicta optio blanditiis enim odit. Nobis optio quas sit ipsam officiis at minima maiores. Voluptatibus tempora quam rerum recusandae modi deserunt reiciendis. Quisquam non doloribus est dolor necessitatibus et.\\nOdit molestias praesentium aliquid laudantium. Explicabo magnam odio sequi tempora voluptas maxime.\\nA nesciunt ex repudiandae culpa voluptatibus doloribus iste. Ipsa accusamus soluta vel ea atque voluptas molestias. Accusantium eum quod magnam enim magni incidunt id.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5o\", \"created\": 1542380748.0, \"url\": \"/r/1542380748_repellat/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380748.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2477" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "282.0" - ], - "x-ratelimit-reset": [ - "236" - ], - "x-ratelimit-used": [ - "18" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=DFCINLsfi5InI1I%2F7fjNrZp%2FhZjMtZj3YklG3mQ3g5GjRjWoiiRg698BoLVEuw0dOc%2F2MO9EWcv5TpOwXihHL6tKIB4F2tCR" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380748_repellat/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.frontpage_test.test_frontpage_sorted[new].json b/cassettes/channels.views.frontpage_test.test_frontpage_sorted[new].json deleted file mode 100644 index b9059143c4..0000000000 --- a/cassettes/channels.views.frontpage_test.test_frontpage_sorted[new].json +++ /dev/null @@ -1,1943 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:06:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGY695PYTZ2E6M9M35PEXZ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NQQuCMACF/4rsGAVDS1fHDhHEiMRYt6HzlcPKsYmk0X/P5a3je7zve2+SKwXnZNvUeJJNQMKIhgtZZdtzdhi43F0Ej60ZaLhPbsmjZ2QeELyMtnBSeyKKKR27n0C2vYG3FMgtrN861UzVzCeL6whWf3dHirVN3XI1MNxT3vVcFBEMO4naQyU6rSB16c1TIJ8vwXLrTroAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:06:31 GMT", - "loidcreated=2018-11-16T15%3A06%3A30.931Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:06:31 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGY695PYTZ2E6M9M35PEXZ" - } - }, - { - "recorded_at": "2018-11-16T15:06:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGY9J3G2EVZTT43G9FX4QQ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NywrCMBREf6VkKQqtARF3ZiHxWcEqZhXq7a2mRRuSWK3iv9vYncsZ5px5kxQArZWuKvFGJgEZ0pAOVvlDsHlSi7hoqF5TPnY8ObDdcrEn/YDgUyuDVipP0FEYtt1PIF2j0VtOmBo0fmuh6qqeTwbzFrz83UUvrq8cztviPttEwIQQtSghdsephzKsFaBUmTd3gXy+4ChD97oAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGY9J3G2EVZTT43G9FX4QQ" - } - }, - { - "recorded_at": "2018-11-16T15:06:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Quia+tempora+eum+sit.+Voluptatem+porro+similique+blanditiis+recusandae+impedit+numquam+quos.+Aperiam+at+rerum+deserunt+quos.+Illum+reprehenderit+ea+fuga.%0ADebitis+minus+numquam+nisi+a+inventore+quod+at.+Velit+quam+itaque+ipsa+tempore+cupiditate+aperiam+temporibus.+Voluptas+voluptas+libero+vitae+nesciunt+iste+quibusdam+occaecati.%0ASuscipit+commodi+impedit+possimus+possimus+eos+totam+esse.+Cumque+sit+veniam+beatae+eaque+cum+vitae+laudantium+perferendis.+Asperiores+ab+quaerat+laudantium+officiis.&link_type=any&name=1542380794_ratione&public_description=Optio+recusandae+delectus+quisquam+voluptates+blanditiis+eius+quia+sed.&title=Et+minus+perspiciatis+ab+pariatur+eveniet.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2303-LfwYBITvYOjy3pM3H8tHTVBSKJU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "750" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "206" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:37", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CWEGY695PYTZ2E6M9M35PEXZ&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2303-LfwYBITvYOjy3pM3H8tHTVBSKJU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542380794_ratione/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "203" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380794_ratione/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:37", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542380794_ratione" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2302-_hTBUTKzM_FXWM6rpz02H7g7my8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "77" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "203" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380794_ratione&text=Voluptas+non+consequatur+natus+labore.+Ipsa+fugiat+animi+delectus.&title=Odit+ducimus+quasi+in+tempora." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2302-_hTBUTKzM_FXWM6rpz02H7g7my8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "185" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380794_ratione/comments/90/odit_ducimus_quasi_in_tempora/\", \"id\": \"90\", \"name\": \"t3_90\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "158" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "203" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2302-_hTBUTKzM_FXWM6rpz02H7g7my8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/90/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380794_ratione\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptas non consequatur natus labore. Ipsa fugiat animi delectus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Voluptas non consequatur natus labore. Ipsa fugiat animi delectus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"90\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGY695PYTZ2E6M9M35PEXZ\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380794_ratione\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5q\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380794_ratione/comments/90/odit_ducimus_quasi_in_tempora/\", \"locked\": false, \"name\": \"t3_90\", \"created\": 1542380797.0, \"url\": \"http://reddit.local/r/1542380794_ratione/comments/90/odit_ducimus_quasi_in_tempora/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Odit ducimus quasi in tempora.\", \"created_utc\": 1542380797.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1694" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "203" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=6ZD3b3noTWeJf%2FuNwIa%2FKmKkGy55T%2BLitFoajHYh5VBLc2SUJmLaIiqlJagrD5%2B17pk6Qt%2BTxIloQl0NtFKp%2FNqOjc7yZLv%2B" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/90/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380794_ratione&text=Vero+libero+itaque+repellat+architecto+a+cupiditate+dolore.+Eligendi+itaque+id+impedit+eaque.&title=Reprehenderit+accusamus+pariatur+officia+libero." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2302-_hTBUTKzM_FXWM6rpz02H7g7my8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "230" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380794_ratione/comments/91/reprehenderit_accusamus_pariatur_officia_libero/\", \"id\": \"91\", \"name\": \"t3_91\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "176" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "200" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2302-_hTBUTKzM_FXWM6rpz02H7g7my8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/91/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380794_ratione\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVero libero itaque repellat architecto a cupiditate dolore. Eligendi itaque id impedit eaque.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Vero libero itaque repellat architecto a cupiditate dolore. Eligendi itaque id impedit eaque.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"91\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGY695PYTZ2E6M9M35PEXZ\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380794_ratione\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5q\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380794_ratione/comments/91/reprehenderit_accusamus_pariatur_officia_libero/\", \"locked\": false, \"name\": \"t3_91\", \"created\": 1542380800.0, \"url\": \"http://reddit.local/r/1542380794_ratione/comments/91/reprehenderit_accusamus_pariatur_officia_libero/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Reprehenderit accusamus pariatur officia libero.\", \"created_utc\": 1542380800.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1802" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "199" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=WYCMMRv%2BahlckXqdGsZK21X%2BuLqC3du5bW193Og6czz7lqZ5MDEVl2nHZ%2FBV5g4TBcuqYPUdEFmE7mssu6c0DMk6AMPHxBpK" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/91/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:44", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380794_ratione&text=Officia+ipsa+magnam+officiis+delectus.+Maxime+numquam+eum+sint+quam+quae+quidem+ullam+id.&title=Corporis+sunt+id+recusandae." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2302-_hTBUTKzM_FXWM6rpz02H7g7my8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "206" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380794_ratione/comments/92/corporis_sunt_id_recusandae/\", \"id\": \"92\", \"name\": \"t3_92\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "156" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:44 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "196" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:44", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2302-_hTBUTKzM_FXWM6rpz02H7g7my8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/92/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380794_ratione\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOfficia ipsa magnam officiis delectus. Maxime numquam eum sint quam quae quidem ullam id.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Officia ipsa magnam officiis delectus. Maxime numquam eum sint quam quae quidem ullam id.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"92\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGY695PYTZ2E6M9M35PEXZ\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380794_ratione\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5q\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380794_ratione/comments/92/corporis_sunt_id_recusandae/\", \"locked\": false, \"name\": \"t3_92\", \"created\": 1542380804.0, \"url\": \"http://reddit.local/r/1542380794_ratione/comments/92/corporis_sunt_id_recusandae/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Corporis sunt id recusandae.\", \"created_utc\": 1542380804.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1734" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:44 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "196" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=AKsYmbBsVubC0E7CgjbUcUsu6l4Yv0PS2sPhlqJnI%2BCTd%2BY%2B58eWzJgxC0Zbz15%2Bi6dsDY17MqEjjsAijOrpGWRcIyKKjgff" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/92/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:47", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380794_ratione&text=Cupiditate+sint+quisquam+ipsa+labore.+Beatae+asperiores+odio+qui+saepe+quis+provident+reiciendis.&title=Sint+quibusdam+excepturi+tempore." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2302-_hTBUTKzM_FXWM6rpz02H7g7my8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "219" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380794_ratione/comments/93/sint_quibusdam_excepturi_tempore/\", \"id\": \"93\", \"name\": \"t3_93\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "161" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "193" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:47", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2302-_hTBUTKzM_FXWM6rpz02H7g7my8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/93/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380794_ratione\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECupiditate sint quisquam ipsa labore. Beatae asperiores odio qui saepe quis provident reiciendis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Cupiditate sint quisquam ipsa labore. Beatae asperiores odio qui saepe quis provident reiciendis.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"93\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGY695PYTZ2E6M9M35PEXZ\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380794_ratione\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5q\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380794_ratione/comments/93/sint_quibusdam_excepturi_tempore/\", \"locked\": false, \"name\": \"t3_93\", \"created\": 1542380807.0, \"url\": \"http://reddit.local/r/1542380794_ratione/comments/93/sint_quibusdam_excepturi_tempore/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Sint quibusdam excepturi tempore.\", \"created_utc\": 1542380807.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1765" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "193" - ], - "x-ratelimit-used": [ - "9" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=6ajm1uZEVMkhNkBjxm2Gkt%2BhuauH4UWd1i7ttoBxKg6pxQH9Z6VvwN53KiJAWIXozpWHsNG2JoczXpFgLhcPoaLnG3jSAAoI" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/93/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2302-_hTBUTKzM_FXWM6rpz02H7g7my8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/new?count=0&limit=25&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380794_ratione\", \"subreddit\": \"1542380794_ratione\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECupiditate sint quisquam ipsa labore. Beatae asperiores odio qui saepe quis provident reiciendis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Cupiditate sint quisquam ipsa labore. Beatae asperiores odio qui saepe quis provident reiciendis.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"93\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGY695PYTZ2E6M9M35PEXZ\", \"media\": null, \"name\": \"t3_93\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5q\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380794_ratione/comments/93/sint_quibusdam_excepturi_tempore/\", \"locked\": false, \"stickied\": false, \"created\": 1542380807.0, \"url\": \"http://reddit.local/r/1542380794_ratione/comments/93/sint_quibusdam_excepturi_tempore/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Sint quibusdam excepturi tempore.\", \"created_utc\": 1542380807.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380794_ratione\", \"subreddit\": \"1542380794_ratione\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOfficia ipsa magnam officiis delectus. Maxime numquam eum sint quam quae quidem ullam id.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Officia ipsa magnam officiis delectus. Maxime numquam eum sint quam quae quidem ullam id.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"92\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGY695PYTZ2E6M9M35PEXZ\", \"media\": null, \"name\": \"t3_92\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5q\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380794_ratione/comments/92/corporis_sunt_id_recusandae/\", \"locked\": false, \"stickied\": false, \"created\": 1542380804.0, \"url\": \"http://reddit.local/r/1542380794_ratione/comments/92/corporis_sunt_id_recusandae/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Corporis sunt id recusandae.\", \"created_utc\": 1542380804.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380794_ratione\", \"subreddit\": \"1542380794_ratione\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVero libero itaque repellat architecto a cupiditate dolore. Eligendi itaque id impedit eaque.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Vero libero itaque repellat architecto a cupiditate dolore. Eligendi itaque id impedit eaque.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"91\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGY695PYTZ2E6M9M35PEXZ\", \"media\": null, \"name\": \"t3_91\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5q\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380794_ratione/comments/91/reprehenderit_accusamus_pariatur_officia_libero/\", \"locked\": false, \"stickied\": false, \"created\": 1542380800.0, \"url\": \"http://reddit.local/r/1542380794_ratione/comments/91/reprehenderit_accusamus_pariatur_officia_libero/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Reprehenderit accusamus pariatur officia libero.\", \"created_utc\": 1542380800.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380794_ratione\", \"subreddit\": \"1542380794_ratione\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptas non consequatur natus labore. Ipsa fugiat animi delectus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Voluptas non consequatur natus labore. Ipsa fugiat animi delectus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"90\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGY695PYTZ2E6M9M35PEXZ\", \"media\": null, \"name\": \"t3_90\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5q\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380794_ratione/comments/90/odit_ducimus_quasi_in_tempora/\", \"locked\": false, \"stickied\": false, \"created\": 1542380797.0, \"url\": \"http://reddit.local/r/1542380794_ratione/comments/90/odit_ducimus_quasi_in_tempora/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Odit ducimus quasi in tempora.\", \"created_utc\": 1542380797.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "6250" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "190" - ], - "x-ratelimit-used": [ - "10" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=dLPDvuPHY5%2B6qphaTWaMwL5kwnYodQgD27UAd70UXMnTTj5xxhIbHF0Eya%2F%2FRwjujCI32L3BdSEN4KphGd7C3ZY35WbqI7WP" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/new?count=0&limit=25&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2302-_hTBUTKzM_FXWM6rpz02H7g7my8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/93/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380794_ratione\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECupiditate sint quisquam ipsa labore. Beatae asperiores odio qui saepe quis provident reiciendis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Cupiditate sint quisquam ipsa labore. Beatae asperiores odio qui saepe quis provident reiciendis.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"93\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGY695PYTZ2E6M9M35PEXZ\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380794_ratione\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5q\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380794_ratione/comments/93/sint_quibusdam_excepturi_tempore/\", \"locked\": false, \"name\": \"t3_93\", \"created\": 1542380807.0, \"url\": \"http://reddit.local/r/1542380794_ratione/comments/93/sint_quibusdam_excepturi_tempore/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Sint quibusdam excepturi tempore.\", \"created_utc\": 1542380807.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1765" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "289.0" - ], - "x-ratelimit-reset": [ - "190" - ], - "x-ratelimit-used": [ - "11" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=%2B%2FZHS9aJGnSdGFQQ5L4ziOtYGJ4Y2GqqZZxA%2BIfyxLECvUK%2BtZIT6nfxwPfmqhtzZZEUr6bxg60efc03PeHdLPATDNJqBAqz" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/93/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2302-_hTBUTKzM_FXWM6rpz02H7g7my8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380794_ratione/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5q\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380794_ratione\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuia tempora eum sit. Voluptatem porro similique blanditiis recusandae impedit numquam quos. Aperiam at rerum deserunt quos. Illum reprehenderit ea fuga.\\nDebitis minus numquam nisi a inventore quod at. Velit quam itaque ipsa tempore cupiditate aperiam temporibus. Voluptas voluptas libero vitae nesciunt iste quibusdam occaecati.\\nSuscipit commodi impedit possimus possimus eos totam esse. Cumque sit veniam beatae eaque cum vitae laudantium perferendis. Asperiores ab quaerat laudantium officiis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Et minus perspiciatis ab pariatur eveniet.\", \"collapse_deleted_comments\": false, \"public_description\": \"Optio recusandae delectus quisquam voluptates blanditiis eius quia sed.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOptio recusandae delectus quisquam voluptates blanditiis eius quia sed.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Quia tempora eum sit. Voluptatem porro similique blanditiis recusandae impedit numquam quos. Aperiam at rerum deserunt quos. Illum reprehenderit ea fuga.\\nDebitis minus numquam nisi a inventore quod at. Velit quam itaque ipsa tempore cupiditate aperiam temporibus. Voluptas voluptas libero vitae nesciunt iste quibusdam occaecati.\\nSuscipit commodi impedit possimus possimus eos totam esse. Cumque sit veniam beatae eaque cum vitae laudantium perferendis. Asperiores ab quaerat laudantium officiis.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5q\", \"created\": 1542380794.0, \"url\": \"/r/1542380794_ratione/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380794.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2503" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "288.0" - ], - "x-ratelimit-reset": [ - "190" - ], - "x-ratelimit-used": [ - "12" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=%2FJEfpjPVEPLnt0VhOIOqk5GNzfI8lQcay6FzAj%2BQ2c65x885PIYwlp2W0CnhlFdv5vQ73ZTJArGxfqJBFpNI44RdF%2FJrLzXU" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380794_ratione/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2302-_hTBUTKzM_FXWM6rpz02H7g7my8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/92/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380794_ratione\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOfficia ipsa magnam officiis delectus. Maxime numquam eum sint quam quae quidem ullam id.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Officia ipsa magnam officiis delectus. Maxime numquam eum sint quam quae quidem ullam id.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"92\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGY695PYTZ2E6M9M35PEXZ\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380794_ratione\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5q\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380794_ratione/comments/92/corporis_sunt_id_recusandae/\", \"locked\": false, \"name\": \"t3_92\", \"created\": 1542380804.0, \"url\": \"http://reddit.local/r/1542380794_ratione/comments/92/corporis_sunt_id_recusandae/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Corporis sunt id recusandae.\", \"created_utc\": 1542380804.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1734" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "287.0" - ], - "x-ratelimit-reset": [ - "190" - ], - "x-ratelimit-used": [ - "13" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=vUKX0GaUUMxvlZ8F6%2BCKPmaHSCe1bLobu7l8ZutcVwpGkgWx9HXfUv95e6KNvnxKWSckmrLRv%2BbegzzNnkJ%2BvzMAILYTfB74" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/92/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2302-_hTBUTKzM_FXWM6rpz02H7g7my8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380794_ratione/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5q\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380794_ratione\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuia tempora eum sit. Voluptatem porro similique blanditiis recusandae impedit numquam quos. Aperiam at rerum deserunt quos. Illum reprehenderit ea fuga.\\nDebitis minus numquam nisi a inventore quod at. Velit quam itaque ipsa tempore cupiditate aperiam temporibus. Voluptas voluptas libero vitae nesciunt iste quibusdam occaecati.\\nSuscipit commodi impedit possimus possimus eos totam esse. Cumque sit veniam beatae eaque cum vitae laudantium perferendis. Asperiores ab quaerat laudantium officiis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Et minus perspiciatis ab pariatur eveniet.\", \"collapse_deleted_comments\": false, \"public_description\": \"Optio recusandae delectus quisquam voluptates blanditiis eius quia sed.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOptio recusandae delectus quisquam voluptates blanditiis eius quia sed.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Quia tempora eum sit. Voluptatem porro similique blanditiis recusandae impedit numquam quos. Aperiam at rerum deserunt quos. Illum reprehenderit ea fuga.\\nDebitis minus numquam nisi a inventore quod at. Velit quam itaque ipsa tempore cupiditate aperiam temporibus. Voluptas voluptas libero vitae nesciunt iste quibusdam occaecati.\\nSuscipit commodi impedit possimus possimus eos totam esse. Cumque sit veniam beatae eaque cum vitae laudantium perferendis. Asperiores ab quaerat laudantium officiis.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5q\", \"created\": 1542380794.0, \"url\": \"/r/1542380794_ratione/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380794.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2503" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "286.0" - ], - "x-ratelimit-reset": [ - "190" - ], - "x-ratelimit-used": [ - "14" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=JtlEIbh3oEZDCiqjqQH59YfVJDWLRc6gl%2F7%2BHtIntN0%2F0LO5vy1Be01mDTBv9%2BEpijXLiPSyR3D%2BM9BYZuW%2B5Wmx%2Btf6jYWU" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380794_ratione/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2302-_hTBUTKzM_FXWM6rpz02H7g7my8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/91/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380794_ratione\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVero libero itaque repellat architecto a cupiditate dolore. Eligendi itaque id impedit eaque.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Vero libero itaque repellat architecto a cupiditate dolore. Eligendi itaque id impedit eaque.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"91\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGY695PYTZ2E6M9M35PEXZ\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380794_ratione\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5q\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380794_ratione/comments/91/reprehenderit_accusamus_pariatur_officia_libero/\", \"locked\": false, \"name\": \"t3_91\", \"created\": 1542380800.0, \"url\": \"http://reddit.local/r/1542380794_ratione/comments/91/reprehenderit_accusamus_pariatur_officia_libero/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Reprehenderit accusamus pariatur officia libero.\", \"created_utc\": 1542380800.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1802" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "285.0" - ], - "x-ratelimit-reset": [ - "190" - ], - "x-ratelimit-used": [ - "15" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=m6z6c402Ikv4JB7513Lbx8uv3c0yVI03PW6UgkNB%2B8WEbvkS8fW%2BvJWUBswuNXTzWvyl%2BBKTt7EVBoHQyE7qN8q1lzZTJBa5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/91/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2302-_hTBUTKzM_FXWM6rpz02H7g7my8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380794_ratione/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5q\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380794_ratione\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuia tempora eum sit. Voluptatem porro similique blanditiis recusandae impedit numquam quos. Aperiam at rerum deserunt quos. Illum reprehenderit ea fuga.\\nDebitis minus numquam nisi a inventore quod at. Velit quam itaque ipsa tempore cupiditate aperiam temporibus. Voluptas voluptas libero vitae nesciunt iste quibusdam occaecati.\\nSuscipit commodi impedit possimus possimus eos totam esse. Cumque sit veniam beatae eaque cum vitae laudantium perferendis. Asperiores ab quaerat laudantium officiis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Et minus perspiciatis ab pariatur eveniet.\", \"collapse_deleted_comments\": false, \"public_description\": \"Optio recusandae delectus quisquam voluptates blanditiis eius quia sed.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOptio recusandae delectus quisquam voluptates blanditiis eius quia sed.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Quia tempora eum sit. Voluptatem porro similique blanditiis recusandae impedit numquam quos. Aperiam at rerum deserunt quos. Illum reprehenderit ea fuga.\\nDebitis minus numquam nisi a inventore quod at. Velit quam itaque ipsa tempore cupiditate aperiam temporibus. Voluptas voluptas libero vitae nesciunt iste quibusdam occaecati.\\nSuscipit commodi impedit possimus possimus eos totam esse. Cumque sit veniam beatae eaque cum vitae laudantium perferendis. Asperiores ab quaerat laudantium officiis.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5q\", \"created\": 1542380794.0, \"url\": \"/r/1542380794_ratione/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380794.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2503" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "284.0" - ], - "x-ratelimit-reset": [ - "190" - ], - "x-ratelimit-used": [ - "16" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=SDKiVOivnS0rrQB5SVWiidwb0IJQuhjbNm4s09LoqUw1S%2FiV538eTSfCAhPeJkRLA3CmQbN5eLS225hfM8%2FX9zVemJP6tq5i" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380794_ratione/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2302-_hTBUTKzM_FXWM6rpz02H7g7my8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/90/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380794_ratione\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptas non consequatur natus labore. Ipsa fugiat animi delectus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Voluptas non consequatur natus labore. Ipsa fugiat animi delectus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"90\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGY695PYTZ2E6M9M35PEXZ\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380794_ratione\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5q\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380794_ratione/comments/90/odit_ducimus_quasi_in_tempora/\", \"locked\": false, \"name\": \"t3_90\", \"created\": 1542380797.0, \"url\": \"http://reddit.local/r/1542380794_ratione/comments/90/odit_ducimus_quasi_in_tempora/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Odit ducimus quasi in tempora.\", \"created_utc\": 1542380797.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1694" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "283.0" - ], - "x-ratelimit-reset": [ - "190" - ], - "x-ratelimit-used": [ - "17" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=tIWR%2FuGFP0UKTxxQ3sRXH%2Bm%2Fi%2B%2FinwOjNytYNedARW1%2BuohoLMYNp5f3bEI11gr0vODnsViJ5fNpf9fSTCa2sC900o7EmKcY" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/90/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2302-_hTBUTKzM_FXWM6rpz02H7g7my8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=rJaSSRqp7nKdUPcTYj; loidcreated=2018-11-16T15%3A06%3A30.931Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380794_ratione/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5q\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380794_ratione\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuia tempora eum sit. Voluptatem porro similique blanditiis recusandae impedit numquam quos. Aperiam at rerum deserunt quos. Illum reprehenderit ea fuga.\\nDebitis minus numquam nisi a inventore quod at. Velit quam itaque ipsa tempore cupiditate aperiam temporibus. Voluptas voluptas libero vitae nesciunt iste quibusdam occaecati.\\nSuscipit commodi impedit possimus possimus eos totam esse. Cumque sit veniam beatae eaque cum vitae laudantium perferendis. Asperiores ab quaerat laudantium officiis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Et minus perspiciatis ab pariatur eveniet.\", \"collapse_deleted_comments\": false, \"public_description\": \"Optio recusandae delectus quisquam voluptates blanditiis eius quia sed.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOptio recusandae delectus quisquam voluptates blanditiis eius quia sed.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Quia tempora eum sit. Voluptatem porro similique blanditiis recusandae impedit numquam quos. Aperiam at rerum deserunt quos. Illum reprehenderit ea fuga.\\nDebitis minus numquam nisi a inventore quod at. Velit quam itaque ipsa tempore cupiditate aperiam temporibus. Voluptas voluptas libero vitae nesciunt iste quibusdam occaecati.\\nSuscipit commodi impedit possimus possimus eos totam esse. Cumque sit veniam beatae eaque cum vitae laudantium perferendis. Asperiores ab quaerat laudantium officiis.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5q\", \"created\": 1542380794.0, \"url\": \"/r/1542380794_ratione/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380794.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2503" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "282.0" - ], - "x-ratelimit-reset": [ - "190" - ], - "x-ratelimit-used": [ - "18" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=09g%2FhXltQ3yE2SZpuVJgsMfuvuxyOomMIcWgJnM93K9dpULhP3VE3o6kXYxJ%2Ft0vgskSkP3Q7mVfS0Oy8jgdxJu0nNYuuR3d" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380794_ratione/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.frontpage_test.test_frontpage_sorted[top].json b/cassettes/channels.views.frontpage_test.test_frontpage_sorted[top].json deleted file mode 100644 index fb2f76aa25..0000000000 --- a/cassettes/channels.views.frontpage_test.test_frontpage_sorted[top].json +++ /dev/null @@ -1,1943 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:06:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGXFYDM6KQE0GJEXPZ6448" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNjDQdSw1rzD2LHeJt0gMdPN3K0z0cMuPSiv0LQhxVdJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9CsCzFNi3RNyYtwzQk2cQsIMPX0KM2ucs8PcnfyBGlKSS3LTE6Nz0wBmQzhKNUCAFDqbPC6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=54Nwi5FPbzQXUwodYL; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:06:08 GMT", - "loidcreated=2018-11-16T15%3A06%3A08.078Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:06:08 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGXFYDM6KQE0GJEXPZ6448" - } - }, - { - "recorded_at": "2018-11-16T15:06:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGXK8E31XSXKP9PP5SW202" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NQQuCMBzFv4rsGAVToaKbtA5NK0o8eBpu/sUhbWOTUKPvnstbx/d4v997o0oIcI71ugOFDgGKYhxu8uReJqconxSh+mqqJxviKRwzdTyjdYBgMNKCY9IT8RbjufsJWD8a8BYOlQXrt07opVr5ZKGZwfbvruPNo91dCkPTtL7tcU55VpSEGJt4qIaXFMBk7c1LQJ8vWDZ1TroAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGXK8E31XSXKP9PP5SW202" - } - }, - { - "recorded_at": "2018-11-16T15:06:12", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Expedita+aspernatur+expedita+inventore+quia+blanditiis.+Tempore+pariatur+asperiores+alias+inventore+nobis+quae.+Accusamus+fugiat+minima+asperiores+eum+sit.%0AQuod+blanditiis+dignissimos+ullam+beatae+sapiente.+Quis+officiis+recusandae+dignissimos.+Consequatur+incidunt+ducimus+incidunt.+Unde+dignissimos+assumenda+explicabo+fugiat+cumque.+Aut+consequuntur+modi+nostrum+commodi+quaerat+eligendi.&link_type=any&name=1542380771_fugiat&public_description=Expedita+impedit+reprehenderit+quia+et+ea+excepturi.&title=Facere+ullam+dicta+totam+optio+id+repellendus.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2301-SAQYAE2SznDJoNpam_x3z1yLnCI" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "627" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "229" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CWEGXFYDM6KQE0GJEXPZ6448&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2301-SAQYAE2SznDJoNpam_x3z1yLnCI" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542380771_fugiat/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "226" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380771_fugiat/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542380771_fugiat" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2300-Au7x3IwD_8aQFOFqaHFoZfqMpTE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "76" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "225" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380771_fugiat&text=Iure+in+ab+hic+illo+magni+et+quis.+Ex+quibusdam+suscipit+recusandae+laborum.&title=Quod+omnis+nobis+saepe+sint+modi+voluptatibus." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2300-Au7x3IwD_8aQFOFqaHFoZfqMpTE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "210" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380771_fugiat/comments/8w/quod_omnis_nobis_saepe_sint_modi_voluptatibus/\", \"id\": \"8w\", \"name\": \"t3_8w\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "173" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "225" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2300-Au7x3IwD_8aQFOFqaHFoZfqMpTE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8w/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380771_fugiat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIure in ab hic illo magni et quis. Ex quibusdam suscipit recusandae laborum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Iure in ab hic illo magni et quis. Ex quibusdam suscipit recusandae laborum.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8w\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGXFYDM6KQE0GJEXPZ6448\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380771_fugiat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380771_fugiat/comments/8w/quod_omnis_nobis_saepe_sint_modi_voluptatibus/\", \"locked\": false, \"name\": \"t3_8w\", \"created\": 1542380775.0, \"url\": \"http://reddit.local/r/1542380771_fugiat/comments/8w/quod_omnis_nobis_saepe_sint_modi_voluptatibus/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quod omnis nobis saepe sint modi voluptatibus.\", \"created_utc\": 1542380775.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1758" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "225" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=B%2BiQD3vEwCOFecZGVPHB%2BGsbXOViN2PPpshgGdV3hRxFVhSpV7Si1Jode5OriRudqOfWuNgOlVE5tSFiLaR5QRm27VLLiZdn" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8w/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380771_fugiat&text=Voluptatem+adipisci+quam+incidunt+quos.+Similique+culpa+rem+dolorem.&title=A+architecto+eum+architecto+a." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2300-Au7x3IwD_8aQFOFqaHFoZfqMpTE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "186" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380771_fugiat/comments/8x/a_architecto_eum_architecto_a/\", \"id\": \"8x\", \"name\": \"t3_8x\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "157" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "222" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2300-Au7x3IwD_8aQFOFqaHFoZfqMpTE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8x/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380771_fugiat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptatem adipisci quam incidunt quos. Similique culpa rem dolorem.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Voluptatem adipisci quam incidunt quos. Similique culpa rem dolorem.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8x\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGXFYDM6KQE0GJEXPZ6448\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380771_fugiat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380771_fugiat/comments/8x/a_architecto_eum_architecto_a/\", \"locked\": false, \"name\": \"t3_8x\", \"created\": 1542380778.0, \"url\": \"http://reddit.local/r/1542380771_fugiat/comments/8x/a_architecto_eum_architecto_a/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"A architecto eum architecto a.\", \"created_utc\": 1542380778.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1694" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "222" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=mZ1j8l4S9nqQ1EfgM5jvdNIDeNdha9znGP9eLnOCVpeXImw3tuNWt4q8EMwuf65EhC8WvCw6y%2FvstNB%2B8%2BlkCJv8EGfaL%2B0w" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8x/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380771_fugiat&text=Numquam+eveniet+modi+fugit+amet.+Provident+dolor+quo+assumenda.+Sit+cumque+quis+vitae+qui+minus.&title=Totam+ipsa+totam+velit+incidunt." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2300-Au7x3IwD_8aQFOFqaHFoZfqMpTE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "216" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380771_fugiat/comments/8y/totam_ipsa_totam_velit_incidunt/\", \"id\": \"8y\", \"name\": \"t3_8y\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "159" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "219" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2300-Au7x3IwD_8aQFOFqaHFoZfqMpTE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8y/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380771_fugiat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENumquam eveniet modi fugit amet. Provident dolor quo assumenda. Sit cumque quis vitae qui minus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Numquam eveniet modi fugit amet. Provident dolor quo assumenda. Sit cumque quis vitae qui minus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8y\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGXFYDM6KQE0GJEXPZ6448\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380771_fugiat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380771_fugiat/comments/8y/totam_ipsa_totam_velit_incidunt/\", \"locked\": false, \"name\": \"t3_8y\", \"created\": 1542380781.0, \"url\": \"http://reddit.local/r/1542380771_fugiat/comments/8y/totam_ipsa_totam_velit_incidunt/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Totam ipsa totam velit incidunt.\", \"created_utc\": 1542380781.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1756" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "219" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=x6Vxb%2ByxRHfeB6j%2FbvCuHCUQ1Exnb%2FP%2FbAtrzFcDrZO248yXzJXH8m9POd2gMIfr4%2FpP0o9Hf1hYV31O6lAJtEg%2F8fPMPCLy" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8y/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380771_fugiat&text=Qui+incidunt+dolorum+corrupti+quam+facilis+et.+Saepe+molestiae+natus+nam+harum+non.&title=Doloribus+porro+reiciendis+maxime+error+fugit." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2300-Au7x3IwD_8aQFOFqaHFoZfqMpTE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "217" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380771_fugiat/comments/8z/doloribus_porro_reiciendis_maxime_error_fugit/\", \"id\": \"8z\", \"name\": \"t3_8z\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "173" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "216" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2300-Au7x3IwD_8aQFOFqaHFoZfqMpTE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8z/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380771_fugiat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQui incidunt dolorum corrupti quam facilis et. Saepe molestiae natus nam harum non.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Qui incidunt dolorum corrupti quam facilis et. Saepe molestiae natus nam harum non.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8z\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGXFYDM6KQE0GJEXPZ6448\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380771_fugiat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380771_fugiat/comments/8z/doloribus_porro_reiciendis_maxime_error_fugit/\", \"locked\": false, \"name\": \"t3_8z\", \"created\": 1542380784.0, \"url\": \"http://reddit.local/r/1542380771_fugiat/comments/8z/doloribus_porro_reiciendis_maxime_error_fugit/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Doloribus porro reiciendis maxime error fugit.\", \"created_utc\": 1542380784.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1772" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "216" - ], - "x-ratelimit-used": [ - "9" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=DHC1auWcyOZaTNQx4pbcU8UGpkpdHO3huN4JIG2WTDzBk51J4lQF9C6amUnym1OEWYnoJrWg5Hn6WmzqjDWrMTCKB7Saecr1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8z/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2300-Au7x3IwD_8aQFOFqaHFoZfqMpTE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/top?count=0&t=all&limit=25&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380771_fugiat\", \"subreddit\": \"1542380771_fugiat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQui incidunt dolorum corrupti quam facilis et. Saepe molestiae natus nam harum non.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Qui incidunt dolorum corrupti quam facilis et. Saepe molestiae natus nam harum non.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8z\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGXFYDM6KQE0GJEXPZ6448\", \"media\": null, \"name\": \"t3_8z\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380771_fugiat/comments/8z/doloribus_porro_reiciendis_maxime_error_fugit/\", \"locked\": false, \"stickied\": false, \"created\": 1542380784.0, \"url\": \"http://reddit.local/r/1542380771_fugiat/comments/8z/doloribus_porro_reiciendis_maxime_error_fugit/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Doloribus porro reiciendis maxime error fugit.\", \"created_utc\": 1542380784.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380771_fugiat\", \"subreddit\": \"1542380771_fugiat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENumquam eveniet modi fugit amet. Provident dolor quo assumenda. Sit cumque quis vitae qui minus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Numquam eveniet modi fugit amet. Provident dolor quo assumenda. Sit cumque quis vitae qui minus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8y\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGXFYDM6KQE0GJEXPZ6448\", \"media\": null, \"name\": \"t3_8y\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380771_fugiat/comments/8y/totam_ipsa_totam_velit_incidunt/\", \"locked\": false, \"stickied\": false, \"created\": 1542380781.0, \"url\": \"http://reddit.local/r/1542380771_fugiat/comments/8y/totam_ipsa_totam_velit_incidunt/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Totam ipsa totam velit incidunt.\", \"created_utc\": 1542380781.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380771_fugiat\", \"subreddit\": \"1542380771_fugiat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptatem adipisci quam incidunt quos. Similique culpa rem dolorem.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Voluptatem adipisci quam incidunt quos. Similique culpa rem dolorem.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8x\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGXFYDM6KQE0GJEXPZ6448\", \"media\": null, \"name\": \"t3_8x\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380771_fugiat/comments/8x/a_architecto_eum_architecto_a/\", \"locked\": false, \"stickied\": false, \"created\": 1542380778.0, \"url\": \"http://reddit.local/r/1542380771_fugiat/comments/8x/a_architecto_eum_architecto_a/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"A architecto eum architecto a.\", \"created_utc\": 1542380778.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380771_fugiat\", \"subreddit\": \"1542380771_fugiat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIure in ab hic illo magni et quis. Ex quibusdam suscipit recusandae laborum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Iure in ab hic illo magni et quis. Ex quibusdam suscipit recusandae laborum.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8w\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGXFYDM6KQE0GJEXPZ6448\", \"media\": null, \"name\": \"t3_8w\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380771_fugiat/comments/8w/quod_omnis_nobis_saepe_sint_modi_voluptatibus/\", \"locked\": false, \"stickied\": false, \"created\": 1542380775.0, \"url\": \"http://reddit.local/r/1542380771_fugiat/comments/8w/quod_omnis_nobis_saepe_sint_modi_voluptatibus/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quod omnis nobis saepe sint modi voluptatibus.\", \"created_utc\": 1542380775.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "6235" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "213" - ], - "x-ratelimit-used": [ - "10" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=J42kNSRg36W7UPvz87b13%2F1fPurktu%2FXMdUZGSkS7TLS0%2BrYHuz3397sGNt2sVMXPykGRPZNOaey5JWIQq21Qv5DyckXVh28" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/top?count=0&t=all&limit=25&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2300-Au7x3IwD_8aQFOFqaHFoZfqMpTE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8z/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380771_fugiat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQui incidunt dolorum corrupti quam facilis et. Saepe molestiae natus nam harum non.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Qui incidunt dolorum corrupti quam facilis et. Saepe molestiae natus nam harum non.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8z\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGXFYDM6KQE0GJEXPZ6448\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380771_fugiat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380771_fugiat/comments/8z/doloribus_porro_reiciendis_maxime_error_fugit/\", \"locked\": false, \"name\": \"t3_8z\", \"created\": 1542380784.0, \"url\": \"http://reddit.local/r/1542380771_fugiat/comments/8z/doloribus_porro_reiciendis_maxime_error_fugit/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Doloribus porro reiciendis maxime error fugit.\", \"created_utc\": 1542380784.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1772" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "289.0" - ], - "x-ratelimit-reset": [ - "213" - ], - "x-ratelimit-used": [ - "11" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=vSphE5fyQnN45fErCH3PbaK19crVyuKGuUtCO54vMSldkePbr2AaTzVhbvBwgrxiz6EFtkpGmi69GcTEe6%2FQvWY8guxaUHVk" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8z/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2300-Au7x3IwD_8aQFOFqaHFoZfqMpTE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380771_fugiat/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5p\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380771_fugiat\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita aspernatur expedita inventore quia blanditiis. Tempore pariatur asperiores alias inventore nobis quae. Accusamus fugiat minima asperiores eum sit.\\nQuod blanditiis dignissimos ullam beatae sapiente. Quis officiis recusandae dignissimos. Consequatur incidunt ducimus incidunt. Unde dignissimos assumenda explicabo fugiat cumque. Aut consequuntur modi nostrum commodi quaerat eligendi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Facere ullam dicta totam optio id repellendus.\", \"collapse_deleted_comments\": false, \"public_description\": \"Expedita impedit reprehenderit quia et ea excepturi.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita impedit reprehenderit quia et ea excepturi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Expedita aspernatur expedita inventore quia blanditiis. Tempore pariatur asperiores alias inventore nobis quae. Accusamus fugiat minima asperiores eum sit.\\nQuod blanditiis dignissimos ullam beatae sapiente. Quis officiis recusandae dignissimos. Consequatur incidunt ducimus incidunt. Unde dignissimos assumenda explicabo fugiat cumque. Aut consequuntur modi nostrum commodi quaerat eligendi.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5p\", \"created\": 1542380771.0, \"url\": \"/r/1542380771_fugiat/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380771.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2255" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "288.0" - ], - "x-ratelimit-reset": [ - "213" - ], - "x-ratelimit-used": [ - "12" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=MEuumJozw7TLwH6pJmjOCBp5RQVYuB5wiAMBxvDz4eSKo5raSfm7NnrGBcoUfj65d5kc09%2BAGCLViKQ2IelymCj6Saa3Fv%2By" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380771_fugiat/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2300-Au7x3IwD_8aQFOFqaHFoZfqMpTE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8y/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380771_fugiat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENumquam eveniet modi fugit amet. Provident dolor quo assumenda. Sit cumque quis vitae qui minus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Numquam eveniet modi fugit amet. Provident dolor quo assumenda. Sit cumque quis vitae qui minus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8y\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGXFYDM6KQE0GJEXPZ6448\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380771_fugiat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380771_fugiat/comments/8y/totam_ipsa_totam_velit_incidunt/\", \"locked\": false, \"name\": \"t3_8y\", \"created\": 1542380781.0, \"url\": \"http://reddit.local/r/1542380771_fugiat/comments/8y/totam_ipsa_totam_velit_incidunt/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Totam ipsa totam velit incidunt.\", \"created_utc\": 1542380781.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1756" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "287.0" - ], - "x-ratelimit-reset": [ - "213" - ], - "x-ratelimit-used": [ - "13" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=0ekysA948Gy18kmE5L4%2FPSfMbaY3IHqTeWXODfvCJVJDMGKom2fVteVorLSP6t0zwE1fVuz7waqFxo2zTUGLu9a7ihA7CDcw" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8y/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2300-Au7x3IwD_8aQFOFqaHFoZfqMpTE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380771_fugiat/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5p\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380771_fugiat\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita aspernatur expedita inventore quia blanditiis. Tempore pariatur asperiores alias inventore nobis quae. Accusamus fugiat minima asperiores eum sit.\\nQuod blanditiis dignissimos ullam beatae sapiente. Quis officiis recusandae dignissimos. Consequatur incidunt ducimus incidunt. Unde dignissimos assumenda explicabo fugiat cumque. Aut consequuntur modi nostrum commodi quaerat eligendi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Facere ullam dicta totam optio id repellendus.\", \"collapse_deleted_comments\": false, \"public_description\": \"Expedita impedit reprehenderit quia et ea excepturi.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita impedit reprehenderit quia et ea excepturi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Expedita aspernatur expedita inventore quia blanditiis. Tempore pariatur asperiores alias inventore nobis quae. Accusamus fugiat minima asperiores eum sit.\\nQuod blanditiis dignissimos ullam beatae sapiente. Quis officiis recusandae dignissimos. Consequatur incidunt ducimus incidunt. Unde dignissimos assumenda explicabo fugiat cumque. Aut consequuntur modi nostrum commodi quaerat eligendi.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5p\", \"created\": 1542380771.0, \"url\": \"/r/1542380771_fugiat/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380771.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2255" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "286.0" - ], - "x-ratelimit-reset": [ - "213" - ], - "x-ratelimit-used": [ - "14" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ZByRphceqQOlxcrlwel1tZ1gze1bujg4KlGFPSto61XFGSCFM5KPB4C%2FbpL6EHnIVdYDjyS77lyEs37VFeM%2FyyDm7CH1Itcm" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380771_fugiat/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2300-Au7x3IwD_8aQFOFqaHFoZfqMpTE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8x/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380771_fugiat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptatem adipisci quam incidunt quos. Similique culpa rem dolorem.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Voluptatem adipisci quam incidunt quos. Similique culpa rem dolorem.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8x\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGXFYDM6KQE0GJEXPZ6448\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380771_fugiat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380771_fugiat/comments/8x/a_architecto_eum_architecto_a/\", \"locked\": false, \"name\": \"t3_8x\", \"created\": 1542380778.0, \"url\": \"http://reddit.local/r/1542380771_fugiat/comments/8x/a_architecto_eum_architecto_a/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"A architecto eum architecto a.\", \"created_utc\": 1542380778.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1694" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "285.0" - ], - "x-ratelimit-reset": [ - "213" - ], - "x-ratelimit-used": [ - "15" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=X7N3tsGTVJpIU8b0qwkMic017ho%2FAGB3MIqoG1nNwoRvk51Opogcjunjqy7Lg65h%2FOWe%2Bg4xF3pOeS6885gd1pjdRar8mMWP" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8x/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2300-Au7x3IwD_8aQFOFqaHFoZfqMpTE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380771_fugiat/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5p\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380771_fugiat\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita aspernatur expedita inventore quia blanditiis. Tempore pariatur asperiores alias inventore nobis quae. Accusamus fugiat minima asperiores eum sit.\\nQuod blanditiis dignissimos ullam beatae sapiente. Quis officiis recusandae dignissimos. Consequatur incidunt ducimus incidunt. Unde dignissimos assumenda explicabo fugiat cumque. Aut consequuntur modi nostrum commodi quaerat eligendi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Facere ullam dicta totam optio id repellendus.\", \"collapse_deleted_comments\": false, \"public_description\": \"Expedita impedit reprehenderit quia et ea excepturi.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita impedit reprehenderit quia et ea excepturi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Expedita aspernatur expedita inventore quia blanditiis. Tempore pariatur asperiores alias inventore nobis quae. Accusamus fugiat minima asperiores eum sit.\\nQuod blanditiis dignissimos ullam beatae sapiente. Quis officiis recusandae dignissimos. Consequatur incidunt ducimus incidunt. Unde dignissimos assumenda explicabo fugiat cumque. Aut consequuntur modi nostrum commodi quaerat eligendi.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5p\", \"created\": 1542380771.0, \"url\": \"/r/1542380771_fugiat/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380771.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2255" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "284.0" - ], - "x-ratelimit-reset": [ - "213" - ], - "x-ratelimit-used": [ - "16" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=7LXnrXpKDtwCgfCqiOa%2BBxrjvJmnxdboggZ%2BlJ7ObywrtjDzmpdfxi41oU9YP0xBYYjYT8OxBO5okTt4Q6KZMwcTg6%2FPupcI" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380771_fugiat/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2300-Au7x3IwD_8aQFOFqaHFoZfqMpTE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8w/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380771_fugiat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIure in ab hic illo magni et quis. Ex quibusdam suscipit recusandae laborum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Iure in ab hic illo magni et quis. Ex quibusdam suscipit recusandae laborum.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8w\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGXFYDM6KQE0GJEXPZ6448\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380771_fugiat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380771_fugiat/comments/8w/quod_omnis_nobis_saepe_sint_modi_voluptatibus/\", \"locked\": false, \"name\": \"t3_8w\", \"created\": 1542380775.0, \"url\": \"http://reddit.local/r/1542380771_fugiat/comments/8w/quod_omnis_nobis_saepe_sint_modi_voluptatibus/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quod omnis nobis saepe sint modi voluptatibus.\", \"created_utc\": 1542380775.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1758" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "283.0" - ], - "x-ratelimit-reset": [ - "213" - ], - "x-ratelimit-used": [ - "17" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Yoal854vV2vJjkOq3xWGTwv%2FvdNmquvK0J6NWF8vgSIeED8bKIMwFQfERYrRh614WD6nPSi9tpXKBGV7ZN%2FAI7sE9YMurT7E" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8w/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:06:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2300-Au7x3IwD_8aQFOFqaHFoZfqMpTE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=54Nwi5FPbzQXUwodYL; loidcreated=2018-11-16T15%3A06%3A08.078Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380771_fugiat/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5p\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380771_fugiat\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita aspernatur expedita inventore quia blanditiis. Tempore pariatur asperiores alias inventore nobis quae. Accusamus fugiat minima asperiores eum sit.\\nQuod blanditiis dignissimos ullam beatae sapiente. Quis officiis recusandae dignissimos. Consequatur incidunt ducimus incidunt. Unde dignissimos assumenda explicabo fugiat cumque. Aut consequuntur modi nostrum commodi quaerat eligendi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Facere ullam dicta totam optio id repellendus.\", \"collapse_deleted_comments\": false, \"public_description\": \"Expedita impedit reprehenderit quia et ea excepturi.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita impedit reprehenderit quia et ea excepturi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Expedita aspernatur expedita inventore quia blanditiis. Tempore pariatur asperiores alias inventore nobis quae. Accusamus fugiat minima asperiores eum sit.\\nQuod blanditiis dignissimos ullam beatae sapiente. Quis officiis recusandae dignissimos. Consequatur incidunt ducimus incidunt. Unde dignissimos assumenda explicabo fugiat cumque. Aut consequuntur modi nostrum commodi quaerat eligendi.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5p\", \"created\": 1542380771.0, \"url\": \"/r/1542380771_fugiat/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380771.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2255" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:06:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "282.0" - ], - "x-ratelimit-reset": [ - "213" - ], - "x-ratelimit-used": [ - "18" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=w2jQTOk7DoXN1f0oRnL1gACFoClr2ijSPBlliqhoByxeaIXOjr%2Bn7J6Yoir7ZrW7sFxcakBC57AJ9kVUEfElxEBLE2%2FXDAXj" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380771_fugiat/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.moderators_test.test_add_moderator.json b/cassettes/channels.views.moderators_test.test_add_moderator.json deleted file mode 100644 index 45527ba909..0000000000 --- a/cassettes/channels.views.moderators_test.test_add_moderator.json +++ /dev/null @@ -1,596 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:02:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHK85M1KHY5647G2FQNYD5" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIysNB1Nyu08M9Kic9wzs8szIyPCq2KSrU0NAhMKslX0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLalO3uGZKeVJRcZ5QT6BpuH+AWllxWbOIZ7FYJtS0kty0xOjc9MARkM4SjVAgCqYwwKuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=cP3B81DGqs65AaqV95; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:02:04 GMT", - "loidcreated=2018-08-24T18%3A02%3A03.804Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:02:04 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHK85M1KHY5647G2FQNYD5" - } - }, - { - "recorded_at": "2018-08-24T18:02:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Quis+deleniti+quod+est+delectus.+Molestias+quaerat+repellat+expedita+perspiciatis+unde+ex.+Sapiente+impedit+accusamus+nostrum+aspernatur.%0APlaceat+error+aliquam+corrupti+laboriosam+alias+illum+minima.+Aut+hic+necessitatibus+reiciendis+voluptates+recusandae.+Fuga+blanditiis+deserunt+voluptatibus+ipsum.+Iure+officiis+reprehenderit+dolor+dolore+sed+debitis.&link_type=any&name=1535133724_asperiores&public_description=Repellat+perferendis+nostrum+corporis+atque.+Nemo+cum+temporibus+eius+at.&title=Ratione+quod+dicta+iste+vel.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 208-G6q8Ojd_hCoiqi_ZUzZe910Qbto" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "597" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=cP3B81DGqs65AaqV95; loidcreated=2018-08-24T18%3A02%3A03.804Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "476" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:02:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=cP3B81DGqs65AaqV95; loidcreated=2018-08-24T18%3A02%3A03.804Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHKEH02E1WP1ZS8C8TVCH9" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIysNQ1K4g38iwxDfP28kkJjSxxKXQ1Do8MTY9wLi1X0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLb55JRUhpe4BBikJKY4lVQlm6XlBxcGhxpbWESC9KSklmUmp8ZnpoAMhnCUagGAAW+6uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHKEH02E1WP1ZS8C8TVCH9" - } - }, - { - "recorded_at": "2018-08-24T18:02:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 208-G6q8Ojd_hCoiqi_ZUzZe910Qbto" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=cP3B81DGqs65AaqV95; loidcreated=2018-08-24T18%3A02%3A03.804Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133724_asperiores/about/moderators/?user=01CNPHK85M1KHY5647G2FQNYD5&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1535133724.0, \"mod_permissions\": [\"all\"], \"name\": \"01CNPHK85M1KHY5647G2FQNYD5\", \"id\": \"t2_5s\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "470" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Dmgn0QVFvqs0mpdzmQRt1PsAztc3xgt6rGg3XIbYEF8VQ3a7mgXX2wMbUPGp0EDW9v4M9GK7Uu4loNSGPa4iNyHjMtqfno9Q" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133724_asperiores/about/moderators/?user=01CNPHK85M1KHY5647G2FQNYD5&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:02:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHKEH02E1WP1ZS8C8TVCH9&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 208-G6q8Ojd_hCoiqi_ZUzZe910Qbto" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=cP3B81DGqs65AaqV95; loidcreated=2018-08-24T18%3A02%3A03.804Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133724_asperiores/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "470" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133724_asperiores/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:02:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 209-6p_2It5VKJLdUYtDqE3WYUgXCuw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=cP3B81DGqs65AaqV95; loidcreated=2018-08-24T18%3A02%3A03.804Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133724_asperiores/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "470" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133724_asperiores/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:02:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 208-G6q8Ojd_hCoiqi_ZUzZe910Qbto" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=cP3B81DGqs65AaqV95; loidcreated=2018-08-24T18%3A02%3A03.804Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133724_asperiores/about/moderators/?user=01CNPHKEH02E1WP1ZS8C8TVCH9&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1535133730.0, \"mod_permissions\": [\"all\"], \"name\": \"01CNPHKEH02E1WP1ZS8C8TVCH9\", \"id\": \"t2_5t\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "470" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ERsE2RBDDJch3Cj5Febs2UNvfDi5rBuxId%2F5GGEDZKWe6sA8Q%2Bs%2Fe9YsqOl1cunLSGTtRuWX71fGXDwoikkPDjj2f4%2B4tlVI" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133724_asperiores/about/moderators/?user=01CNPHKEH02E1WP1ZS8C8TVCH9&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.moderators_test.test_add_moderator_again.json b/cassettes/channels.views.moderators_test.test_add_moderator_again.json deleted file mode 100644 index 6f8785dc61..0000000000 --- a/cassettes/channels.views.moderators_test.test_add_moderator_again.json +++ /dev/null @@ -1,688 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:02:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHKZE781P8JCA70QMX91C9" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNNY1yQ5wCzWs8Cgz8Ut3zQ9M83ExAtKOuS4evko6CkqpFQWZRanF8ZkgDcZmBgZAMbD++JLKglSQIUmpiUWpRSC1xcn5ECEtEK8oNQ2oMQPVtsrEUFMTr6DwFL+spMjIqviwYJ8gA/Nkkyz/ZJCelNSyzOTU+MwUkMEQjlItADE5Pvy4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=JSMUndXv6y6wQdxn7Y; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:02:27 GMT", - "loidcreated=2018-08-24T18%3A02%3A27.628Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:02:27 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHKZE781P8JCA70QMX91C9" - } - }, - { - "recorded_at": "2018-08-24T18:02:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Esse+odio+aperiam+ipsa.+Recusandae+aliquam+laboriosam+pariatur+aut+voluptatum+reiciendis+vero.+Veritatis+dignissimos+adipisci+beatae+adipisci+architecto+reprehenderit+perferendis+eaque.+Quo+porro+quaerat+explicabo+perferendis+aliquam+officia.%0AQuaerat+suscipit+doloribus+placeat.+Commodi+nostrum+sunt+nulla.+Esse+quos+tempore+qui.%0ASimilique+dolor+nemo+id+laborum+harum.+Maiores+possimus+magni+optio+totam+ut+provident+laboriosam.+Doloribus+rem+adipisci+suscipit+deleniti+provident+cum.&link_type=any&name=1535133747_porro&public_description=Eaque+soluta+atque+debitis+nobis+eos+voluptates+accusantium.+Qui+aperiam+labore+at+molestiae.&title=Voluptates+eius+nemo+eligendi+quos+doloribus.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 213-4kPFU1xHv4NgEoQfLD2gEoAmDHM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "760" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JSMUndXv6y6wQdxn7Y; loidcreated=2018-08-24T18%3A02%3A27.628Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "452" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:02:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=JSMUndXv6y6wQdxn7Y; loidcreated=2018-08-24T18%3A02%3A27.628Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHM5TGNAY9PMZAVJNR5AV2" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNNENM87wMjV0Cgzyj8+0zDQsL7IICvSzLIg0cndV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZ5ZRe5WRoEexl5Bqc4BxdYmoaXheS7mAFtBtuWklqWmZwan5kCMhjCUaoFAPPARfy4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHM5TGNAY9PMZAVJNR5AV2" - } - }, - { - "recorded_at": "2018-08-24T18:02:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHM5TGNAY9PMZAVJNR5AV2&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 213-4kPFU1xHv4NgEoQfLD2gEoAmDHM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JSMUndXv6y6wQdxn7Y; loidcreated=2018-08-24T18%3A02%3A27.628Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133747_porro/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "446" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133747_porro/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:02:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 214-V3hJ51BQRO_i9i1wr8RQN9pY2GE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JSMUndXv6y6wQdxn7Y; loidcreated=2018-08-24T18%3A02%3A27.628Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133747_porro/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "446" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133747_porro/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:02:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 213-4kPFU1xHv4NgEoQfLD2gEoAmDHM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=JSMUndXv6y6wQdxn7Y; loidcreated=2018-08-24T18%3A02%3A27.628Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133747_porro/about/moderators/?user=01CNPHKZE781P8JCA70QMX91C9&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1535133748.0, \"mod_permissions\": [\"all\"], \"name\": \"01CNPHKZE781P8JCA70QMX91C9\", \"id\": \"t2_5x\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "446" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=mukpvfZItI3%2FnDWLa%2B4xULGEZHHqNQYpwe%2B%2BXKJtr4ehWAZBGav1jZ8jQtUcxTRQtme6xMRHcSFotkexpebLCoxcInzn9FQ%2B" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133747_porro/about/moderators/?user=01CNPHKZE781P8JCA70QMX91C9&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:02:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHM5TGNAY9PMZAVJNR5AV2&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 213-4kPFU1xHv4NgEoQfLD2gEoAmDHM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JSMUndXv6y6wQdxn7Y; loidcreated=2018-08-24T18%3A02%3A27.628Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133747_porro/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [[\"ALREADY_MODERATOR\", \"that user is already a moderator\", \"name\"]]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "89" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "446" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133747_porro/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:02:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 213-4kPFU1xHv4NgEoQfLD2gEoAmDHM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=JSMUndXv6y6wQdxn7Y; loidcreated=2018-08-24T18%3A02%3A27.628Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133747_porro/about/moderators/?user=01CNPHM5TGNAY9PMZAVJNR5AV2&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1535133754.0, \"mod_permissions\": [\"all\"], \"name\": \"01CNPHM5TGNAY9PMZAVJNR5AV2\", \"id\": \"t2_5y\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "446" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=6ckREeOw202jiJKzqksveb9ZiAZt%2FDYF%2BOhblhvcvrfanUWrLLo4likqqmFXcO539oBCOkmZAAcy0YZjn0QD%2BAiAalSd8WU8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133747_porro/about/moderators/?user=01CNPHM5TGNAY9PMZAVJNR5AV2&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.moderators_test.test_add_moderator_anonymous.json b/cassettes/channels.views.moderators_test.test_add_moderator_anonymous.json deleted file mode 100644 index 21e7b446cc..0000000000 --- a/cassettes/channels.views.moderators_test.test_add_moderator_anonymous.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "http_interactions": [], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.moderators_test.test_add_moderator_email.json b/cassettes/channels.views.moderators_test.test_add_moderator_email.json deleted file mode 100644 index 2e83f7edb0..0000000000 --- a/cassettes/channels.views.moderators_test.test_add_moderator_email.json +++ /dev/null @@ -1,848 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:02:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHKJ1EJTQ7FD2Y561AGJQ8" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNNCNqkoJDUgNMcx2yUmNqsoNLQv0Kg/2TTP3y/RV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaF5HtHWuY6ZSYZ+2Wb5IXrJhV7u1pGeZbkuuaD9KSklmUmp8ZnpoAMhnCUagFfe5TeuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=4GUxvNmNUm5nI4orbc; Domain=reddit.local; Max-Age=63072000; Path=/; expires=Sun, 23-Aug-2020 18:02:14 GMT", - "loidcreated=2018-08-24T18%3A02%3A13.908Z; Domain=reddit.local; Max-Age=63072000; Path=/; expires=Sun, 23-Aug-2020 18:02:14 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHKJ1EJTQ7FD2Y561AGJQ8" - } - }, - { - "recorded_at": "2018-08-24T18:02:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Quod+at+sequi+commodi+magnam+quaerat+facere+fugit.+Id+reiciendis+explicabo+iure+sed+exercitationem+illo.+Aut+asperiores+deserunt+iusto+ut.%0AEarum+accusamus+illo+hic+aperiam+eligendi+commodi+blanditiis.+Nostrum+quia+architecto+optio+necessitatibus+aliquam+quisquam.+Quibusdam+modi+nemo+expedita+iusto+harum+quae+eveniet.+Consequuntur+recusandae+voluptas+temporibus+sapiente+ducimus+recusandae+saepe.&link_type=any&name=1535133734_nesciunt&public_description=Sit+animi+aperiam+alias+et+totam.+Qui+ex+non+veniam+vero+voluptatum+dolor.&title=Deleniti+voluptate+dicta+sed+deserunt+eveniet+id.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 210-ZzdUPeT1kDleZzmUvQJwSMf7NiM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "659" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=4GUxvNmNUm5nI4orbc; loidcreated=2018-08-24T18%3A02%3A13.908Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "466" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:02:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=4GUxvNmNUm5nI4orbc; loidcreated=2018-08-24T18%3A02%3A13.908Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHKREAAET76Y23E4RJQ1X3" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNywrCMBREf6VkKQpplSruWimuQi0idhdieqOXiK1J7APx323syuUc5sy8iZASrOWu1vAg24BEYbiokR3E+Rp3ZZG44+qkXj3StFdoMjIPCPQNGrAcvbCMKR3Zz+duaMCPXEAYML5rZT2hmU8G1Cje/t9KmT4jZGqvdJvrDtZFnm2Ge8J3zDsVtCiBY+WHp0A+X1ZVmwm4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHKREAAET76Y23E4RJQ1X3" - } - }, - { - "recorded_at": "2018-08-24T18:02:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=4GUxvNmNUm5nI4orbc; loidcreated=2018-08-24T18%3A02%3A13.908Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHKVQGHSNDTFWAXVMK70X7" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNNJNDs8KszDycs4zDvQND00xc3c08DNz98o1KTZQ0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZFlWS7lKaGFrlWFrkbRjp5OHu7ORlXmgY5pqaD9KSklmUmp8ZnpoAMhnCUagEvD2mCuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHKVQGHSNDTFWAXVMK70X7" - } - }, - { - "recorded_at": "2018-08-24T18:02:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHKREAAET76Y23E4RJQ1X3&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 210-ZzdUPeT1kDleZzmUvQJwSMf7NiM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=4GUxvNmNUm5nI4orbc; loidcreated=2018-08-24T18%3A02%3A13.908Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133734_nesciunt/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "456" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133734_nesciunt/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:02:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 211-oiMPaWg6wXQAtS4Ufuxi0BxfirE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=4GUxvNmNUm5nI4orbc; loidcreated=2018-08-24T18%3A02%3A13.908Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133734_nesciunt/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "456" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133734_nesciunt/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:02:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 210-ZzdUPeT1kDleZzmUvQJwSMf7NiM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=4GUxvNmNUm5nI4orbc; loidcreated=2018-08-24T18%3A02%3A13.908Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133734_nesciunt/about/moderators/?user=01CNPHKJ1EJTQ7FD2Y561AGJQ8&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1535133734.0, \"mod_permissions\": [\"all\"], \"name\": \"01CNPHKJ1EJTQ7FD2Y561AGJQ8\", \"id\": \"t2_5u\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "456" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=3EPy9Pqzm7U%2ByZGN%2FD3RSYGkQ859bgUejUwIHIFAG4%2BefL4AnwSeGN0qQxfrVZ3sWUAX91Zvx72Dwd7yO3BLGZNAda%2B6E9Rw" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133734_nesciunt/about/moderators/?user=01CNPHKJ1EJTQ7FD2Y561AGJQ8&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:02:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHKVQGHSNDTFWAXVMK70X7&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 210-ZzdUPeT1kDleZzmUvQJwSMf7NiM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=4GUxvNmNUm5nI4orbc; loidcreated=2018-08-24T18%3A02%3A13.908Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133734_nesciunt/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "456" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133734_nesciunt/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:02:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 212-cWjV82JCn3QMWUd6GA0N6GJm4s0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=4GUxvNmNUm5nI4orbc; loidcreated=2018-08-24T18%3A02%3A13.908Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133734_nesciunt/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "456" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133734_nesciunt/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:02:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 210-ZzdUPeT1kDleZzmUvQJwSMf7NiM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=4GUxvNmNUm5nI4orbc; loidcreated=2018-08-24T18%3A02%3A13.908Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133734_nesciunt/about/moderators/?user=01CNPHKVQGHSNDTFWAXVMK70X7&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1535133744.0, \"mod_permissions\": [\"all\"], \"name\": \"01CNPHKVQGHSNDTFWAXVMK70X7\", \"id\": \"t2_5w\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:02:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "456" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=4ovmC1H3xvVfExP2Tmj4w2y3qBBWeDM5D4aXVKgMxBvZy%2FAm%2FFSw0Eg0sqsgHR5ABgZM5y9z4ikJCX5uVD7r23pj1Ao9g9h3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133734_nesciunt/about/moderators/?user=01CNPHKVQGHSNDTFWAXVMK70X7&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.moderators_test.test_list_moderators.json b/cassettes/channels.views.moderators_test.test_list_moderators.json deleted file mode 100644 index 0030b1d060..0000000000 --- a/cassettes/channels.views.moderators_test.test_list_moderators.json +++ /dev/null @@ -1,937 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:00:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHGH6NW77MCDFNN553X83J" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDK0sNA1cUly8UlJLkj0cSwvdDHIqkw3cg51jojXdQlU0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLa5hRbmZJUVeDiXGSenJZeVGicGRXoFuUSVhzmC9KSklmUmp8ZnpoAMhnCUagE5ew47uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=dLc9wP7bsWNyYXEM4S; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:00:35 GMT", - "loidcreated=2018-08-24T18%3A00%3A34.729Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:00:35 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHGH6NW77MCDFNN553X83J" - } - }, - { - "recorded_at": "2018-08-24T18:00:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Occaecati+asperiores+ullam+tempora+nulla.+Cumque+sequi+perferendis+eum+earum+officiis+laboriosam.+Et+voluptatem+error+quibusdam+facere+quo+sed+reprehenderit.+Commodi+beatae+soluta+pariatur+enim+ipsa+tempore+fugit.%0AVoluptatem+harum+harum+est+maiores+sit.+Ducimus+rem+aliquam+ex+non.+Veniam+praesentium+eum+delectus+molestias+consectetur.+Excepturi+voluptatum+sit+veritatis+suscipit+velit.&link_type=any&name=1535133635_consectetu&public_description=Occaecati+eius+maiores+aliquid+commodi.+Ipsum+eius+fugit+modi+minima.&title=Incidunt+nisi+officia+eaque+reiciendis.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 188-4DbDLdcpaLAwqD0jyg2CUCX_-DQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "637" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=dLc9wP7bsWNyYXEM4S; loidcreated=2018-08-24T18%3A00%3A34.729Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "565" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:00:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=dLc9wP7bsWNyYXEM4S; loidcreated=2018-08-24T18%3A00%3A34.729Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHGQH75YFM16QF5HPCFRNJ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDK0sNS1rHDxL0urMogMdIn3zs8OysjQDfQpCK5KTvRV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYVeCX5mxVleFdmmZomuReY+eUkBrqWpEVUhZiA9KSklmUmp8ZnpoAMhnCUagH4gKeGuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHGQH75YFM16QF5HPCFRNJ" - } - }, - { - "recorded_at": "2018-08-24T18:00:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHGQH75YFM16QF5HPCFRNJ&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 188-4DbDLdcpaLAwqD0jyg2CUCX_-DQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=dLc9wP7bsWNyYXEM4S; loidcreated=2018-08-24T18%3A00%3A34.729Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133635_consectetu/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "559" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133635_consectetu/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:00:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535133635_consectetu" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 189-9xDOvfz0YQD_KokRhh-QLpSzcaM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "80" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=dLc9wP7bsWNyYXEM4S; loidcreated=2018-08-24T18%3A00%3A34.729Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "559" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:00:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=dLc9wP7bsWNyYXEM4S; loidcreated=2018-08-24T18%3A00%3A34.729Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHGTYFT6575518ZQRTSEKS" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDK0NNA1KjaLKkj3L3PKMIxPinQO83CuNE0rL/BKCQhU0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLalxOeEZxvnlCdXBsW7ZTulRJq6lLnmlBiUB5mA9KSklmUmp8ZnpoAMhnCUagE9WTO/uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHGTYFT6575518ZQRTSEKS" - } - }, - { - "recorded_at": "2018-08-24T18:00:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHGTYFT6575518ZQRTSEKS&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 188-4DbDLdcpaLAwqD0jyg2CUCX_-DQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=dLc9wP7bsWNyYXEM4S; loidcreated=2018-08-24T18%3A00%3A34.729Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133635_consectetu/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "555" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133635_consectetu/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:00:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 190-2s6ZpgOvBh1_bYCVHCy5fwpJdPQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=dLc9wP7bsWNyYXEM4S; loidcreated=2018-08-24T18%3A00%3A34.729Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133635_consectetu/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "555" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133635_consectetu/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:00:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 189-9xDOvfz0YQD_KokRhh-QLpSzcaM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=dLc9wP7bsWNyYXEM4S; loidcreated=2018-08-24T18%3A00%3A34.729Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133635_consectetu/about/moderators/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1535133635.0, \"mod_permissions\": [\"all\"], \"name\": \"01CNPHGH6NW77MCDFNN553X83J\", \"id\": \"t2_58\"}, {\"date\": 1535133645.0, \"mod_permissions\": [\"all\"], \"name\": \"01CNPHGTYFT6575518ZQRTSEKS\", \"id\": \"t2_5a\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "254" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "555" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=WXmVapUsjBgGniCDEZ5UP%2B8KNmGpichcUxSHXuDs9Z1YkyWZXBSw2uQBnifpJ7puUPGKCe8gZg2aeiRn6ujR54Sl%2BkfvJHb%2F" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133635_consectetu/about/moderators/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:00:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 189-9xDOvfz0YQD_KokRhh-QLpSzcaM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=dLc9wP7bsWNyYXEM4S; loidcreated=2018-08-24T18%3A00%3A34.729Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133635_consectetu/about/moderators/?user=01CNPHGQH75YFM16QF5HPCFRNJ&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "555" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=IaoMHN3ZGMktxHneu7vu2P0j7ElyKRpnEjmKOIqejnzwrmv2OCaXijMldVkxzg39ythYaYTUQvIXgaMBRF5MpQsDDgUuW2mi" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133635_consectetu/about/moderators/?user=01CNPHGQH75YFM16QF5HPCFRNJ&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:00:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 189-9xDOvfz0YQD_KokRhh-QLpSzcaM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=dLc9wP7bsWNyYXEM4S; loidcreated=2018-08-24T18%3A00%3A34.729Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133635_consectetu/about/moderators/?user=01CNPHGQH75YFM16QF5HPCFRNJ&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "555" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=k%2B%2FY4slOZWUxWF%2Bf005sijfsOFJY9KxKRGVLLxSFFu6thQ1MdLXW2811GPu7hUvPHVyn70dV3tYD7qIyJNmxJY3hmoKUlktG" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133635_consectetu/about/moderators/?user=01CNPHGQH75YFM16QF5HPCFRNJ&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.moderators_test.test_list_moderators_anonymous.json b/cassettes/channels.views.moderators_test.test_list_moderators_anonymous.json deleted file mode 100644 index 599dd32fd0..0000000000 --- a/cassettes/channels.views.moderators_test.test_list_moderators_anonymous.json +++ /dev/null @@ -1,421 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:01:51", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHJVF2Z3D6V2ZP1V58TK6Q" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyMNP1M/VKNvI0czd28/LW9Qsv8cg3y7SsSs0pDvFV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYlG5rn5qb45gfp5hWY5gaUuDk7uTk7uhoamoJtS0kty0xOjc9MARkM4SjVAgB/ivIXuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:01:51 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=4CZV0sKD0APyfM5wtb; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:01:51 GMT", - "loidcreated=2018-08-24T18%3A01%3A50.769Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:01:51 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHJVF2Z3D6V2ZP1V58TK6Q" - } - }, - { - "recorded_at": "2018-08-24T18:01:51", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Debitis+eveniet+tempora+omnis+blanditiis+numquam+explicabo+dolorum.+Voluptates+labore+reiciendis+corrupti+nostrum+quam+nulla.+Magni+mollitia+beatae+accusantium+laborum+repudiandae+recusandae+dolorem+sequi.+Earum+quasi+hic+facilis+ab.%0AAmet+corrupti+veniam+eos+reiciendis+dolor.+Quae+dolorem+et+sed+occaecati.+Praesentium+eaque+repellendus+illo+quasi+quae+illum+deserunt.&link_type=any&name=1535133711_quibusdam&public_description=Eos+dicta+at+esse+dolores+mollitia+non.+Eos+asperiores+debitis+illum+in.&title=Harum+repellat+reiciendis+beatae+similique.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 206-N5Jc2I6G3FJK-NWtHo6i9zelsTM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "624" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=4CZV0sKD0APyfM5wtb; loidcreated=2018-08-24T18%3A01%3A50.769Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:01:51 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "489" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:01:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=client_credentials" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic b2RfY2xpZW50X2lkOm9kX2NsaWVudF9zZWNyZXQ=" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "29" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=4CZV0sKD0APyfM5wtb; loidcreated=2018-08-24T18%3A01%3A50.769Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"-LiKb2VnxaAipSCHH_gR0JyzHWD4\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "106" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:01:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297" - ], - "x-ratelimit-reset": [ - "486" - ], - "x-ratelimit-used": [ - "3" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2018-08-24T18:01:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer -LiKb2VnxaAipSCHH_gR0JyzHWD4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=4CZV0sKD0APyfM5wtb; loidcreated=2018-08-24T18%3A01%3A50.769Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133711_quibusdam/about/moderators/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1535133711.0, \"mod_permissions\": [\"all\"], \"name\": \"01CNPHJVF2Z3D6V2ZP1V58TK6Q\", \"id\": \"t2_5q\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:01:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296" - ], - "x-ratelimit-reset": [ - "486" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Wgq4kcUHZfdTBTVhNIiMwcM2bHoZb0ZRiPXAWZ8jWouwIsswGX6YP29e%2BPUSerANI%2Fn9mQxETLBCiYr%2BWbYmqAJULAOt4ICZ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133711_quibusdam/about/moderators/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:01:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer -LiKb2VnxaAipSCHH_gR0JyzHWD4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=4CZV0sKD0APyfM5wtb; loidcreated=2018-08-24T18%3A01%3A50.769Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133711_quibusdam/about/moderators/?user=&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1535133711.0, \"mod_permissions\": [\"all\"], \"name\": \"01CNPHJVF2Z3D6V2ZP1V58TK6Q\", \"id\": \"t2_5q\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:01:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295" - ], - "x-ratelimit-reset": [ - "486" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=%2B8Xj0GvoXvrErPLpwpHnAioHCnWtwEL8S6Urz6biaD5iUb8RNDkxWvey%2FmNq1g%2FhdRKRPydF%2FQlNszqfCn7%2FaeVU3vjjxH%2Fc" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133711_quibusdam/about/moderators/?user=&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.moderators_test.test_list_moderators_many_moderator.json b/cassettes/channels.views.moderators_test.test_list_moderators_many_moderator.json deleted file mode 100644 index 22882cac1b..0000000000 --- a/cassettes/channels.views.moderators_test.test_list_moderators_many_moderator.json +++ /dev/null @@ -1,2953 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-09-13T19:41:58", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA78HYA7H58Z0VZPD7R3PKQ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2sdB18TE3MokPsTDWzQ6JSHH2yysy1DWqMLYI9HNV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZlBpRZlpXnWuaZ+0eWm5XpelcU5hqbZEVGuaaD9KSklmUmp8ZnpoAMhnCUagF61wCFuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:41:58 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sat, 12-Sep-2020 19:41:58 GMT", - "loidcreated=2018-09-13T19%3A41%3A58.046Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sat, 12-Sep-2020 19:41:58 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA78HYA7H58Z0VZPD7R3PKQ" - } - }, - { - "recorded_at": "2018-09-13T19:41:58", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Quasi+culpa+vero+quibusdam+dignissimos.+Nemo+aliquam+temporibus+dolor+consequatur+perspiciatis+fugiat+impedit.+Consectetur+accusamus+excepturi+recusandae+cumque+laboriosam+vero+aut+incidunt.+Ipsa+veritatis+vero+esse+provident+vitae+soluta+reiciendis+atque.+Tenetur+libero+impedit+asperiores+natus.&link_type=any&name=1536867718_praesentiu&public_description=Quidem+modi+iusto+nihil+laborum.+Necessitatibus+eligendi+natus+voluptate+quia+deleniti+tempora+id.&title=Ipsam+distinctio+consequatur+reprehenderit.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 348-DL724_T83-kTXdCNnr1-2x38QNE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "578" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:41:58 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "482" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA78RC22HKTRYDQ2SRFTFAK" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2sdQtDHfNcwl0tSw2Doy3jKwIKg81jPLMSPbzzUhW0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLa5F7qZR6U6medkWYQbWWRlJQWUVaSl+qdbRmSD9KSklmUmp8ZnpoAMhnCUagGWIrShuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA78RC22HKTRYDQ2SRFTFAK" - } - }, - { - "recorded_at": "2018-09-13T19:42:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CQA78RC22HKTRYDQ2SRFTFAK&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 348-DL724_T83-kTXdCNnr1-2x38QNE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "475" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 349-qWEnDQE9s3Q_9YxRwU1ZIhcNMhc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "475" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA78W5JZWEYJF141NJHMJWY" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNQQ6CMBREr0K6NJJUGhXdwkJMMMZGtg22H6yoQAsENN5dvqxczsu8mTdJpQRrRVMW8CRbh7Aldfmt9+qYr4fozgOT55t20Q7J7pyElswdAn2lDVihUWArSkf280UzVIAjF0gNGOxaWU5ohslANorX/7cOMvfg7a0L/qmgj/ClfF63ETsmMToKOi1BaIXDUyCfL4Rxr764AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA78W5JZWEYJF141NJHMJWY" - } - }, - { - "recorded_at": "2018-09-13T19:42:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CQA78W5JZWEYJF141NJHMJWY&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 348-DL724_T83-kTXdCNnr1-2x38QNE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "472" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 350-Sjx2qMS7yIlSCrgg9u1uyVHUVDs" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:09 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "471" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:12", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA78ZQQDDB7KXYRV09BWC3S" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNwQrCMBBEf6XkKAppaxW9KSk2FxEPKl5C3WwxVNqQLLUi/ruNPXmcx7yZNysB0HtFbY0NW0cszeJZr68XUXUkdtyJeJ+cqVaQUGG3nk0jhr01Dr0yQUgXnA/s5yt6WQwjNywdutD10I5oEpLDahDv/29Ln68KA7EEaY+bg3zOT2Qpa/IHBEdjZwCV0WF4DOzzBf8vSBS4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:12 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA78ZQQDDB7KXYRV09BWC3S" - } - }, - { - "recorded_at": "2018-09-13T19:42:12", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CQA78ZQQDDB7KXYRV09BWC3S&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 348-DL724_T83-kTXdCNnr1-2x38QNE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:12 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "468" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:12", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 351-xdZXDfvtDG0rD1N2Wtk_c2tHpBs" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:12 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "468" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:16", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA793B3HNP934THJ6T29H99" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2NdI1y3XOSM/01w0KTvLJSPILC/KoiPQL8S6oKjVQ0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYVJ1cUunjkBJXqehX5eqeWBsd76OYYGZbFmziC9KSklmUmp8ZnpoAMhnCUagHlR0xGuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA793B3HNP934THJ6T29H99" - } - }, - { - "recorded_at": "2018-09-13T19:42:16", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CQA793B3HNP934THJ6T29H99&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 348-DL724_T83-kTXdCNnr1-2x38QNE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "464" - ], - "x-ratelimit-used": [ - "5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:16", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 352-6mChgiO-RSbLhbNVRHxYNTKpzu0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "464" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA796ZD142W25BTHCKNJJ3F" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2NdatKkmuMiordgszt/Q3KTTKsvA2dnMtMggrig9U0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZlmCemRlmUJmYZmZVGBKQYGpuYOkXmBfuZuDuC9KSklmUmp8ZnpoAMhnCUagHEw6/puAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA796ZD142W25BTHCKNJJ3F" - } - }, - { - "recorded_at": "2018-09-13T19:42:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CQA796ZD142W25BTHCKNJJ3F&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 348-DL724_T83-kTXdCNnr1-2x38QNE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "461" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 353-ztcz2vsFV79O4q2j8K3FEr0Vr_Q" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "460" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA79AJDXCFWGT0972W0ZMWY" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNyw6CMBREf4V0aTSpVtC4I0S2hviIu6aUCzaY0vSSSjH+u1RWLudkzsybCCkBkfddC5ocIsLi7erpWeaKRG/0kO2OCh1T91eMV2mRLCMCg1EWkKsgsITSif183nsDYaQEYcGGLspuRouQLNST+Ph/E836fBOmMGNf5s3ejOJ0qVtPfZ4GpwKnJHBVheE5kM8XXUkUkrgAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA79AJDXCFWGT0972W0ZMWY" - } - }, - { - "recorded_at": "2018-09-13T19:42:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CQA79AJDXCFWGT0972W0ZMWY&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 348-DL724_T83-kTXdCNnr1-2x38QNE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "457" - ], - "x-ratelimit-used": [ - "7" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 354-ly3CvQ6n2nxC7Eisv3iXw5sUcrs" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "457" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA79E35CNXWK8JSQGASXT6M" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNwQqCQBRFf0VmGQmCKdHWAhGMamG1GqaZJ74kR+ZJMxb9e06uWt7DPfe+mZASiPigW+jYJmBxkoT3Vxq2aNXa4pE0FruDO9vsVFCv2TJg4Ho0QBy9EKdRNLGfz4exBz9yA2HA+C5JPaOFTwbqSWz+37prva9cMay2JJLx0VzyKitLRYKsdxQ8UQJH5YfnwD5fHbF6D7gAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA79E35CNXWK8JSQGASXT6M" - } - }, - { - "recorded_at": "2018-09-13T19:42:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CQA79E35CNXWK8JSQGASXT6M&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 348-DL724_T83-kTXdCNnr1-2x38QNE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "453" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 355-jz6-kiwd8wiQsoiJEPxWwCRJspo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "453" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA79HR8A1DJ274AGHH5P2XW" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNwQqCQBRFf0VmGQWGqdDObAxqY4to+dDxDY6Kyhs1h+jfc3LV8h7uuffNMiFQaxi6Glt2dJjnB7swAhWRvF0SI8eUR/E8cjev/KfP2dZhOPeKUIOyghe47sJ+PgymRzuSY0ZItqtFt6KNTYRyEcv/N0rSw3W8V20zmfrV8I4TnPelDk8P6xQ4KYGgCju8Bvb5AosZGfa4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA79HR8A1DJ274AGHH5P2XW" - } - }, - { - "recorded_at": "2018-09-13T19:42:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CQA79HR8A1DJ274AGHH5P2XW&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 348-DL724_T83-kTXdCNnr1-2x38QNE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "449" - ], - "x-ratelimit-used": [ - "9" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 356-7A_iArfKGFyfuPEACxuE0bj5W5E" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "449" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA79NGCW7W54C07FD7C4H57" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2NdfNDywzyiopC/AqSHbLSCsqzswxC/IxdfV3qnBV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYlBSd6WaZXGgT7JLmERegWRWSbhpqUBplHphuA9KSklmUmp8ZnpoAMhnCUagEvRQk0uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA79NGCW7W54C07FD7C4H57" - } - }, - { - "recorded_at": "2018-09-13T19:42:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CQA79NGCW7W54C07FD7C4H57&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 348-DL724_T83-kTXdCNnr1-2x38QNE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "446" - ], - "x-ratelimit-used": [ - "10" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 357-oQv2jtvPJpcFhfrsil6RL5EOBxE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "445" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA79S6CXJ6YDVB1NM5QTN51" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2tdBNS87Iy3EJyfEoD3G2jAjNCo7yLq3MSDUrNzVR0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLalFuT5l+T5Gxu7+5VERDm5J6UEBCcbGJVEuXiC9KSklmUmp8ZnpoAMhnCUagEE5arEuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA79S6CXJ6YDVB1NM5QTN51" - } - }, - { - "recorded_at": "2018-09-13T19:42:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CQA79S6CXJ6YDVB1NM5QTN51&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 348-DL724_T83-kTXdCNnr1-2x38QNE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "289.0" - ], - "x-ratelimit-reset": [ - "442" - ], - "x-ratelimit-used": [ - "11" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 358-fchnlDTlHwTC9XUjSZKuyhe6w54" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "442" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 358-fchnlDTlHwTC9XUjSZKuyhe6w54" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1536867718_praesentiu/about/moderators/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1536867718.0, \"mod_permissions\": [\"all\"], \"name\": \"01CQA78HYA7H58Z0VZPD7R3PKQ\", \"id\": \"t2_9o\"}, {\"date\": 1536867725.0, \"mod_permissions\": [\"all\"], \"name\": \"01CQA78RC22HKTRYDQ2SRFTFAK\", \"id\": \"t2_9p\"}, {\"date\": 1536867729.0, \"mod_permissions\": [\"all\"], \"name\": \"01CQA78W5JZWEYJF141NJHMJWY\", \"id\": \"t2_9q\"}, {\"date\": 1536867732.0, \"mod_permissions\": [\"all\"], \"name\": \"01CQA78ZQQDDB7KXYRV09BWC3S\", \"id\": \"t2_9r\"}, {\"date\": 1536867736.0, \"mod_permissions\": [\"all\"], \"name\": \"01CQA793B3HNP934THJ6T29H99\", \"id\": \"t2_9s\"}, {\"date\": 1536867740.0, \"mod_permissions\": [\"all\"], \"name\": \"01CQA796ZD142W25BTHCKNJJ3F\", \"id\": \"t2_9t\"}, {\"date\": 1536867743.0, \"mod_permissions\": [\"all\"], \"name\": \"01CQA79AJDXCFWGT0972W0ZMWY\", \"id\": \"t2_9u\"}, {\"date\": 1536867747.0, \"mod_permissions\": [\"all\"], \"name\": \"01CQA79E35CNXWK8JSQGASXT6M\", \"id\": \"t2_9v\"}, {\"date\": 1536867751.0, \"mod_permissions\": [\"all\"], \"name\": \"01CQA79HR8A1DJ274AGHH5P2XW\", \"id\": \"t2_9w\"}, {\"date\": 1536867755.0, \"mod_permissions\": [\"all\"], \"name\": \"01CQA79NGCW7W54C07FD7C4H57\", \"id\": \"t2_9x\"}, {\"date\": 1536867758.0, \"mod_permissions\": [\"all\"], \"name\": \"01CQA79S6CXJ6YDVB1NM5QTN51\", \"id\": \"t2_9y\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1199" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "442" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=RikLPLzH776yt9P6%2FeUTq8aZXn4z4UyTjsDnXVh7HBkt8aTZIct2pVQZPA4OubzqE%2FhwIPn3VxolVUeJuz3qbm0yeoTVjT5D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/about/moderators/?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 358-fchnlDTlHwTC9XUjSZKuyhe6w54" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1536867718_praesentiu/about/moderators/?user=01CQA79S6CXJ6YDVB1NM5QTN51&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1536867758.0, \"mod_permissions\": [\"all\"], \"name\": \"01CQA79S6CXJ6YDVB1NM5QTN51\", \"id\": \"t2_9y\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "442" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=0kNXJs3fkZKIIgBBlPhP2s5YutTyk5ZbHvzitorUsVm28%2BSGiR1pIR5xkwnQPhnYh8b4yTjU9GgnAJlNlP%2BHGZ%2BkOzdXYg2l" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/about/moderators/?user=01CQA79S6CXJ6YDVB1NM5QTN51&raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:42:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 358-fchnlDTlHwTC9XUjSZKuyhe6w54" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=WaZaChMUU9ZwfgDcl8; loidcreated=2018-09-13T19%3A41%3A58.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1536867718_praesentiu/about/moderators/?user=01CQA79S6CXJ6YDVB1NM5QTN51&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1536867758.0, \"mod_permissions\": [\"all\"], \"name\": \"01CQA79S6CXJ6YDVB1NM5QTN51\", \"id\": \"t2_9y\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:42:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "442" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Lq8hjSnhh58qqmITthEediUgj%2B9jv6ddTUR2iLEMklpWHI2qAIxQyo1ZeXPxiZ8R9RjaKuJCYleViwY3qz6VB%2BHvp%2FF5%2F6D9" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867718_praesentiu/about/moderators/?user=01CQA79S6CXJ6YDVB1NM5QTN51&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.moderators_test.test_list_moderators_moderator.json b/cassettes/channels.views.moderators_test.test_list_moderators_moderator.json deleted file mode 100644 index 71a3fd0699..0000000000 --- a/cassettes/channels.views.moderators_test.test_list_moderators_moderator.json +++ /dev/null @@ -1,685 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-09-13T19:41:47", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA787BGXKQKJGZFSJHKFMZS" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2MdPN9szzDTUq8C7Jz3K29EhMsgiMcjOLL8tzyg1V0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLalGpiUOYWbmuuWV7roGvh4FYYVZWYbxHubhZWD9KSklmUmp8ZnpoAMhnCUagFGp94nuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:41:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=vaBi224tAzhDPAPlVm; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sat, 12-Sep-2020 19:41:47 GMT", - "loidcreated=2018-09-13T19%3A41%3A47.219Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sat, 12-Sep-2020 19:41:47 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA787BGXKQKJGZFSJHKFMZS" - } - }, - { - "recorded_at": "2018-09-13T19:41:47", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Similique+eligendi+commodi+voluptatibus+voluptas+earum+voluptatem.+Aliquam+nesciunt+quisquam+sed+libero+itaque+repellendus+aut.+Eveniet+aliquid+veniam+dignissimos.+Voluptates+dolor+repudiandae+repudiandae+expedita+nisi+dolore+cumque.%0AAut+eveniet+iste+officia+tempore+odit+eum.+Sed+iusto+error+recusandae+dolore+a.+Temporibus+non+expedita+at+aut.+Ducimus+hic+repudiandae+consequuntur+debitis+fugit.&link_type=any&name=1536867707_fugiat&public_description=Facere+nobis+commodi+perspiciatis+quod.+Debitis+placeat+excepturi+numquam+id.&title=Officiis+dignissimos+molestiae+molestiae.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 346-kInMU2pKtojC9Hab8QZF6_vnBmU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "653" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=vaBi224tAzhDPAPlVm; loidcreated=2018-09-13T19%3A41%3A47.219Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:41:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "493" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:41:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=vaBi224tAzhDPAPlVm; loidcreated=2018-09-13T19%3A41%3A47.219Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA78E0GC03AMPH3FZKA6F7Y" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2MdetsgwszTA2CnB3CQkydPcqrKzSDa6yCPMKLnZU0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZ5FAR4ulb45/t4RBj6VLgGlhSX55mFeVgaeYJtS0kty0xOjc9MARkM4SjVAgD3sPC3uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:41:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CQA78E0GC03AMPH3FZKA6F7Y" - } - }, - { - "recorded_at": "2018-09-13T19:41:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CQA78E0GC03AMPH3FZKA6F7Y&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 346-kInMU2pKtojC9Hab8QZF6_vnBmU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=vaBi224tAzhDPAPlVm; loidcreated=2018-09-13T19%3A41%3A47.219Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867707_fugiat/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:41:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "486" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867707_fugiat/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:41:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 347-z9Quh32PGDTR1GJqyz-Sz8VJSsA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=vaBi224tAzhDPAPlVm; loidcreated=2018-09-13T19%3A41%3A47.219Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536867707_fugiat/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:41:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "486" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867707_fugiat/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:41:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 347-z9Quh32PGDTR1GJqyz-Sz8VJSsA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=vaBi224tAzhDPAPlVm; loidcreated=2018-09-13T19%3A41%3A47.219Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1536867707_fugiat/about/moderators/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1536867707.0, \"mod_permissions\": [\"all\"], \"name\": \"01CQA787BGXKQKJGZFSJHKFMZS\", \"id\": \"t2_9m\"}, {\"date\": 1536867714.0, \"mod_permissions\": [\"all\"], \"name\": \"01CQA78E0GC03AMPH3FZKA6F7Y\", \"id\": \"t2_9n\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "254" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:41:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "486" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=2bEDEZ29sgpsj%2BwqGYkTU0RH3Nc09YyfNwfBXS8JFrTt5n%2F02wOA%2B%2FtP8kJQLW3IptNIendu0aqtjv2UlDvdvXuiDhsuZ2Xk" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867707_fugiat/about/moderators/?raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:41:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 347-z9Quh32PGDTR1GJqyz-Sz8VJSsA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=vaBi224tAzhDPAPlVm; loidcreated=2018-09-13T19%3A41%3A47.219Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1536867707_fugiat/about/moderators/?user=01CQA78E0GC03AMPH3FZKA6F7Y&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1536867714.0, \"mod_permissions\": [\"all\"], \"name\": \"01CQA78E0GC03AMPH3FZKA6F7Y\", \"id\": \"t2_9n\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:41:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "486" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=RO54RrfNOK%2BKQei9z5DPnb65%2BS7GQApKwOEJYBjIb1WKy%2BJ5HkCHo%2F%2Fs5Yry5cAzZQqf65mFjiocCHvrjA2LznJaLNfnCW5L" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867707_fugiat/about/moderators/?user=01CQA78E0GC03AMPH3FZKA6F7Y&raw_json=1" - } - }, - { - "recorded_at": "2018-09-13T19:41:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 347-z9Quh32PGDTR1GJqyz-Sz8VJSsA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=vaBi224tAzhDPAPlVm; loidcreated=2018-09-13T19%3A41%3A47.219Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1536867707_fugiat/about/moderators/?user=01CQA78E0GC03AMPH3FZKA6F7Y&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1536867714.0, \"mod_permissions\": [\"all\"], \"name\": \"01CQA78E0GC03AMPH3FZKA6F7Y\", \"id\": \"t2_9n\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 13 Sep 2018 19:41:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "486" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Xom6YABUCq4NW5%2FZrjT3Y0aBmw48lcgUdJ3dQlVwO0F4l12dkLTBriFrn0deNOiMs9P%2Bytk2vAoJ6BWVLpoFyfWmPzIK9wya" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536867707_fugiat/about/moderators/?user=01CQA78E0GC03AMPH3FZKA6F7Y&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.moderators_test.test_list_moderators_staff.json b/cassettes/channels.views.moderators_test.test_list_moderators_staff.json deleted file mode 100644 index b9bc6c48dc..0000000000 --- a/cassettes/channels.views.moderators_test.test_list_moderators_staff.json +++ /dev/null @@ -1,688 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:00:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHGYJ8ADDGNB77RPYFF83Y" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDK0NNRN9TUqTS9yyikvsHCLcDPKLA0PLQz3znQxMQ1U0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaFeng6VlQlx2eYZyWnmOfmV1VlRAWV51c6p7uC9KSklmUmp8ZnpoAMhnCUagEwgEqxuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=9Gt4q66VnYuUj4kN7u; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:00:48 GMT", - "loidcreated=2018-08-24T18%3A00%3A48.404Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:00:48 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHGYJ8ADDGNB77RPYFF83Y" - } - }, - { - "recorded_at": "2018-08-24T18:00:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Doloribus+dolorem+velit+nisi+nihil+facere+soluta+asperiores.+Provident+temporibus+ex+voluptatibus+impedit+pariatur+neque+quam.%0AQuae+cumque+adipisci+at+perspiciatis+quos.+Quos+laudantium+dignissimos+molestias+molestiae+soluta+facilis+odio.+Quaerat+sapiente+nulla+architecto+aut+possimus.&link_type=any&name=1535133648_repellat&public_description=Temporibus+ex+porro+quos+non+totam.+Omnis+nam+cumque+odit.+Esse+dolorum+dolorum+maxime+aspernatur.&title=Occaecati+voluptates+voluptatem+architecto+optio.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 191-eM2ugrBlwp8FXF2iuWUqWKiD45Q" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "573" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=9Gt4q66VnYuUj4kN7u; loidcreated=2018-08-24T18%3A00%3A48.404Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "552" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:00:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9Gt4q66VnYuUj4kN7u; loidcreated=2018-08-24T18%3A00%3A48.404Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHH4W5ENV8N18JYFCE2DRX" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDK0NNIN9TDOcAs0dPYqcA7KMNB1zPcNKnYKSDJLLwxV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZZFBtb+Lq6GKaY+cWXmXtXJgdUFaXl+pjllBaD9KSklmUmp8ZnpoAMhnCUagEkgdt4uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHH4W5ENV8N18JYFCE2DRX" - } - }, - { - "recorded_at": "2018-08-24T18:00:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHH4W5ENV8N18JYFCE2DRX&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 191-eM2ugrBlwp8FXF2iuWUqWKiD45Q" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=9Gt4q66VnYuUj4kN7u; loidcreated=2018-08-24T18%3A00%3A48.404Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133648_repellat/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "545" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133648_repellat/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:00:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 192-UH3hFQ1CJpCRh0-AoMRsBPb6gqU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=9Gt4q66VnYuUj4kN7u; loidcreated=2018-08-24T18%3A00%3A48.404Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133648_repellat/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "545" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133648_repellat/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:00:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHGYJ8ADDGNB77RPYFF83Y&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 191-eM2ugrBlwp8FXF2iuWUqWKiD45Q" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "60" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=9Gt4q66VnYuUj4kN7u; loidcreated=2018-08-24T18%3A00%3A48.404Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133648_repellat/api/unfriend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "545" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133648_repellat/api/unfriend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:00:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 191-eM2ugrBlwp8FXF2iuWUqWKiD45Q" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9Gt4q66VnYuUj4kN7u; loidcreated=2018-08-24T18%3A00%3A48.404Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133648_repellat/about/moderators/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1535133655.0, \"mod_permissions\": [\"all\"], \"name\": \"01CNPHH4W5ENV8N18JYFCE2DRX\", \"id\": \"t2_5c\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "545" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Ij15FOXqKMfMqzzAap3uArG5NiXQ%2B5q%2Bn42ZZaarlv8tgKlpx%2BvLYIelY5PEu15l3hafc5%2By6WbYpCal68AhW9dy5z7%2FVnxA" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133648_repellat/about/moderators/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:00:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 191-eM2ugrBlwp8FXF2iuWUqWKiD45Q" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9Gt4q66VnYuUj4kN7u; loidcreated=2018-08-24T18%3A00%3A48.404Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133648_repellat/about/moderators/?user=01CNPHGYJ8ADDGNB77RPYFF83Y&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:00:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "545" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ZQpHr%2F2FZGmRwWca7XYMme7Dy89GRM3HQ8TqawHhyH1YTWTRR8ZzIdhtKeFPvtVJxMgKg1kaVYO%2FXlWv80yuro1BGObU%2F%2FF4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133648_repellat/about/moderators/?user=01CNPHGYJ8ADDGNB77RPYFF83Y&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.moderators_test.test_remove_moderator[1].json b/cassettes/channels.views.moderators_test.test_remove_moderator[1].json deleted file mode 100644 index 81fde2c02f..0000000000 --- a/cassettes/channels.views.moderators_test.test_remove_moderator[1].json +++ /dev/null @@ -1,510 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-14T18:03:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9P9PWNGJDCBHCDNMFG2CAK" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyMjTVTUoOtXR3KXI3yo8ITYmycAsPynYp8nUsjK/wVdJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9Cs80vPdi0NLE4xSTUMDgk2qwjwTwuzyApwcndJBmlKSS3LTE6Nz0wBmQzhKNUCAMy+uji6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 18:03:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=JQgNAMGl3ZRxlIyhTf; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 13-Nov-2020 18:03:59 GMT", - "loidcreated=2018-11-14T18%3A03%3A59.248Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 13-Nov-2020 18:03:59 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9P9PWNGJDCBHCDNMFG2CAK" - } - }, - { - "recorded_at": "2018-11-14T18:03:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Tempora+deleniti+voluptates+similique+ea+ad+voluptate+incidunt+maiores.+Voluptatibus+veritatis+non+voluptatibus+aperiam+necessitatibus.+Nemo+consequuntur+sapiente+magni+ex+ratione.+Maiores+ratione+ducimus+iusto+enim+doloribus.%0AQuaerat+officiis+delectus+hic+ex+molestiae+quaerat+suscipit+quos.+Modi+enim+eveniet+repudiandae+iusto+repellendus+corrupti+delectus+maxime.+At+excepturi+doloribus+dolorum+explicabo+quo+neque+accusantium+libero.&link_type=any&name=1542218639_porro&public_description=Soluta+cum+laudantium+velit+perferendis+eius+dolor.+Alias+quisquam+nobis+nisi.&title=Molestiae+ratione+quas+minima+esse.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2215-bcU9GDrG2oXUdZ8FWRkDrMAq_xM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "687" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JQgNAMGl3ZRxlIyhTf; loidcreated=2018-11-14T18%3A03%3A59.248Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 18:03:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "361" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-14T18:04:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=JQgNAMGl3ZRxlIyhTf; loidcreated=2018-11-14T18%3A03%3A59.248Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9P9X9HCS7S7VGKFD27F3EX" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NPQvCMBRF/0rJKAo1hQ6ODtUlg6VocQlt8opJxIS8fov/3cZujvdyz7lvUgkBiLy1Bl7kEBFK9+mul2oqT7e4HYYO77J3Js9ZgrW2F7KNCIxOeUCuApGkcbx0PwFvJwfBUkPlwYctCrtWm5A8NAv4+LtrMqav52PG9ej4U0+MFnM3N2VhWIAk9EoAVzKY10A+X/QMzEu6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 18:04:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9P9X9HCS7S7VGKFD27F3EX" - } - }, - { - "recorded_at": "2018-11-14T18:04:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CW9P9X9HCS7S7VGKFD27F3EX&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2215-bcU9GDrG2oXUdZ8FWRkDrMAq_xM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JQgNAMGl3ZRxlIyhTf; loidcreated=2018-11-14T18%3A03%3A59.248Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542218639_porro/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 18:04:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "354" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542218639_porro/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-14T18:04:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2216-vdiyXGW0twwusZdvpkRRM3sbjoQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JQgNAMGl3ZRxlIyhTf; loidcreated=2018-11-14T18%3A03%3A59.248Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542218639_porro/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 18:04:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "354" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542218639_porro/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-11-14T18:04:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CW9P9X9HCS7S7VGKFD27F3EX&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2215-bcU9GDrG2oXUdZ8FWRkDrMAq_xM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "60" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=JQgNAMGl3ZRxlIyhTf; loidcreated=2018-11-14T18%3A03%3A59.248Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542218639_porro/api/unfriend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 18:04:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "354" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542218639_porro/api/unfriend/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.moderators_test.test_remove_moderator[2].json b/cassettes/channels.views.moderators_test.test_remove_moderator[2].json deleted file mode 100644 index f8661c7dd7..0000000000 --- a/cassettes/channels.views.moderators_test.test_remove_moderator[2].json +++ /dev/null @@ -1,602 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-14T18:04:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9PA0ZJDS9QQ6YAC1MHWS04" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyMjTXjfS09HRNLvWLKvUsMTIILSgz9w8IDg4PLXRLVtJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9Csyyo3DCj0LfeKL000dzKrKDL1KDG2yDRPCsnLBmlKSS3LTE6Nz0wBmQzhKNUCAL/Goa+6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 18:04:09 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=ej6DOxEDWPBD1YHyl0; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 13-Nov-2020 18:04:09 GMT", - "loidcreated=2018-11-14T18%3A04%3A09.535Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 13-Nov-2020 18:04:09 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9PA0ZJDS9QQ6YAC1MHWS04" - } - }, - { - "recorded_at": "2018-11-14T18:04:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Totam+pariatur+reiciendis+natus+tenetur+ab+animi+repudiandae.+Voluptatum+incidunt+esse+quod+doloremque+amet+sed+culpa.+Temporibus+quod+distinctio+vel+rerum.%0ASint+dolores+facilis+veniam+doloremque+id.+Similique+asperiores+similique+itaque+tempora+repellat+repudiandae+cum+explicabo.+Maxime+dicta+qui+eos+repellendus+aperiam+quasi.+Nostrum+sint+ipsum+rerum+quidem+at+ipsa.+Laborum+consequuntur+eius+est+dolorem.&link_type=any&name=1542218649_maxime&public_description=Sint+beatae+expedita+nam+labore.+Illum+reiciendis+modi+enim+aliquam.&title=Adipisci+quaerat+illum+rem+aut+natus.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2217-YI9IEcuNZuIt20Upv7OPSSWUqFc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "652" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ej6DOxEDWPBD1YHyl0; loidcreated=2018-11-14T18%3A04%3A09.535Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 18:04:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "351" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-14T18:04:16", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ej6DOxEDWPBD1YHyl0; loidcreated=2018-11-14T18%3A04%3A09.535Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9PA7AKDYGH74Q7M5GYN2AV" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyMrTQdQ0qMU0LCcoMzQsJy0tMTkn0cE72KEp093YLVNJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9CsCwoNTvIsLrbILatKCvMPsDTJDM13czMvjcotBmlKSS3LTE6Nz0wBmQzhKNUCAKhbhUm6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 18:04:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9PA7AKDYGH74Q7M5GYN2AV" - } - }, - { - "recorded_at": "2018-11-14T18:04:16", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CW9PA7AKDYGH74Q7M5GYN2AV&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2217-YI9IEcuNZuIt20Upv7OPSSWUqFc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ej6DOxEDWPBD1YHyl0; loidcreated=2018-11-14T18%3A04%3A09.535Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542218649_maxime/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 18:04:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "344" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542218649_maxime/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-14T18:04:16", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2218-ERt5fTRiUnTVnacdaHCcHraGKFQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ej6DOxEDWPBD1YHyl0; loidcreated=2018-11-14T18%3A04%3A09.535Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542218649_maxime/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 18:04:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "344" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542218649_maxime/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-11-14T18:04:16", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CW9PA7AKDYGH74Q7M5GYN2AV&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2217-YI9IEcuNZuIt20Upv7OPSSWUqFc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "60" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ej6DOxEDWPBD1YHyl0; loidcreated=2018-11-14T18%3A04%3A09.535Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542218649_maxime/api/unfriend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 18:04:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "344" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542218649_maxime/api/unfriend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-14T18:04:16", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CW9PA7AKDYGH74Q7M5GYN2AV&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2217-YI9IEcuNZuIt20Upv7OPSSWUqFc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "60" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ej6DOxEDWPBD1YHyl0; loidcreated=2018-11-14T18%3A04%3A09.535Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542218649_maxime/api/unfriend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"message\": \"Forbidden\", \"error\": 403}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "38" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 18:04:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "344" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 403, - "message": "Forbidden" - }, - "url": "https://reddit.local/r/1542218649_maxime/api/unfriend/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.moderators_test.test_remove_moderator_anonymous.json b/cassettes/channels.views.moderators_test.test_remove_moderator_anonymous.json deleted file mode 100644 index 21e7b446cc..0000000000 --- a/cassettes/channels.views.moderators_test.test_remove_moderator_anonymous.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "http_interactions": [], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_create_and_update_post_moderator.json b/cassettes/channels.views.posts_test.test_create_and_update_post_moderator.json deleted file mode 100644 index dbefbdf1b0..0000000000 --- a/cassettes/channels.views.posts_test.test_create_and_update_post_moderator.json +++ /dev/null @@ -1,1139 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-29T00:05:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBY7GJYCTH9AD5FY03HGHTM" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0NNItTfPPqip2dHVz9kl3cvHMcwkO9Ak1djGztAxV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYVhJeap5cklQSYFkd6+kc5+RYXF6W4ezmFFiWD9KSklmUmp8ZnpoAMhnCUagH0kS6vuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:05:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=a4CzoZwiXamMyiTxJw; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 29-Jul-2022 00:05:56 GMT", - "loidcreated=2020-07-29T00%3A05%3A55.900Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 29-Jul-2022 00:05:56 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBY7GJYCTH9AD5FY03HGHTM" - } - }, - { - "recorded_at": "2020-07-29T00:06:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=a4CzoZwiXamMyiTxJw; loidcreated=2020-07-29T00%3A05%3A55.900Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBY7M8VKBZ57WGJX7RAGGDE" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNQQuCMBzFv4rsGAmzoWV3I5jgIergZdj8i8Pa1jZyFn33XJ46vh/v994bNZyDtcypASTaRyhJSEzHgbCR1u7WlbnrL8UO51v1qF+VQusIgdfCgGUiCCTDeGY/n7lJQxi5QmPAhK7lakGrkAx0s9j/v6V5cshwnPqTryS9b4610mc5+b60wWnhKTgw0YbhJaDPF+PzsOG4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:06:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBY7M8VKBZ57WGJX7RAGGDE" - } - }, - { - "recorded_at": "2020-07-29T00:06:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Certainly+huge+speak+current+range+network.+Different+must+us+fill+week+education+economic+meeting.+Pass+level+light+view+into.%0AWhom+time+represent+few+society+color.+Both+moment+age+throughout+own+short.%0APolitical+majority+memory+forget+accept+recently+executive.+Night+nice+particular+child.+Down+option+within.+Authority+certain+cost+name.%0APossible+three+as+bag+anyone+entire.+Industry+those+ball+north.+Produce+environment+born+soon+letter+value.&link_type=any&name=1595981160_5_day&public_description=Recently+dinner+key.+Identify+director+tell+risk+human+pattern+beautiful+rich.&title=Worry+sign+everything+interest+develop.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 113-Kwk3_wKZtlfL9thVE8097oqZzOo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "708" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=a4CzoZwiXamMyiTxJw; loidcreated=2020-07-29T00%3A05%3A55.900Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:06:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "240" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-29T00:06:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBY7GJYCTH9AD5FY03HGHTM&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 113-Kwk3_wKZtlfL9thVE8097oqZzOo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=a4CzoZwiXamMyiTxJw; loidcreated=2020-07-29T00%3A05%3A55.900Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595981160_5_day/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:06:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "237" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595981160_5_day/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-29T00:06:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595981160_5_day" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 112-ufOjzsAEFCLgBDInDSQLU3D699U" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "75" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=a4CzoZwiXamMyiTxJw; loidcreated=2020-07-29T00%3A05%3A55.900Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:06:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "236" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-29T00:06:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBY7GJYCTH9AD5FY03HGHTM&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 113-Kwk3_wKZtlfL9thVE8097oqZzOo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=a4CzoZwiXamMyiTxJw; loidcreated=2020-07-29T00%3A05%3A55.900Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595981160_5_day/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:06:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "236" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595981160_5_day/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-29T00:06:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 112-ufOjzsAEFCLgBDInDSQLU3D699U" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=a4CzoZwiXamMyiTxJw; loidcreated=2020-07-29T00%3A05%3A55.900Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595981160_5_day/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:06:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "235" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595981160_5_day/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2020-07-29T00:06:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595981160_5_day&text=tests+are+great&title=parameterized+testing" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 112-ufOjzsAEFCLgBDInDSQLU3D699U" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "123" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=a4CzoZwiXamMyiTxJw; loidcreated=2020-07-29T00%3A05%3A55.900Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595981160_5_day/comments/1e/parameterized_testing/\", \"id\": \"1e\", \"name\": \"t3_1e\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "148" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:06:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "235" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-29T00:06:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 112-ufOjzsAEFCLgBDInDSQLU3D699U" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=a4CzoZwiXamMyiTxJw; loidcreated=2020-07-29T00%3A05%3A55.900Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1e/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595981160_5_day\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Etests are great\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"tests are great\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1e\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [], \"author\": \"01EEBY7GJYCTH9AD5FY03HGHTM\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595981160_5_day\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1a\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595981160_5_day/comments/1e/parameterized_testing/\", \"locked\": false, \"name\": \"t3_1e\", \"created\": 1595981165.0, \"url\": \"http://reddit.local/r/1595981160_5_day/comments/1e/parameterized_testing/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"parameterized testing\", \"created_utc\": 1595981165.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1554" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:06:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "235" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=kHYAhXJbQZ89M982ObwVaWqJpVpqnSLObX2Hk6dILql49CUkK1boUqcBc%2FI9nOSvr6GdEnxjR4dP7y37T%2BXZkg0JwgmJvGfe" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1e/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-29T00:06:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 112-ufOjzsAEFCLgBDInDSQLU3D699U" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=a4CzoZwiXamMyiTxJw; loidcreated=2020-07-29T00%3A05%3A55.900Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595981160_5_day/about/moderators/?user=01EEBY7GJYCTH9AD5FY03HGHTM&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1595981165.0, \"mod_permissions\": [\"all\"], \"name\": \"01EEBY7GJYCTH9AD5FY03HGHTM\", \"id\": \"t2_34\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:06:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "235" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=kk5AykVZKSMAQhvvTDeCS0llLBfAQY%2Fa8imKozKPxjhMVqTWLXKDED8kMHwpGBPmY2%2BkeVmhF1zDjNGgrZDeKC5iWh8wQZ4h" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595981160_5_day/about/moderators/?user=01EEBY7GJYCTH9AD5FY03HGHTM&raw_json=1" - } - }, - { - "recorded_at": "2020-07-29T00:06:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 112-ufOjzsAEFCLgBDInDSQLU3D699U" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=a4CzoZwiXamMyiTxJw; loidcreated=2020-07-29T00%3A05%3A55.900Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1e/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595981160_5_day\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Etests are great\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"tests are great\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1e\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [], \"author\": \"01EEBY7GJYCTH9AD5FY03HGHTM\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595981160_5_day\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1a\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595981160_5_day/comments/1e/parameterized_testing/\", \"locked\": false, \"name\": \"t3_1e\", \"created\": 1595981165.0, \"url\": \"http://reddit.local/r/1595981160_5_day/comments/1e/parameterized_testing/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"parameterized testing\", \"created_utc\": 1595981165.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1554" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:06:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "235" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=oN0t9K54YePOZy3k4ZQOCyTjOGhcbO6QonLvoLbd%2Bo6jAuajcsmtv3j0ayNYCoLDzX%2BKVx3PeC1FkinrXNKrdfts0mP72JgN" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1e/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-29T00:06:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 112-ufOjzsAEFCLgBDInDSQLU3D699U" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=a4CzoZwiXamMyiTxJw; loidcreated=2020-07-29T00%3A05%3A55.900Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595981160_5_day/about/moderators/?user=01EEBY7GJYCTH9AD5FY03HGHTM&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1595981165.0, \"mod_permissions\": [\"all\"], \"name\": \"01EEBY7GJYCTH9AD5FY03HGHTM\", \"id\": \"t2_34\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:06:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "234" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=w%2BKtCxePdTeQ9sq36tuxALdqtH62djRrMCnqnq%2BS3y%2F0zd94HcK2nubsdpEXk6NDaZ9yKfgwTd5eFXQoD1IQvhGenVmIWuPb" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595981160_5_day/about/moderators/?user=01EEBY7GJYCTH9AD5FY03HGHTM&raw_json=1" - } - }, - { - "recorded_at": "2020-07-29T00:06:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 112-ufOjzsAEFCLgBDInDSQLU3D699U" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=a4CzoZwiXamMyiTxJw; loidcreated=2020-07-29T00%3A05%3A55.900Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1e/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595981160_5_day\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Etests are great\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"tests are great\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1e\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [], \"author\": \"01EEBY7GJYCTH9AD5FY03HGHTM\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595981160_5_day\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1a\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595981160_5_day/comments/1e/parameterized_testing/\", \"locked\": false, \"name\": \"t3_1e\", \"created\": 1595981165.0, \"url\": \"http://reddit.local/r/1595981160_5_day/comments/1e/parameterized_testing/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"parameterized testing\", \"created_utc\": 1595981165.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1554" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 29 Jul 2020 00:06:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "234" - ], - "x-ratelimit-used": [ - "8" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Dbl7bnhU%2B26or0vEStZm%2Fxuvkr5u%2Fgx38sDVG84Q8ybHMAoAytjvin1DBfPNWUGHiVxrxnS%2FKXPJaII5yIQ0pAgrKZOJAQhG" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1e/?limit=2048&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_create_article_post.json b/cassettes/channels.views.posts_test.test_create_article_post.json deleted file mode 100644 index 1a888e6256..0000000000 --- a/cassettes/channels.views.posts_test.test_create_article_post.json +++ /dev/null @@ -1,688 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T22:14:39", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQVRB9FKPY4E26GJ1EH00C" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI31c3NNA/PyYlIyvGv8gx3zyu19I6syCsyCEgpTVbSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkoljl5uqdUGpbnZ5oGFqcGpRtHJfubWgaaBJfHgy1LSS3LTE6Nz0wBmQvhKNUCALCzLM62AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:14:39 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=D9EeDpNjb30ZNVWZtu; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:14:39 GMT", - "loidcreated=2020-07-28T22%3A14%3A39.152Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:14:39 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQVRB9FKPY4E26GJ1EH00C" - } - }, - { - "recorded_at": "2020-07-28T22:14:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=D9EeDpNjb30ZNVWZtu; loidcreated=2020-07-28T22%3A14%3A39.152Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQVVJWAVY29P753FEYXVJY" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI30w1zzwhINfAuSMvNqfD1NHaN9CpL9U4xSQzztFDSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolgXrlhukW2bpOjn6Wvil+PtmhIaHV7lERXqlF4O0pKSWZSanxmemgMyFcJRqAVv3/Nq2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:14:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQVVJWAVY29P753FEYXVJY" - } - }, - { - "recorded_at": "2020-07-28T22:14:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Building+ground+kind+low.+Whatever+tell+perform.+Group+near+economic+always+ask+week+audience+sister.+Answer+company+wear+increase+over.%0AGreat+other+even+control+some+let+surface.+Hard+total+notice+develop.+Out+interesting+our+nature+loss+difficult.%0ASide+hope+point+program+home+her+strategy+mother.+Provide+entire+building+hit.%0AOf+leader+fire+eye.+Nothing+agree+few+land+machine+court.+Piece+hear+rock.%0ANature+his+message+speak+but+live+president.+Maintain+hundred+field+door.+Teach+man+race.&link_type=any&name=1595974482_4_move&public_description=Foot+election+one+race+discuss.&title=Commercial+instead+room+own+new+mention+side.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 76-VGhPe0KpfmlxMI3EYJveKd4aVI8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "713" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=D9EeDpNjb30ZNVWZtu; loidcreated=2020-07-28T22%3A14%3A39.152Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:14:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "318" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:14:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBQVRB9FKPY4E26GJ1EH00C&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 76-VGhPe0KpfmlxMI3EYJveKd4aVI8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=D9EeDpNjb30ZNVWZtu; loidcreated=2020-07-28T22%3A14%3A39.152Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595974482_4_move/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:14:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "315" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595974482_4_move/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:14:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595974482_4_move" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 75-mi7WllXblOzIWGnu9KYxnr0Pduc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "76" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=D9EeDpNjb30ZNVWZtu; loidcreated=2020-07-28T22%3A14%3A39.152Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:14:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "315" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:14:46", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595974482_4_move&text=&title=parameterized+testing" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 75-mi7WllXblOzIWGnu9KYxnr0Pduc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "109" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=D9EeDpNjb30ZNVWZtu; loidcreated=2020-07-28T22%3A14%3A39.152Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595974482_4_move/comments/y/parameterized_testing/\", \"id\": \"y\", \"name\": \"t3_y\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "146" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:14:46 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "315" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:14:46", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 75-mi7WllXblOzIWGnu9KYxnr0Pduc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=D9EeDpNjb30ZNVWZtu; loidcreated=2020-07-28T22%3A14%3A39.152Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/y/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595974482_4_move\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"y\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBQVRB9FKPY4E26GJ1EH00C\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595974482_4_move\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_s\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595974482_4_move/comments/y/parameterized_testing/\", \"locked\": false, \"name\": \"t3_y\", \"created\": 1595974485.0, \"url\": \"http://reddit.local/r/1595974482_4_move/comments/y/parameterized_testing/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"parameterized testing\", \"created_utc\": 1595974485.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1408" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:14:46 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "314" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=EiGP%2FZQfk26UQhxLYWwzeOWXNoXqHzjsjXurWVpAW%2FDHJ%2FOsy%2FXf3im2XA791vyXJMtql7LrMgkumyR9%2B2ZMusL3N39LWyal" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/y/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:14:46", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 75-mi7WllXblOzIWGnu9KYxnr0Pduc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=D9EeDpNjb30ZNVWZtu; loidcreated=2020-07-28T22%3A14%3A39.152Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595974482_4_move/about/moderators/?user=01EEBQVRB9FKPY4E26GJ1EH00C&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:14:46 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "314" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=iZ7U2qzRhl2S%2BZxK8znKkJ%2B02Omc3JUdXjMUWLo8DnjMiAVpv32EGTqEe2rddcKn3okA9Si2IqvHyHRF8AajdG19NCXWZGTX" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595974482_4_move/about/moderators/?user=01EEBQVRB9FKPY4E26GJ1EH00C&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_create_article_post_with_cover.json b/cassettes/channels.views.posts_test.test_create_article_post_with_cover.json deleted file mode 100644 index a70e80bd2d..0000000000 --- a/cassettes/channels.views.posts_test.test_create_article_post_with_cover.json +++ /dev/null @@ -1,777 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T22:14:49", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQW24WXAJ1NZFNDPKKJ72H" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI31/X3SjM0C49096kyTC82d3LzLy9Pcw5LDygNSVbSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolqVnlUTGF5bp+oZ4mYV6JJmFu2QXe/hHpKT5gC1LSS3LTE6Nz0wBmQvhKNUCAHV3S/S2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:14:49 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=1EVZdumTimavYFRK6z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:14:49 GMT", - "loidcreated=2020-07-28T22%3A14%3A49.172Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:14:49 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQW24WXAJ1NZFNDPKKJ72H" - } - }, - { - "recorded_at": "2020-07-28T22:14:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=1EVZdumTimavYFRK6z; loidcreated=2020-07-28T22%3A14%3A49.172Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQW5CNMH8NR0E2FC7CVXCB" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDK30C2wSDH19XYzdywys0zO0Q10CzVJ8snOqDRMd1XSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkoliUVVRh6RlnkGPunWzqlpOfkmQdEZgS6e3pkRIK0pKSWZSanxmemgMyFcJRqAeCkyQW2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:14:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQW5CNMH8NR0E2FC7CVXCB" - } - }, - { - "recorded_at": "2020-07-28T22:14:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Personal+sound+matter+open+more.+Art+practice+TV+fly+century+team+Republican.+Bring+because+under+old+table+enter+where.%0ADoctor+church+account+instead+war.+Training+firm+security+value+when+land+game.+Practice+management+financial.%0AImportant+value+his+character+character.+Open+sound+owner+reach+south+since+read.+Cup+week+recently+chair+later.%0ARich+itself+significant+support.+Institution+order+run+industry+military+assume+learn.&link_type=any&name=1595974492_5_similar&public_description=School+pass+pattern+mean+writer+service.+Meet+dark+expect.+Be+staff+fear.&title=By+close+what+for+art+trip.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 78-p8d5MKF7Ar69cl-QFU4bLkhy1gE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "676" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=1EVZdumTimavYFRK6z; loidcreated=2020-07-28T22%3A14%3A49.172Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:14:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "308" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:14:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBQW24WXAJ1NZFNDPKKJ72H&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 78-p8d5MKF7Ar69cl-QFU4bLkhy1gE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=1EVZdumTimavYFRK6z; loidcreated=2020-07-28T22%3A14%3A49.172Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595974492_5_similar/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:14:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "305" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595974492_5_similar/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:14:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595974492_5_similar" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 77-OJf16WYGLz1gs7BFOwwfCVgPuTc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=1EVZdumTimavYFRK6z; loidcreated=2020-07-28T22%3A14%3A49.172Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:14:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "305" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:14:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595974492_5_similar&text=&title=parameterized+testing" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 77-OJf16WYGLz1gs7BFOwwfCVgPuTc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "112" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=1EVZdumTimavYFRK6z; loidcreated=2020-07-28T22%3A14%3A49.172Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595974492_5_similar/comments/z/parameterized_testing/\", \"id\": \"z\", \"name\": \"t3_z\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:14:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "304" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:14:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 77-OJf16WYGLz1gs7BFOwwfCVgPuTc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=1EVZdumTimavYFRK6z; loidcreated=2020-07-28T22%3A14%3A49.172Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/z/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595974492_5_similar\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"z\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBQW24WXAJ1NZFNDPKKJ72H\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595974492_5_similar\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_t\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595974492_5_similar/comments/z/parameterized_testing/\", \"locked\": false, \"name\": \"t3_z\", \"created\": 1595974496.0, \"url\": \"http://reddit.local/r/1595974492_5_similar/comments/z/parameterized_testing/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"parameterized testing\", \"created_utc\": 1595974496.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1420" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:14:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "304" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=vXbWB3YyT8hhdecDaUnAT7A34fh%2BUsKiSh%2Bz64yX8ZMcKzJxqNzqrCGhEGF8Qe%2F%2FiTovYAhUmCO3LAnk%2BxJ7Ibx%2BbpY0clAx" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/z/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:14:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 77-OJf16WYGLz1gs7BFOwwfCVgPuTc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=1EVZdumTimavYFRK6z; loidcreated=2020-07-28T22%3A14%3A49.172Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/z/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595974492_5_similar\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"z\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBQW24WXAJ1NZFNDPKKJ72H\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595974492_5_similar\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_t\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595974492_5_similar/comments/z/parameterized_testing/\", \"locked\": false, \"name\": \"t3_z\", \"created\": 1595974496.0, \"url\": \"http://reddit.local/r/1595974492_5_similar/comments/z/parameterized_testing/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"parameterized testing\", \"created_utc\": 1595974496.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1420" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:14:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "304" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=DOBZ2vU%2BHuUbYRE0VDYgvoKwzEZm74Lz1%2Fn%2BsgvLUQmWK9UibhOvepqavsCFVlvUj32nKEwOSW7KkQdCZrrbtRC68Z5Y0Q6i" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/z/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:14:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 77-OJf16WYGLz1gs7BFOwwfCVgPuTc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=1EVZdumTimavYFRK6z; loidcreated=2020-07-28T22%3A14%3A49.172Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595974492_5_similar/about/moderators/?user=01EEBQW24WXAJ1NZFNDPKKJ72H&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:14:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "304" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=OgPylnGvWth4Al5gXESGzBp31RFiSftFLqhBLEyvZ1kEA6v2S6CKZXGFGxTZgDv7ctnSpALMyy%2B2jRpsJ1181YVOr14X1CCV" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595974492_5_similar/about/moderators/?user=01EEBQW24WXAJ1NZFNDPKKJ72H&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_create_post_anonymous.json b/cassettes/channels.views.posts_test.test_create_post_anonymous.json deleted file mode 100644 index 21e7b446cc..0000000000 --- a/cassettes/channels.views.posts_test.test_create_post_anonymous.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "http_interactions": [], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_create_post_forbidden.json b/cassettes/channels.views.posts_test.test_create_post_forbidden.json deleted file mode 100644 index f1a4ac5ecb..0000000000 --- a/cassettes/channels.views.posts_test.test_create_post_forbidden.json +++ /dev/null @@ -1,326 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T22:15:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQWJ6CBMZMB2D61JXYC6V4" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDK31PUOyUiqDA72da5wzok0M4oyDAotK3WMiAwLDlXSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolqXEe5gZRkYGWeZkBCSmRzmFueekOLr6G5cYJoO0pKSWZSanxmemgMyFcJRqASChMsG2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=v8ygdNk9dqDPCoE7y5; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:15:06 GMT", - "loidcreated=2020-07-28T22%3A15%3A05.614Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:15:06 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQWJ6CBMZMB2D61JXYC6V4" - } - }, - { - "recorded_at": "2020-07-28T22:15:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=v8ygdNk9dqDPCoE7y5; loidcreated=2020-07-28T22%3A15%3A05.614Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQWNHJ4KK5R392QHWXFHTQ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULIw0C2r8DcsdTQqMynMLMtzyk70sHDPdMn1NcgxiVTSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolhVWVLk6B2aGZnimJQcnRfkUlyYbe4VF+AQ7moC0pKSWZSanxmemgMyFcJRqAQBkyum2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:09 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQWNHJ4KK5R392QHWXFHTQ" - } - }, - { - "recorded_at": "2020-07-28T22:15:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Deep+money+situation+assume+individual+subject+ever.+Indeed+say+make+wife+voice.%0ATax+member+number+pull.%0ASurface+them+in+standard+try+pick.+Party+final+company+able+cover.+During+cost+opportunity+middle+spend+black+letter+stuff.%0AUnit+teach+view+maybe+marriage+per+with+door.+Foot+plan+professor+bar+east+of+whom+theory.%0AInvolve+minute+strategy+treat+may.+Wear+however+upon+business+cell+arm.+Need+also+month+adult+spend+war+force.+Feeling+yet+finish+certainly+young+station+your.&link_type=any&name=1595974509_8_practice&public_description=True+boy+door+threat+tonight+him.+Miss+idea+dream+many+five+can+wind.&title=Gun+chair+fall+north+any.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 80-vxO1uA2v4qivnBkaH8GiDmM0l4Y" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "721" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=v8ygdNk9dqDPCoE7y5; loidcreated=2020-07-28T22%3A15%3A05.614Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:09 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "291" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:12", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595974509_8_practice&text=tests+are+great&title=parameterized+testing" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 79-KThbySSMCxClY62Z1RUvuAXYVSU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "128" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=v8ygdNk9dqDPCoE7y5; loidcreated=2020-07-28T22%3A15%3A05.614Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [[\"SUBREDDIT_NOTALLOWED\", \"you aren't allowed to post there.\", \"sr\"]]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "91" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:12 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "288" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_create_post_not_found.json b/cassettes/channels.views.posts_test.test_create_post_not_found.json deleted file mode 100644 index dd69011865..0000000000 --- a/cassettes/channels.views.posts_test.test_create_post_not_found.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T22:15:12", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=george" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULIw1A10Kw9Oq3B39LPU9QnJiyyxSClN9fcpS8sN81TSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolvk4lXsmpUXlGGUZm0VG+BiFO1cmG5Y4BcQXJoO0pKSWZSanxmemgMyFcJRqASA/kbG2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:12 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=2f1MXNiVbZuJRkoVVf; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:15:12 GMT", - "loidcreated=2020-07-28T22%3A15%3A12.544Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:15:12 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=george" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_create_post_without_upvote.json b/cassettes/channels.views.posts_test.test_create_post_without_upvote.json deleted file mode 100644 index f32f3f0a13..0000000000 --- a/cassettes/channels.views.posts_test.test_create_post_without_upvote.json +++ /dev/null @@ -1,869 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T22:15:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQX0RKHWVQ0X4PVGY1JEMD" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULIw0s1IdM0qikoJdXEpNvEJzXHODswMynRNzC7yc1XSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolvl5p7uZhuelFLqHpuQa54Q6Gvga+2VbeidlFoO0pKSWZSanxmemgMyFcJRqAQB5Xnm2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=J6eVAFBJimaes22fVM; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:15:20 GMT", - "loidcreated=2020-07-28T22%3A15%3A20.522Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:15:20 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQX0RKHWVQ0X4PVGY1JEMD" - } - }, - { - "recorded_at": "2020-07-28T22:15:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=J6eVAFBJimaes22fVM; loidcreated=2020-07-28T22%3A15%3A20.522Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQX412WN4CJTYF0YGYM367" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULIw1i11CnZPcgo2MUnNrzTyKQ8ISg9wcolw9/NzdFTSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolpWl+JsbF7pnlQe6VlpWebo7R+VUpoZ7mRQ7JYO0pKSWZSanxmemgMyFcJRqAfUxroK2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQX412WN4CJTYF0YGYM367" - } - }, - { - "recorded_at": "2020-07-28T22:15:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Attack+add+worry+form+raise.+Book+sort+process+should+like+rather+sport+parent.%0ALose+expect+develop.+Need+body+all+stay.+Free+here+nature.%0APopulation+follow+indeed+add+may+image+way.+Seem+him+matter+within+find+under+mission+piece.+Us+listen+cause+score+involve+since.%0ANotice+dinner+cut+son.%0APick+pass+moment+keep+thus.+Big+doctor+face+piece+performance.+Mother+possible+standard+guy+kind.%0AOne+point+argue+former+civil.+Serious+bed+care+expert+great+space.&link_type=any&name=1595974524_28_age&public_description=Miss+dog+so+share.+Friend+gun+consumer+personal+option+value.&title=Chair+rate+visit+ahead.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 83-uBSGbBS44eoy2LwPRgPBDXGNNAA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "686" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=J6eVAFBJimaes22fVM; loidcreated=2020-07-28T22%3A15%3A20.522Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "276" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBQX0RKHWVQ0X4PVGY1JEMD&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 83-uBSGbBS44eoy2LwPRgPBDXGNNAA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=J6eVAFBJimaes22fVM; loidcreated=2020-07-28T22%3A15%3A20.522Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595974524_28_age/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "273" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595974524_28_age/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595974524_28_age" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 82-haEjrZdUDDs4LUlCkQiRiEakrNE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "76" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=J6eVAFBJimaes22fVM; loidcreated=2020-07-28T22%3A15%3A20.522Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "273" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595974524_28_age&text=y&title=x" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 82-haEjrZdUDDs4LUlCkQiRiEakrNE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "90" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=J6eVAFBJimaes22fVM; loidcreated=2020-07-28T22%3A15%3A20.522Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595974524_28_age/comments/10/x/\", \"id\": \"10\", \"name\": \"t3_10\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "129" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "273" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 82-haEjrZdUDDs4LUlCkQiRiEakrNE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=J6eVAFBJimaes22fVM; loidcreated=2020-07-28T22%3A15%3A20.522Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/10/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595974524_28_age\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ey\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"y\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"10\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBQX0RKHWVQ0X4PVGY1JEMD\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595974524_28_age\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_v\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595974524_28_age/comments/10/x/\", \"locked\": false, \"name\": \"t3_10\", \"created\": 1595974527.0, \"url\": \"http://reddit.local/r/1595974524_28_age/comments/10/x/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"x\", \"created_utc\": 1595974527.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1474" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "273" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=w%2BelVyYuiXJ3uUQT4Z%2F4OxRYYUeDc5AbBWHyHc6nltr9xj52oBObxvlBltWCx4eQReyfNMh52DLdwp66zBMdcuA6AQAfU8cc" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/10/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&dir=0&id=t3_10" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 82-haEjrZdUDDs4LUlCkQiRiEakrNE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "28" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=J6eVAFBJimaes22fVM; loidcreated=2020-07-28T22%3A15%3A20.522Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/vote/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "273" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/vote/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 82-haEjrZdUDDs4LUlCkQiRiEakrNE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=J6eVAFBJimaes22fVM; loidcreated=2020-07-28T22%3A15%3A20.522Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/10/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595974524_28_age\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Ey\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"y\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"10\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBQX0RKHWVQ0X4PVGY1JEMD\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595974524_28_age\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_v\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595974524_28_age/comments/10/x/\", \"locked\": false, \"name\": \"t3_10\", \"created\": 1595974527.0, \"url\": \"http://reddit.local/r/1595974524_28_age/comments/10/x/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"x\", \"created_utc\": 1595974527.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1474" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "273" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=6rrsxi%2BNkY5qBtSCz0imiHp%2BXjZFtmxpJwlHEEC2%2FPhNh6Kzae5I8Ep7b2xzI0S3y0s2VIRq840M3yIlVQqzxNhl%2B9HJVsGr" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/10/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 82-haEjrZdUDDs4LUlCkQiRiEakrNE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=J6eVAFBJimaes22fVM; loidcreated=2020-07-28T22%3A15%3A20.522Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595974524_28_age/about/moderators/?user=01EEBQX0RKHWVQ0X4PVGY1JEMD&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "273" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=QKbxVnIsszpyqlxMjnGHgCzcSRr1XAqDYUtaQQ3Wwvw0Z9kkedl9PAZEppRXlWagl%2B6wU3qK4UZtOrv9pvbIU9GDUDyjptGm" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595974524_28_age/about/moderators/?user=01EEBQX0RKHWVQ0X4PVGY1JEMD&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_create_text_post.json b/cassettes/channels.views.posts_test.test_create_text_post.json deleted file mode 100644 index e8a0143d3d..0000000000 --- a/cassettes/channels.views.posts_test.test_create_text_post.json +++ /dev/null @@ -1,688 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T22:43:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBSH46DFS5GSBMSD396XST2" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULI00S3KCvfPdUlOMbI0LI53riyIyDXVzTD08vE09VXSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkoloU6JbmamOYUuCcFepWmZAb5lAUWeEcVZTun5IO0pKSWZSanxmemgMyFcJRqARj9bbK2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:43:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=3OscqnQP7qC2dhhCt9; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:43:48 GMT", - "loidcreated=2020-07-28T22%3A43%3A47.970Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:43:48 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBSH46DFS5GSBMSD396XST2" - } - }, - { - "recorded_at": "2020-07-28T22:43:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=3OscqnQP7qC2dhhCt9; loidcreated=2020-07-28T22%3A43%3A47.970Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBSH7XSN8Z4NRSXHBKJQ7C9" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULI01XUyLYwy80pJj6g0DqzwywyPNy52ytctcUpP9FXSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolnlYRpWHFGQmuaaGmWQXBGRbZhd6R2ZFGuR6gC1LSS3LTE6Nz0wBmQvhKNUCAC+GKCe2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:43:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBSH7XSN8Z4NRSXHBKJQ7C9" - } - }, - { - "recorded_at": "2020-07-28T22:43:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Crime+story+interesting+scene+particular+few+plant.+Bill+child+attorney+perhaps+space+happen.%0ATraining+gas+cell+girl+recent+little+side.+Once+forget+film.+Him+how+customer+shoulder+while+explain+off+why.%0AAccount+minute+whole+dinner+big+choose+degree.+Must+author+night+likely+your+race+two.+Trial+peace+manager.%0AAsk+plan+cost+actually+already+American+live.+Performance+just+close+meeting+skin+wish+reveal.%0AHappen+own+poor+those.&link_type=any&name=1595976232_3_product&public_description=Upon+during+soldier+reveal+change+medical.+Hot+name+more+man+building.&title=Rule+guess+particular+local+grow+three+old.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 95-B5qZ6JdgXy3QxNiW_3sBo-tBgaM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "689" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=3OscqnQP7qC2dhhCt9; loidcreated=2020-07-28T22%3A43%3A47.970Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:43:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "368" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:43:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBSH46DFS5GSBMSD396XST2&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 95-B5qZ6JdgXy3QxNiW_3sBo-tBgaM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=3OscqnQP7qC2dhhCt9; loidcreated=2020-07-28T22%3A43%3A47.970Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595976232_3_product/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:43:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "365" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595976232_3_product/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:43:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595976232_3_product" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 94-rjWOmDcd291s_CypXm5-h1JLI5M" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=3OscqnQP7qC2dhhCt9; loidcreated=2020-07-28T22%3A43%3A47.970Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:43:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "365" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:43:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595976232_3_product&text=tests+are+great&title=parameterized+testing" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 94-rjWOmDcd291s_CypXm5-h1JLI5M" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "127" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=3OscqnQP7qC2dhhCt9; loidcreated=2020-07-28T22%3A43%3A47.970Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595976232_3_product/comments/16/parameterized_testing/\", \"id\": \"16\", \"name\": \"t3_16\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "152" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:43:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "365" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:43:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 94-rjWOmDcd291s_CypXm5-h1JLI5M" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=3OscqnQP7qC2dhhCt9; loidcreated=2020-07-28T22%3A43%3A47.970Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/16/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595976232_3_product\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003Etests are great\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"tests are great\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"16\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBSH46DFS5GSBMSD396XST2\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595976232_3_product\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_11\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595976232_3_product/comments/16/parameterized_testing/\", \"locked\": false, \"name\": \"t3_16\", \"created\": 1595976235.0, \"url\": \"http://reddit.local/r/1595976232_3_product/comments/16/parameterized_testing/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"parameterized testing\", \"created_utc\": 1595976235.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1575" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:43:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "364" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=dXS5Zz%2BQ7m0i%2BUbY%2BN9fCE0qvihU65iemy7x8TlIYz3gHCPdeYRnN9tOHwgSOT%2BB805Jck%2BRqqt8IAUE%2FAYdlxlBWgMoLE%2BJ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/16/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:43:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 94-rjWOmDcd291s_CypXm5-h1JLI5M" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=3OscqnQP7qC2dhhCt9; loidcreated=2020-07-28T22%3A43%3A47.970Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595976232_3_product/about/moderators/?user=01EEBSH46DFS5GSBMSD396XST2&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:43:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "364" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ICrcYP1GriFI5ozIcjN1ST7hwjrLOyv4QyslU0LIDC6pnAl52Ol%2BmqfYKUEdLyxrL5TrnZH7hiXRvTePCoVNWOP%2F%2B0Ngt3yc" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595976232_3_product/about/moderators/?user=01EEBSH46DFS5GSBMSD396XST2&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_create_text_post_blank.json b/cassettes/channels.views.posts_test.test_create_text_post_blank.json deleted file mode 100644 index c032c79c4d..0000000000 --- a/cassettes/channels.views.posts_test.test_create_text_post_blank.json +++ /dev/null @@ -1,688 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T22:44:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBSHG6FPPBSVJ8CQEME5H6Q" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULI00y12NbUsd3T0cik3cfctSPU2C0oMDMszyzZ3SlbSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolgUW6Ia5Zlhm5nsa5oaa+KeVB7hbRIa7l+f4u4K0pKSWZSanxmemgMyFcJRqAWx4EDq2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:44:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=g6v3D0ZXD0loIEwBBw; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:44:00 GMT", - "loidcreated=2020-07-28T22%3A44%3A00.231Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:44:00 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBSHG6FPPBSVJ8CQEME5H6Q" - } - }, - { - "recorded_at": "2020-07-28T22:44:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=g6v3D0ZXD0loIEwBBw; loidcreated=2020-07-28T22%3A44%3A00.231Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBSHKKF98WM2QM64PAY9MGH" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULI01w0Md49I9wpKdNa1cDZxDikw9jHx8QsMjM8t9lTSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolpkZm1r4lxinZGXkeHsWV3lUVQW6hFaWlCQFmIC0pKSWZSanxmemgMyFcJRqAd0JDFy2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:44:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBSHKKF98WM2QM64PAY9MGH" - } - }, - { - "recorded_at": "2020-07-28T22:44:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Whatever+analysis+industry.%0ASeven+main+green+certain+general+very.+Instead+low+here+Republican+onto+need+protect.%0AIdea+enjoy+up+lose+general+huge+remember.+Eight+power+training+between+management+woman+miss.+Hospital+order+manage+street+hard.%0ARead+her+minute+meeting.+Yeah+body+owner+any+skin+yeah+star.+Pattern+third+network+western+among+worker+else+there.%0ABoy+magazine+sign+industry+cover+attorney+yourself.+Represent+hundred+candidate+sign+little+time+night.&link_type=any&name=1595976244_7_modern&public_description=Woman+measure+check+soon.+Note+else+seven+medical+more.&title=Age+bank+it+sure+new+nature+hospital.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 97-QWGXgJRaC-8C4CTp3L4LNQQ_msI" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "700" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=g6v3D0ZXD0loIEwBBw; loidcreated=2020-07-28T22%3A44%3A00.231Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:44:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "356" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:44:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBSHG6FPPBSVJ8CQEME5H6Q&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 97-QWGXgJRaC-8C4CTp3L4LNQQ_msI" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=g6v3D0ZXD0loIEwBBw; loidcreated=2020-07-28T22%3A44%3A00.231Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595976244_7_modern/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:44:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "353" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595976244_7_modern/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:44:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595976244_7_modern" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 96-sE59wAAJDw4GMpeK6RaQVn6k7Bc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "78" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=g6v3D0ZXD0loIEwBBw; loidcreated=2020-07-28T22%3A44%3A00.231Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:44:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "353" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:44:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595976244_7_modern&text=&title=blank+post" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 96-sE59wAAJDw4GMpeK6RaQVn6k7Bc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "100" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=g6v3D0ZXD0loIEwBBw; loidcreated=2020-07-28T22%3A44%3A00.231Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595976244_7_modern/comments/17/blank_post/\", \"id\": \"17\", \"name\": \"t3_17\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "140" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:44:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "353" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:44:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 96-sE59wAAJDw4GMpeK6RaQVn6k7Bc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=g6v3D0ZXD0loIEwBBw; loidcreated=2020-07-28T22%3A44%3A00.231Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/17/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595976244_7_modern\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"17\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBSHG6FPPBSVJ8CQEME5H6Q\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595976244_7_modern\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_12\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595976244_7_modern/comments/17/blank_post/\", \"locked\": false, \"name\": \"t3_17\", \"created\": 1595976247.0, \"url\": \"http://reddit.local/r/1595976244_7_modern/comments/17/blank_post/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"blank post\", \"created_utc\": 1595976247.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1388" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:44:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "353" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=3Wntl65DyT5%2BWsMXxUQXL3w2LuXhuDFZlFRAXAZGUTuuY4uLbV23Y8aBKD4RWGifelMb2S3ZN7kcJHsCjLz7t9yFKLEOyFK9" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/17/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:44:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 96-sE59wAAJDw4GMpeK6RaQVn6k7Bc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=g6v3D0ZXD0loIEwBBw; loidcreated=2020-07-28T22%3A44%3A00.231Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595976244_7_modern/about/moderators/?user=01EEBSHG6FPPBSVJ8CQEME5H6Q&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:44:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "353" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=pLggcI6r%2BAt147Giw%2BfsF43ekJgU%2FAV4ICHVeQoixhKKiAbjcdP4emI%2FsolyFadSHTfWJEjVH5TjNOG8jVvownnCzrRSoSRL" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595976244_7_modern/about/moderators/?user=01EEBSHG6FPPBSVJ8CQEME5H6Q&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_create_url_post.json b/cassettes/channels.views.posts_test.test_create_url_post.json deleted file mode 100644 index 196867eb80..0000000000 --- a/cassettes/channels.views.posts_test.test_create_url_post.json +++ /dev/null @@ -1,688 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-22T17:19:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01BZJBVKS16NXMTZAWFS7W27KT" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1XNQQuCQBAF4L8ie4yERSWjW2lQh6C6dVrc9UmLodusiBX993bq1PE95nvzEpUx8F4NfYtOrCKRp0l8IpUf7IbkrmmTTvUOW/LljfQyE/NIYHKW4JVlkC6kDN3Xq+HhwCMaFYH41puguZpxIjQBXv+/ZZ3TdjQ4F3vyU2wuR/ks66m4Y82mxmgNlK155RfE+wN52efVuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 22 Nov 2017 17:19:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=T62Swpa2iv1Nelvm6w; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 22-Nov-2019 17:19:28 GMT", - "loidcreated=2017-11-22T17%3A19%3A28.478Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 22-Nov-2019 17:19:28 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01BZJBVKS16NXMTZAWFS7W27KT" - } - }, - { - "recorded_at": "2017-11-22T17:19:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&description=Necessitatibus+reiciendis+aliquam+earum+ipsa+velit.+Ab+eum+dolores+rerum+asperiores+pariatur.+Odit+facere+beatae+ea+deserunt+laborum+porro+eaque.%0AModi+rem+accusantium+libero+impedit+porro+incidunt+assumenda.+Harum+delectus+quod+assumenda+in+atque.+Veritatis+incidunt+velit+eaque+amet.+Maxime+non+labore+impedit+voluptatibus+id+tempore.&link_type=any&name=1511371168_mollitia&public_description=Nam+inventore+perspiciatis+rem+iste+itaque.+Ipsam+praesentium+odit+molestias+consectetur+fugiat.&title=Nemo+sit+praesentium+soluta+nihil.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 732-Qr_7MiBr0Hfk2n_opeErsDlrb84" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "590" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=T62Swpa2iv1Nelvm6w; loidcreated=2017-11-22T17%3A19%3A28.478Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 22 Nov 2017 17:19:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "32" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2017-11-22T17:19:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=T62Swpa2iv1Nelvm6w; loidcreated=2017-11-22T17%3A19%3A28.478Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01BZJBVT6TF984G0RGR7YNFSXB" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI3NtYNLqzy8Mh2MSnTLTDMNsi3LM4OqMw2iXQsyXRV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYZJ/uH5lrEu5k7OSbGl3l4GaT5OQf7G7uHlZmA9KSklmUmp8ZnpoAMhnCUagHHOEvvuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 22 Nov 2017 17:19:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01BZJBVT6TF984G0RGR7YNFSXB" - } - }, - { - "recorded_at": "2017-11-22T17:19:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01BZJBVT6TF984G0RGR7YNFSXB&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 732-Qr_7MiBr0Hfk2n_opeErsDlrb84" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=T62Swpa2iv1Nelvm6w; loidcreated=2017-11-22T17%3A19%3A28.478Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1511371168_mollitia/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 22 Nov 2017 17:19:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "25" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1511371168_mollitia/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2017-11-22T17:19:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1511371168_mollitia" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 733-SqzHHkD4v-p1k0o9skPyk4YAtiE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "78" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=T62Swpa2iv1Nelvm6w; loidcreated=2017-11-22T17%3A19%3A28.478Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 22 Nov 2017 17:19:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "25" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2017-11-22T17:19:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=link&resubmit=True&sendreplies=True&sr=1511371168_mollitia&title=url+title+%F0%9F%90%A8&url=http%3A%2F%2Fmicromasters.mit.edu%2F%F0%9F%90%A8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 733-SqzHHkD4v-p1k0o9skPyk4YAtiE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "159" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=T62Swpa2iv1Nelvm6w; loidcreated=2017-11-22T17%3A19%3A28.478Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1511371168_mollitia/comments/e6/url_title/\", \"id\": \"e6\", \"name\": \"t3_e6\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "139" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 22 Nov 2017 17:19:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "25" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2017-11-22T17:19:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 733-SqzHHkD4v-p1k0o9skPyk4YAtiE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=T62Swpa2iv1Nelvm6w; loidcreated=2017-11-22T17%3A19%3A28.478Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/e6/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1511371168_mollitia\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"e6\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01BZJBVT6TF984G0RGR7YNFSXB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"micromasters.mit.edu\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_a0\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": false, \"hide_score\": false, \"permalink\": \"/r/1511371168_mollitia/comments/e6/url_title/\", \"locked\": false, \"name\": \"t3_e6\", \"created\": 1511371175.0, \"url\": \"http://micromasters.mit.edu/\\ud83d\\udc28\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"url title \\ud83d\\udc28\", \"created_utc\": 1511371175.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1371" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 22 Nov 2017 17:19:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "25" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=xH3DP%2FcsX8yCi8wHXKcdBSBl2AkJrGLRUPodmWikSKv6xYwqI70BmPjZZAktzjlJEspTlqKhBcEELTprC9MFrcEPppEYwtqE" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/e6/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2017-11-22T17:19:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 733-SqzHHkD4v-p1k0o9skPyk4YAtiE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=T62Swpa2iv1Nelvm6w; loidcreated=2017-11-22T17%3A19%3A28.478Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.4 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1511371168_mollitia/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"a0\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1511371168_mollitia\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENecessitatibus reiciendis aliquam earum ipsa velit. Ab eum dolores rerum asperiores pariatur. Odit facere beatae ea deserunt laborum porro eaque.\\nModi rem accusantium libero impedit porro incidunt assumenda. Harum delectus quod assumenda in atque. Veritatis incidunt velit eaque amet. Maxime non labore impedit voluptatibus id tempore.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Nemo sit praesentium soluta nihil.\", \"collapse_deleted_comments\": false, \"public_description\": \"Nam inventore perspiciatis rem iste itaque. Ipsam praesentium odit molestias consectetur fugiat.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENam inventore perspiciatis rem iste itaque. Ipsam praesentium odit molestias consectetur fugiat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Necessitatibus reiciendis aliquam earum ipsa velit. Ab eum dolores rerum asperiores pariatur. Odit facere beatae ea deserunt laborum porro eaque.\\nModi rem accusantium libero impedit porro incidunt assumenda. Harum delectus quod assumenda in atque. Veritatis incidunt velit eaque amet. Maxime non labore impedit voluptatibus id tempore.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 1, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_a0\", \"created\": 1511371168.0, \"url\": \"/r/1511371168_mollitia/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1511371168.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2220" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 22 Nov 2017 17:19:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "25" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=XlYG3MokGMNx0JX85U2bN3NOcgNt08NdY3VyfLAH%2FGMA%2FvNMxYtkxZVqLVpjreN5ruyw66mrV1aAy00WCePjOblsL6Xkb788" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1511371168_mollitia/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_create_url_post_existing_meta.json b/cassettes/channels.views.posts_test.test_create_url_post_existing_meta.json deleted file mode 100644 index 4f2ee87aab..0000000000 --- a/cassettes/channels.views.posts_test.test_create_url_post_existing_meta.json +++ /dev/null @@ -1,688 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T22:43:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBSGKQQGNDCMVMD3WJPAPFM" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULI00nWtSqp0M4r0qMiP8vbzDAjJjjBxtvQzijBLzlfSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolpU7pVi4enhFGEcUR6Z4FLkGWRpnlRpmF3i5GYC0pKSWZSanxmemgMyFcJRqAaPhtc62AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:43:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=YynJi2y4Vt3IFYF5Fu; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:43:32 GMT", - "loidcreated=2020-07-28T22%3A43%3A31.353Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:43:32 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBSGKQQGNDCMVMD3WJPAPFM" - } - }, - { - "recorded_at": "2020-07-28T22:43:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=YynJi2y4Vt3IFYF5Fu; loidcreated=2020-07-28T22%3A43%3A31.353Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBSGQX37H3EV2HRX7RB5HKJ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULI01i1OzMsITjP3NHdOcQkzcnQzKLQIssjIDMnPzVfSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkollWYmvjEBzqHOwcZmuTnVUTkRxVlGBSFVER6+4K0pKSWZSanxmemgMyFcJRqAZpc/I62AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:43:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBSGQX37H3EV2HRX7RB5HKJ" - } - }, - { - "recorded_at": "2020-07-28T22:43:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Anyone+open+season+guess+information+least.+Congress+artist+other+way+control.%0AWall+bank+your+change+clearly+experience+difference.+Star+ok+month+amount+everyone.%0ABreak+morning+call+myself+allow.+Report+easy+morning+research+push.+Shake+fall+hard+check+arrive+upon+number.%0AThough+standard+low+seem+left+age+build.+Stock+pattern+open+art+defense+surface.%0AFront+hundred+opportunity+picture+city+white+professor.+Sign+spend+practice+its+window+care+first.&link_type=any&name=1595976216_0_arrive&public_description=Short+and+management+design.+Something+discuss+forward+value.&title=Story+and+return+enough+according+beat.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 93-sanhSf7I7CdDV2AF0q8R8hiTomo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "698" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=YynJi2y4Vt3IFYF5Fu; loidcreated=2020-07-28T22%3A43%3A31.353Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:43:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "384" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:43:40", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBSGKQQGNDCMVMD3WJPAPFM&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 93-sanhSf7I7CdDV2AF0q8R8hiTomo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=YynJi2y4Vt3IFYF5Fu; loidcreated=2020-07-28T22%3A43%3A31.353Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595976216_0_arrive/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:43:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "380" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595976216_0_arrive/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:43:40", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595976216_0_arrive" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 92-EzbyF2YHxoZKNIPTkX4C9N2X6co" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "78" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=YynJi2y4Vt3IFYF5Fu; loidcreated=2020-07-28T22%3A43%3A31.353Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:43:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "380" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:43:43", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=link&resubmit=True&sendreplies=True&sr=1595976216_0_arrive&title=url+title+%F0%9F%90%A8&url=http%3A%2F%2Fmicromasters.mit.edu%2F%F0%9F%90%A8" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 92-EzbyF2YHxoZKNIPTkX4C9N2X6co" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "159" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=YynJi2y4Vt3IFYF5Fu; loidcreated=2020-07-28T22%3A43%3A31.353Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595976216_0_arrive/comments/15/url_title/\", \"id\": \"15\", \"name\": \"t3_15\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "139" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:43:43 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "377" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:43:43", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 92-EzbyF2YHxoZKNIPTkX4C9N2X6co" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=YynJi2y4Vt3IFYF5Fu; loidcreated=2020-07-28T22%3A43%3A31.353Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/15/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595976216_0_arrive\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"15\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBSGKQQGNDCMVMD3WJPAPFM\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"micromasters.mit.edu\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_10\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": false, \"hide_score\": false, \"permalink\": \"/r/1595976216_0_arrive/comments/15/url_title/\", \"locked\": false, \"name\": \"t3_15\", \"created\": 1595976223.0, \"url\": \"http://micromasters.mit.edu/\\ud83d\\udc28\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"url title \\ud83d\\udc28\", \"created_utc\": 1595976223.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1371" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:43:43 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "377" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=%2BHdsmX6htgUURx1PMxnFFSh3ilfoCRBDlz0wAg5t2A0xwzyVigNl8PFvftiwvrWcDXBUPpE7I9Q77yOJ5zLqzoW%2B1MN0yc0L" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/15/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:43:43", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 92-EzbyF2YHxoZKNIPTkX4C9N2X6co" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=YynJi2y4Vt3IFYF5Fu; loidcreated=2020-07-28T22%3A43%3A31.353Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595976216_0_arrive/about/moderators/?user=01EEBSGKQQGNDCMVMD3WJPAPFM&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:43:43 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "377" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=yD9hWwcVce1O%2BH%2FmOryRpAZUMZY5ftss%2BMcNVB5p9SqvjbE9RaBRht8KPnVv%2FPHksfaUobsFuuLiOPIujyR%2BNhACOx3Q%2BjoT" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595976216_0_arrive/about/moderators/?user=01EEBSGKQQGNDCMVMD3WJPAPFM&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_delete_post.json b/cassettes/channels.views.posts_test.test_delete_post.json deleted file mode 100644 index 6f66219b46..0000000000 --- a/cassettes/channels.views.posts_test.test_delete_post.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-06T16:41:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=george" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0NdcNT801LcsIr0g2SwtzNywtSHQzMSiriIqK8CpX0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLbllpUaZlrkR2ZZBpq7e4QWhpQbR+UaOZZlBIFtS0kty0xOjc9MARkM4SjVAgClp6KMuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 06 Nov 2017 16:41:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=thhEyPwQzDtiJTx4Xj; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 06-Nov-2019 16:41:55 GMT", - "loidcreated=2017-11-06T16%3A41%3A55.314Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 06-Nov-2019 16:41:55 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=george" - } - }, - { - "recorded_at": "2017-11-06T16:41:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t3_2" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 157-Wem5vhWxc6fVG1upaF40vxZZXJw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "21" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=thhEyPwQzDtiJTx4Xj; loidcreated=2017-11-06T16%3A41%3A55.314Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/del/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 06 Nov 2017 16:41:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "485" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/del/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_delete_post_anonymous[True].json b/cassettes/channels.views.posts_test.test_delete_post_anonymous[True].json deleted file mode 100644 index 21e7b446cc..0000000000 --- a/cassettes/channels.views.posts_test.test_delete_post_anonymous[True].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "http_interactions": [], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_get_deleted_post[False].json b/cassettes/channels.views.posts_test.test_get_deleted_post[False].json deleted file mode 100644 index de58c45a33..0000000000 --- a/cassettes/channels.views.posts_test.test_get_deleted_post[False].json +++ /dev/null @@ -1,777 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:03:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHPMV71SGF4H810SVEHEEH" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIystRNyy1yLC7PKQrOcbF0LNZNds6IKC4zSg9xi/RV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYVurmHZ2aa+hgZFeTFO3t7Fjg5B4Um5xoWuXqC9KSklmUmp8ZnpoAMhnCUagEOt6RYuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:03:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=VxpaMH6GSqOJoatPs5; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:03:55 GMT", - "loidcreated=2018-08-24T18%3A03%3A55.081Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:03:55 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHPMV71SGF4H810SVEHEEH" - } - }, - { - "recorded_at": "2018-08-24T18:03:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Dolores+veritatis+sint+eligendi+tenetur.+Fuga+ratione+error+magni+sed+provident+id+maxime+odio.%0AEsse+nobis+quidem+eius+libero.+Quibusdam+quasi+est+corporis.+Repudiandae+similique+sapiente+dolorum+quam+eum.%0ASunt+quam+saepe+dicta+tempora+in.+Aut+ullam+necessitatibus+laborum.+Recusandae+recusandae+quo+eius+tenetur+eligendi+ipsum.%0AIure+magnam+porro+modi+quas+modi+fugit.+Dolorum+asperiores+illum+hic.+Provident+ex+modi+voluptate+quam+eveniet+maxime+fuga.&link_type=any&name=1535133835_incidunt&public_description=Aspernatur+pariatur+modi+praesentium+fuga.+Ullam+omnis+dolore+ratione.+Excepturi+ad+id+molestiae.&title=Fugit+tenetur+nulla+asperiores+eveniet.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 229-fmrAswlrSlD9As-cChXsv2gTFYM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "732" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=VxpaMH6GSqOJoatPs5; loidcreated=2018-08-24T18%3A03%3A55.081Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:03:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "365" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=VxpaMH6GSqOJoatPs5; loidcreated=2018-08-24T18%3A03%3A55.081Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHPV6WGYZ0PP40RNVMF75Q" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNtANKnJ1DQ/2NM3x0DU3ckz3cC2y8PaJ8DB3dIpU0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaF55Qmmjunxqd4xJf7uGd7u4TlpHgZ+3sGhTiC9KSklmUmp8ZnpoAMhnCUagHmgmtMuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHPV6WGYZ0PP40RNVMF75Q" - } - }, - { - "recorded_at": "2018-08-24T18:04:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHPV6WGYZ0PP40RNVMF75Q&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 229-fmrAswlrSlD9As-cChXsv2gTFYM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=VxpaMH6GSqOJoatPs5; loidcreated=2018-08-24T18%3A03%3A55.081Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133835_incidunt/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "358" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133835_incidunt/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535133835_incidunt" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 230-RrEEWSI5lH-72AgHEr8KLXH7ABY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "78" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=VxpaMH6GSqOJoatPs5; loidcreated=2018-08-24T18%3A03%3A55.081Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "358" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535133835_incidunt&text=Dolorem+soluta+fugit+voluptas+sapiente.+Unde+odit+animi+ipsa.&title=Officiis+repudiandae+dolorum+atque+maxime." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 230-RrEEWSI5lH-72AgHEr8KLXH7ABY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "193" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=VxpaMH6GSqOJoatPs5; loidcreated=2018-08-24T18%3A03%3A55.081Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535133835_incidunt/comments/1a/officiis_repudiandae_dolorum_atque_maxime/\", \"id\": \"1a\", \"name\": \"t3_1a\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "171" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "358" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 230-RrEEWSI5lH-72AgHEr8KLXH7ABY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=VxpaMH6GSqOJoatPs5; loidcreated=2018-08-24T18%3A03%3A55.081Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1a/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133835_incidunt\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDolorem soluta fugit voluptas sapiente. Unde odit animi ipsa.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Dolorem soluta fugit voluptas sapiente. Unde odit animi ipsa.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1a\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPHPV6WGYZ0PP40RNVMF75Q\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535133835_incidunt\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535133835_incidunt/comments/1a/officiis_repudiandae_dolorum_atque_maxime/\", \"locked\": false, \"name\": \"t3_1a\", \"created\": 1535133842.0, \"url\": \"http://reddit.local/r/1535133835_incidunt/comments/1a/officiis_repudiandae_dolorum_atque_maxime/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Officiis repudiandae dolorum atque maxime.\", \"created_utc\": 1535133842.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1724" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "358" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=SpjZCL33F1Yr%2FhKI1jCef15DTnh%2FtMxnG8wKMNk9MAXlg1gtcPrQY0blXXmU19qLajdL3uBdgR52t9FlFw81HWI9ZVDmadv1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1a/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 229-fmrAswlrSlD9As-cChXsv2gTFYM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=VxpaMH6GSqOJoatPs5; loidcreated=2018-08-24T18%3A03%3A55.081Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1a/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133835_incidunt\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDolorem soluta fugit voluptas sapiente. Unde odit animi ipsa.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Dolorem soluta fugit voluptas sapiente. Unde odit animi ipsa.\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1a\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [], \"author\": \"01CNPHPV6WGYZ0PP40RNVMF75Q\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535133835_incidunt\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535133835_incidunt/comments/1a/officiis_repudiandae_dolorum_atque_maxime/\", \"locked\": false, \"name\": \"t3_1a\", \"created\": 1535133842.0, \"url\": \"http://reddit.local/r/1535133835_incidunt/comments/1a/officiis_repudiandae_dolorum_atque_maxime/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Officiis repudiandae dolorum atque maxime.\", \"created_utc\": 1535133842.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1719" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "355" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=CRbApFHax1123Cg9HuU6Dk%2FnQfafyyFW9i31YENk2vgExMZ5WBJXoDN9JHhR90TyQu2rYI4cwBRgtOt%2F6XjYV2P5jlgYUxZt" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1a/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 229-fmrAswlrSlD9As-cChXsv2gTFYM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=VxpaMH6GSqOJoatPs5; loidcreated=2018-08-24T18%3A03%3A55.081Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133835_incidunt/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"1p\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535133835_incidunt\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDolores veritatis sint eligendi tenetur. Fuga ratione error magni sed provident id maxime odio.\\nEsse nobis quidem eius libero. Quibusdam quasi est corporis. Repudiandae similique sapiente dolorum quam eum.\\nSunt quam saepe dicta tempora in. Aut ullam necessitatibus laborum. Recusandae recusandae quo eius tenetur eligendi ipsum.\\nIure magnam porro modi quas modi fugit. Dolorum asperiores illum hic. Provident ex modi voluptate quam eveniet maxime fuga.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Fugit tenetur nulla asperiores eveniet.\", \"collapse_deleted_comments\": false, \"public_description\": \"Aspernatur pariatur modi praesentium fuga. Ullam omnis dolore ratione. Excepturi ad id molestiae.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAspernatur pariatur modi praesentium fuga. Ullam omnis dolore ratione. Excepturi ad id molestiae.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Dolores veritatis sint eligendi tenetur. Fuga ratione error magni sed provident id maxime odio.\\nEsse nobis quidem eius libero. Quibusdam quasi est corporis. Repudiandae similique sapiente dolorum quam eum.\\nSunt quam saepe dicta tempora in. Aut ullam necessitatibus laborum. Recusandae recusandae quo eius tenetur eligendi ipsum.\\nIure magnam porro modi quas modi fugit. Dolorum asperiores illum hic. Provident ex modi voluptate quam eveniet maxime fuga.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 3, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_1p\", \"created\": 1535133835.0, \"url\": \"/r/1535133835_incidunt/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535133835.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2464" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "355" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=7U2PKqqWF3VYWYMUZzjaKQlQu1EHDSZvTRYHVXF6Pf2MU1ktP15sl8o%2BMdUITuL2vO0f%2F3XyzXLvm2oqp3iO7UCbu5nqBP3p" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133835_incidunt/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_get_deleted_post[True].json b/cassettes/channels.views.posts_test.test_get_deleted_post[True].json deleted file mode 100644 index 816cecb55b..0000000000 --- a/cassettes/channels.views.posts_test.test_get_deleted_post[True].json +++ /dev/null @@ -1,688 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:03:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHP8027XRZ6VFFR5NPR886" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyMtcNcvLzTTaMzEhNyzUyTPMsdsz1c7UszYlPqUxW0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYlWYQZR3lUVji7FvtZlHt6FZlFGBkXeKYZpOeD9KSklmUmp8ZnpoAMhnCUagGNWp4wuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:03:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=hd2fHjnEAbEiGRkgAJ; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:03:42 GMT", - "loidcreated=2018-08-24T18%3A03%3A41.906Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:03:42 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHP8027XRZ6VFFR5NPR886" - } - }, - { - "recorded_at": "2018-08-24T18:03:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Repudiandae+doloribus+libero+ullam+natus+sunt.+Eum+vel+adipisci+ullam+incidunt+ea.+Deleniti+officia+ducimus+praesentium+in+ad.+Id+similique+doloribus+quam+deleniti+modi+hic+tempore.%0ADicta+minus+dolorum+sunt.+Porro+quia+magni+laboriosam+odit+quis+eveniet+reiciendis.+Modi+ratione+reprehenderit+sint.+Vel+nemo+recusandae+animi+suscipit+asperiores+amet.+Ullam+laborum+at+animi+pariatur+amet+voluptatem.&link_type=any&name=1535133822_necessitat&public_description=Excepturi+quaerat+enim+dolorum+possimus+quasi+provident+odio+ea.+Quidem+iure+a+sequi+non.&title=Doloremque+unde+mollitia+reiciendis.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 227-RBNMc1Yhefm21fIsAmNE9ul_dyc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "666" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=hd2fHjnEAbEiGRkgAJ; loidcreated=2018-08-24T18%3A03%3A41.906Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:03:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "378" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:03:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=hd2fHjnEAbEiGRkgAJ; loidcreated=2018-08-24T18%3A03%3A41.906Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHPEBP3V0MV2QK7MSF8J29" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNyw6CMBREf4XcpZEEa1IfO3aAVsLCwK6BctUGtbXFBmP8d6msXM7JnJk31EKgtbxXHd5hGwAh65A5jU3m9rV7iDjp2Pl6UzJJjyyLYR4ADloatFx6YUmjaGQ/n/cvjX6kwdqg8V0r1IRmPhk8jeLl/03lu1VfpeFB04LKZ0mqzZAvyoKGnXdadFIgl60fngJ8vr9LJ1q4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:03:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHPEBP3V0MV2QK7MSF8J29" - } - }, - { - "recorded_at": "2018-08-24T18:03:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHPEBP3V0MV2QK7MSF8J29&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 227-RBNMc1Yhefm21fIsAmNE9ul_dyc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=hd2fHjnEAbEiGRkgAJ; loidcreated=2018-08-24T18%3A03%3A41.906Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133822_necessitat/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:03:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "372" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133822_necessitat/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:03:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535133822_necessitat" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 228-MvpebJvLavqcAHkMglmoiHIUMJA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "80" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=hd2fHjnEAbEiGRkgAJ; loidcreated=2018-08-24T18%3A03%3A41.906Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:03:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "372" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:03:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535133822_necessitat&text=At+tempora+placeat+quasi+blanditiis+veniam+rerum.+Vitae+adipisci+quod+non+tenetur.&title=Corrupti+illo+dignissimos+quo+dolores." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 228-MvpebJvLavqcAHkMglmoiHIUMJA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "212" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=hd2fHjnEAbEiGRkgAJ; loidcreated=2018-08-24T18%3A03%3A41.906Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535133822_necessitat/comments/19/corrupti_illo_dignissimos_quo_dolores/\", \"id\": \"19\", \"name\": \"t3_19\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "169" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:03:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "372" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:03:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 228-MvpebJvLavqcAHkMglmoiHIUMJA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=hd2fHjnEAbEiGRkgAJ; loidcreated=2018-08-24T18%3A03%3A41.906Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/19/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133822_necessitat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAt tempora placeat quasi blanditiis veniam rerum. Vitae adipisci quod non tenetur.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"At tempora placeat quasi blanditiis veniam rerum. Vitae adipisci quod non tenetur.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"19\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPHPEBP3V0MV2QK7MSF8J29\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535133822_necessitat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1o\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535133822_necessitat/comments/19/corrupti_illo_dignissimos_quo_dolores/\", \"locked\": false, \"name\": \"t3_19\", \"created\": 1535133828.0, \"url\": \"http://reddit.local/r/1535133822_necessitat/comments/19/corrupti_illo_dignissimos_quo_dolores/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Corrupti illo dignissimos quo dolores.\", \"created_utc\": 1535133828.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1762" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:03:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "372" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=rLOinn3jWmTdH%2FF9b6x7cnd5g2djpny%2BWXulFv8q7ffBUka98o3JeAOhPWC%2FHnWNbFkceRCjqobyABeoPE9nUHt%2FAP1Xraqw" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/19/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:03:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 227-RBNMc1Yhefm21fIsAmNE9ul_dyc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=hd2fHjnEAbEiGRkgAJ; loidcreated=2018-08-24T18%3A03%3A41.906Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/19/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133822_necessitat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAt tempora placeat quasi blanditiis veniam rerum. Vitae adipisci quod non tenetur.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"At tempora placeat quasi blanditiis veniam rerum. Vitae adipisci quod non tenetur.\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"19\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [], \"author\": \"01CNPHPEBP3V0MV2QK7MSF8J29\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535133822_necessitat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1o\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535133822_necessitat/comments/19/corrupti_illo_dignissimos_quo_dolores/\", \"locked\": false, \"name\": \"t3_19\", \"created\": 1535133828.0, \"url\": \"http://reddit.local/r/1535133822_necessitat/comments/19/corrupti_illo_dignissimos_quo_dolores/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Corrupti illo dignissimos quo dolores.\", \"created_utc\": 1535133828.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1757" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:03:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "369" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=17QM9BwtkVwxiReqnycBcEZJZMdtxJLr4kB7Ge%2BrD0B2ph3cKHMtxROqfVAwgBHgBEhqU5Ec1B3N101zQcQI7cDgpkFFrnr0" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/19/?limit=2048&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_get_post[False].json b/cassettes/channels.views.posts_test.test_get_post[False].json deleted file mode 100644 index a8409dea90..0000000000 --- a/cassettes/channels.views.posts_test.test_get_post[False].json +++ /dev/null @@ -1,777 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:04:22", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHQEYJ4WQZQJ8D2Y2W65JA" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNTQuCQBRF/4rMMhLU0QnaF7iwDyiyNsP45kmT4MgbizL67zm5ankP99z7ZgoAnZO9bbBly4AlnIelaDmV8VDLnaXj2cG2ECHt6yqL2Dxg+OwMoZPGC1xE0ch+vuxfHfqRChUh+a4DO6GZT4T1KF7/3wqtRAywuJ/sRR3oluTZpsmHNF2vvKPxYQCl0X54CuzzBfBeDLK4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:22 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=bBx3gERxmTU4UzfU8H; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:04:22 GMT", - "loidcreated=2018-08-24T18%3A04%3A21.813Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:04:22 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHQEYJ4WQZQJ8D2Y2W65JA" - } - }, - { - "recorded_at": "2018-08-24T18:04:22", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Ipsam+voluptatibus+incidunt+eius+repellendus+reprehenderit.+Distinctio+laborum+magni+eum+necessitatibus+ex+qui+quo.+Expedita+voluptatem+fugiat+alias+est+atque+laborum+expedita+distinctio.+Est+magnam+fugit+aliquam+sint+minus.%0ANumquam+nam+eaque+hic+sint.+Error+illo+doloremque+nesciunt+fugiat+consequatur+aliquid.+Aspernatur+sunt+dolore+laudantium+deserunt+iure+magni.+Temporibus+quasi+recusandae+sit+occaecati+sequi+labore+officiis.&link_type=any&name=1535133862_ipsa&public_description=Cumque+totam+assumenda+perferendis+repellendus.+Facere+eum+architecto+nisi.&title=Neque+voluptatum+facilis+quidem.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 233-X6n3rX1zf_PorUYscOM6-rQfb50" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "674" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=bBx3gERxmTU4UzfU8H; loidcreated=2018-08-24T18%3A04%3A21.813Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:22 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "338" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=bBx3gERxmTU4UzfU8H; loidcreated=2018-08-24T18%3A04%3A21.813Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHQN9GRFNS6HFBA7BA952S" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNtE1DKxKczTxTXZ38/SOLPNJMygOjU/TLU0qynNV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZaLaZmmVmhaYnOpYamxn76WaWJRsZFGf7ZvgXZYP0pKSWZSanxmemgAyGcJRqAXv5lUe4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHQN9GRFNS6HFBA7BA952S" - } - }, - { - "recorded_at": "2018-08-24T18:04:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHQN9GRFNS6HFBA7BA952S&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 233-X6n3rX1zf_PorUYscOM6-rQfb50" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=bBx3gERxmTU4UzfU8H; loidcreated=2018-08-24T18%3A04%3A21.813Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133862_ipsa/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "332" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133862_ipsa/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535133862_ipsa" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 234-1QzfA4McGFIKYvLf0sU_f-ubrnE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "74" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=bBx3gERxmTU4UzfU8H; loidcreated=2018-08-24T18%3A04%3A21.813Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "332" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535133862_ipsa&text=Optio+nemo+voluptates+praesentium+nesciunt.+Vero+aperiam+laborum+nihil.&title=Velit+ex+quasi+natus." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 234-1QzfA4McGFIKYvLf0sU_f-ubrnE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "178" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=bBx3gERxmTU4UzfU8H; loidcreated=2018-08-24T18%3A04%3A21.813Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535133862_ipsa/comments/1c/velit_ex_quasi_natus/\", \"id\": \"1c\", \"name\": \"t3_1c\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "146" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "332" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 234-1QzfA4McGFIKYvLf0sU_f-ubrnE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=bBx3gERxmTU4UzfU8H; loidcreated=2018-08-24T18%3A04%3A21.813Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1c/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133862_ipsa\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOptio nemo voluptates praesentium nesciunt. Vero aperiam laborum nihil.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Optio nemo voluptates praesentium nesciunt. Vero aperiam laborum nihil.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1c\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPHQN9GRFNS6HFBA7BA952S\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535133862_ipsa\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1r\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535133862_ipsa/comments/1c/velit_ex_quasi_natus/\", \"locked\": false, \"name\": \"t3_1c\", \"created\": 1535133868.0, \"url\": \"http://reddit.local/r/1535133862_ipsa/comments/1c/velit_ex_quasi_natus/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Velit ex quasi natus.\", \"created_utc\": 1535133868.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1665" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "332" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=MyUHQqJY7X1RXziYU%2FfwHPl3JThvrUk9049Xzl5OczDGd9oDx%2Fw%2BH7dLPREZzz1QemfzKB4UnIHeaHXnSaRf22NqXnIdheLq" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1c/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 234-1QzfA4McGFIKYvLf0sU_f-ubrnE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=bBx3gERxmTU4UzfU8H; loidcreated=2018-08-24T18%3A04%3A21.813Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1c/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133862_ipsa\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOptio nemo voluptates praesentium nesciunt. Vero aperiam laborum nihil.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Optio nemo voluptates praesentium nesciunt. Vero aperiam laborum nihil.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1c\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPHQN9GRFNS6HFBA7BA952S\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535133862_ipsa\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1r\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535133862_ipsa/comments/1c/velit_ex_quasi_natus/\", \"locked\": false, \"name\": \"t3_1c\", \"created\": 1535133868.0, \"url\": \"http://reddit.local/r/1535133862_ipsa/comments/1c/velit_ex_quasi_natus/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Velit ex quasi natus.\", \"created_utc\": 1535133868.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1665" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "329" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=j8%2FwIP8eJRdiRGp%2FbDv9QjKWSgkulSpC7PIjv4KG%2Fjvt3H4VUNcyTVWVTKf3PQUNa7evOI5BZ2ggoSNRQ4r%2Bmkhbejk%2BXhl%2B" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1c/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 234-1QzfA4McGFIKYvLf0sU_f-ubrnE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=bBx3gERxmTU4UzfU8H; loidcreated=2018-08-24T18%3A04%3A21.813Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133862_ipsa/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"1r\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535133862_ipsa\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIpsam voluptatibus incidunt eius repellendus reprehenderit. Distinctio laborum magni eum necessitatibus ex qui quo. Expedita voluptatem fugiat alias est atque laborum expedita distinctio. Est magnam fugit aliquam sint minus.\\nNumquam nam eaque hic sint. Error illo doloremque nesciunt fugiat consequatur aliquid. Aspernatur sunt dolore laudantium deserunt iure magni. Temporibus quasi recusandae sit occaecati sequi labore officiis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Neque voluptatum facilis quidem.\", \"collapse_deleted_comments\": false, \"public_description\": \"Cumque totam assumenda perferendis repellendus. Facere eum architecto nisi.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECumque totam assumenda perferendis repellendus. Facere eum architecto nisi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Ipsam voluptatibus incidunt eius repellendus reprehenderit. Distinctio laborum magni eum necessitatibus ex qui quo. Expedita voluptatem fugiat alias est atque laborum expedita distinctio. Est magnam fugit aliquam sint minus.\\nNumquam nam eaque hic sint. Error illo doloremque nesciunt fugiat consequatur aliquid. Aspernatur sunt dolore laudantium deserunt iure magni. Temporibus quasi recusandae sit occaecati sequi labore officiis.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 4, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_1r\", \"created\": 1535133862.0, \"url\": \"/r/1535133862_ipsa/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535133862.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2360" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "329" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ubfssWthBuZztCl6IiwJf%2BzklpZpXqrWv2Mg%2FYnoYmzBuZ2XxPbQ07TorXS%2BUZXIIHJOu8lFUGIfGZBfNh7BuzSvAgf20mZc" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133862_ipsa/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_get_post[True].json b/cassettes/channels.views.posts_test.test_get_post[True].json deleted file mode 100644 index 36f6b236f1..0000000000 --- a/cassettes/channels.views.posts_test.test_get_post[True].json +++ /dev/null @@ -1,777 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:04:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHQ23J2GVDPTX7W2H7EMG9" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNyw6CMBREf4V0aSThISzcKviKxO6Mm6ZeLqGpgXILPmL8d6msXM7JnJk3kwBorehbjQ1beiyKQ39jBwh4pW46T+hURF1eZKth3+wqzeYew6dRhFYoJ8RpEIzs54v+ZdCNXFESkutaaCc0c4mwGsX6/01eCChLzGJNHfBSPsL0vPUPXPKjc0q8K0ChSjc8Bfb5AvZxh9i4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=PsMdBIjhqJiAWrFctP; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:04:08 GMT", - "loidcreated=2018-08-24T18%3A04%3A08.656Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:04:08 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHQ23J2GVDPTX7W2H7EMG9" - } - }, - { - "recorded_at": "2018-08-24T18:04:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Velit+animi+vel+voluptas+repudiandae+quas+esse.+Aliquid+corrupti+odit+fuga+voluptate+pariatur.+Veritatis+ipsa+labore+fugiat+placeat+nobis.%0ADignissimos+quas+assumenda+veniam+nam+optio+voluptatibus.+Aspernatur+qui+eaque+repellat+quos+veritatis+quis.+Soluta+eos+aspernatur+aliquam+eveniet+occaecati.%0ASit+vitae+distinctio+tenetur+aspernatur+voluptatum.+Quidem+aperiam+consequatur+deleniti+dolor+voluptatum+sequi.&link_type=any&name=1535133848_praesentiu&public_description=Dignissimos+sunt+quibusdam+dolore+hic+dolorem.+Laudantium+praesentium+at+consequatur+quis+vero.&title=Totam+commodi+veniam+nisi+ab+vero+dolore.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 231-Gsuc0QfilkF5rPN2qFNECuJnIfk" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "688" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=PsMdBIjhqJiAWrFctP; loidcreated=2018-08-24T18%3A04%3A08.656Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:09 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "352" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=PsMdBIjhqJiAWrFctP; loidcreated=2018-08-24T18%3A04%3A08.656Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHQ8DSXYBKAKS90HA2AMSV" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WN0QqCMBiFX0V2GQW2oWT3KV0YmEiXY85fG9am+y0W0bvn8qrL83G+c95ESAmIfDI9aLIPCGV0A8eyr293cdYHw9xu5GmUVHnUJRmSdUDADcoCcuUFFofhzH4+n14D+JEahAXruyjNglY+WWhn8fr/JvIwbh5FcdLbIWNOY1/SMR0vraq808BTSeCq8cNLIJ8v3SNk0bgAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHQ8DSXYBKAKS90HA2AMSV" - } - }, - { - "recorded_at": "2018-08-24T18:04:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHQ8DSXYBKAKS90HA2AMSV&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 231-Gsuc0QfilkF5rPN2qFNECuJnIfk" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=PsMdBIjhqJiAWrFctP; loidcreated=2018-08-24T18%3A04%3A08.656Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133848_praesentiu/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "345" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133848_praesentiu/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535133848_praesentiu" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 232-eISkblmaRnEo3x8q_F59UM5g9Gs" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "80" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=PsMdBIjhqJiAWrFctP; loidcreated=2018-08-24T18%3A04%3A08.656Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "345" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535133848_praesentiu&text=Porro+in+possimus+quaerat+vitae.+Autem+expedita+cumque+voluptatum+deserunt+vitae.&title=Fugiat+fuga+eum+et+libero." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 232-eISkblmaRnEo3x8q_F59UM5g9Gs" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "199" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=PsMdBIjhqJiAWrFctP; loidcreated=2018-08-24T18%3A04%3A08.656Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535133848_praesentiu/comments/1b/fugiat_fuga_eum_et_libero/\", \"id\": \"1b\", \"name\": \"t3_1b\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "157" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "345" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 232-eISkblmaRnEo3x8q_F59UM5g9Gs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=PsMdBIjhqJiAWrFctP; loidcreated=2018-08-24T18%3A04%3A08.656Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1b/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133848_praesentiu\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPorro in possimus quaerat vitae. Autem expedita cumque voluptatum deserunt vitae.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Porro in possimus quaerat vitae. Autem expedita cumque voluptatum deserunt vitae.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1b\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPHQ8DSXYBKAKS90HA2AMSV\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535133848_praesentiu\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1q\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535133848_praesentiu/comments/1b/fugiat_fuga_eum_et_libero/\", \"locked\": false, \"name\": \"t3_1b\", \"created\": 1535133855.0, \"url\": \"http://reddit.local/r/1535133848_praesentiu/comments/1b/fugiat_fuga_eum_et_libero/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Fugiat fuga eum et libero.\", \"created_utc\": 1535133855.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1724" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "345" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ItScMe982sruggg0UGNJWbUoXlrA334DpyxTwDSFis4txaQ2YtNnl6xhU4bh867hXyEiQSejAIqH68r7G4ZKTocfQhqvSzDY" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1b/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 232-eISkblmaRnEo3x8q_F59UM5g9Gs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=PsMdBIjhqJiAWrFctP; loidcreated=2018-08-24T18%3A04%3A08.656Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1b/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133848_praesentiu\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPorro in possimus quaerat vitae. Autem expedita cumque voluptatum deserunt vitae.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Porro in possimus quaerat vitae. Autem expedita cumque voluptatum deserunt vitae.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1b\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPHQ8DSXYBKAKS90HA2AMSV\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535133848_praesentiu\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1q\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535133848_praesentiu/comments/1b/fugiat_fuga_eum_et_libero/\", \"locked\": false, \"name\": \"t3_1b\", \"created\": 1535133855.0, \"url\": \"http://reddit.local/r/1535133848_praesentiu/comments/1b/fugiat_fuga_eum_et_libero/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Fugiat fuga eum et libero.\", \"created_utc\": 1535133855.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1724" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "342" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=uu%2FKFBkJFFwiJPyxze7pi4l2NFcC3Zt2ZfLibOEnR4maq4A%2BBS5we2iwEcwbJ5xBHieEkQnI6uQ3bWeTayM2TV%2F2%2FOLzSsRk" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1b/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 232-eISkblmaRnEo3x8q_F59UM5g9Gs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=PsMdBIjhqJiAWrFctP; loidcreated=2018-08-24T18%3A04%3A08.656Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133848_praesentiu/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"1q\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535133848_praesentiu\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVelit animi vel voluptas repudiandae quas esse. Aliquid corrupti odit fuga voluptate pariatur. Veritatis ipsa labore fugiat placeat nobis.\\nDignissimos quas assumenda veniam nam optio voluptatibus. Aspernatur qui eaque repellat quos veritatis quis. Soluta eos aspernatur aliquam eveniet occaecati.\\nSit vitae distinctio tenetur aspernatur voluptatum. Quidem aperiam consequatur deleniti dolor voluptatum sequi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Totam commodi veniam nisi ab vero dolore.\", \"collapse_deleted_comments\": false, \"public_description\": \"Dignissimos sunt quibusdam dolore hic dolorem. Laudantium praesentium at consequatur quis vero.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDignissimos sunt quibusdam dolore hic dolorem. Laudantium praesentium at consequatur quis vero.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Velit animi vel voluptas repudiandae quas esse. Aliquid corrupti odit fuga voluptate pariatur. Veritatis ipsa labore fugiat placeat nobis.\\nDignissimos quas assumenda veniam nam optio voluptatibus. Aspernatur qui eaque repellat quos veritatis quis. Soluta eos aspernatur aliquam eveniet occaecati.\\nSit vitae distinctio tenetur aspernatur voluptatum. Quidem aperiam consequatur deleniti dolor voluptatum sequi.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 6, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_1q\", \"created\": 1535133848.0, \"url\": \"/r/1535133848_praesentiu/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535133848.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2377" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "342" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ULJXlvwcNChpH%2BoflfByDmudw%2FzZQyorsGWihfZBCQgATuPVi4WJR9ZQkcPSll1UA9ikqOXUvwI0IpQT8N3daOJFKgJPFHJg" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133848_praesentiu/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_get_post_anonymous.json b/cassettes/channels.views.posts_test.test_get_post_anonymous.json deleted file mode 100644 index 060072367f..0000000000 --- a/cassettes/channels.views.posts_test.test_get_post_anonymous.json +++ /dev/null @@ -1,670 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:05:01", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHRNTYZAFRR2SMRC4F2VHZ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyttR1TyuzTCkPCovK9DZ3c3XyM8gKL8kuCPDOCHRV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZlVBgbGDh6pGc5pphaGvuEp/pG6Po5lZsYOIaC9KSklmUmp8ZnpoAMhnCUagH8/UBMuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:01 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=Ah0eNuIJS7ey9ATjpR; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:05:01 GMT", - "loidcreated=2018-08-24T18%3A05%3A01.611Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:05:01 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHRNTYZAFRR2SMRC4F2VHZ" - } - }, - { - "recorded_at": "2018-08-24T18:05:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Cupiditate+inventore+dignissimos+distinctio+velit+cumque+provident.+Nam+dolorum+eos+facilis+ex+harum.%0AMaxime+vel+quas+exercitationem+ipsa+ab+mollitia.+Incidunt+ad+rem+accusamus+mollitia+dolorum+doloremque.+Vel+enim+modi+quam+officia+necessitatibus.+Doloremque+blanditiis+dolorem+ad+quod+alias.%0ARatione+adipisci+qui+aut+voluptates+veniam+ipsum+in.+Illo+adipisci+adipisci+eligendi+recusandae+modi.+Et+voluptatibus+voluptas+delectus.&link_type=any&name=1535133901_voluptatib&public_description=Voluptas+laboriosam+asperiores+dignissimos+sit+iusto.+Aperiam+iure+architecto+blanditiis.&title=Possimus+necessitatibus+itaque+nulla.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 239-Gfv9dwRVZiK7FEBN0jWtkpPKhQE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "699" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ah0eNuIJS7ey9ATjpR; loidcreated=2018-08-24T18%3A05%3A01.611Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "299" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:05:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Ah0eNuIJS7ey9ATjpR; loidcreated=2018-08-24T18%3A05%3A01.611Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CBFJMB9PD3JP17KAX3E5JQ46" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyMdD1d3OxjDctSC0oLffOzY6MKMpKj3APNsgwM3ZV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLY5ueQUGAVWpeU4ekfmBqS7VkVYGgQZJ7l4ueWD9KSklmUmp8ZnpoAMhnCUagHpltovuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CBFJMB9PD3JP17KAX3E5JQ46" - } - }, - { - "recorded_at": "2018-08-24T18:05:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=link&resubmit=True&sendreplies=True&sr=1535133901_voluptatib&title=Earum+cupiditate+error+quasi+unde.&url=http%3A%2F%2Fhernandez.com%2Fwp-content%2Fposts%2Fcategory%2Fterms.htm" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 240-OFD9_5pepuwKmkYXrjgXGS0h63E" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "195" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ah0eNuIJS7ey9ATjpR; loidcreated=2018-08-24T18%3A05%3A01.611Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535133901_voluptatib/comments/1f/earum_cupiditate_error_quasi_unde/\", \"id\": \"1f\", \"name\": \"t3_1f\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "165" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "295" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:05:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 240-OFD9_5pepuwKmkYXrjgXGS0h63E" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Ah0eNuIJS7ey9ATjpR; loidcreated=2018-08-24T18%3A05%3A01.611Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1f/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133901_voluptatib\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1f\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CBFJMB9PD3JP17KAX3E5JQ46\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"hernandez.com\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1u\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": false, \"hide_score\": false, \"permalink\": \"/r/1535133901_voluptatib/comments/1f/earum_cupiditate_error_quasi_unde/\", \"locked\": false, \"name\": \"t3_1f\", \"created\": 1535133905.0, \"url\": \"http://hernandez.com/wp-content/posts/category/terms.htm\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Earum cupiditate error quasi unde.\", \"created_utc\": 1535133905.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1420" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "295" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=wDkeYvalF1qyqol7u1UQ%2BOyIYRCDnwzr%2BKSKfik%2BUpOweHZk0ay%2FVzDNe2wKjYNuFSc0PT78fR68KvfTWdAvxALib817kYjF" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1f/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:05:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=client_credentials" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic b2RfY2xpZW50X2lkOm9kX2NsaWVudF9zZWNyZXQ=" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "29" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Ah0eNuIJS7ey9ATjpR; loidcreated=2018-08-24T18%3A05%3A01.611Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"-vR6dRlgIZUE8rMK3Y2EFyjZAFRk\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "106" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294" - ], - "x-ratelimit-reset": [ - "292" - ], - "x-ratelimit-used": [ - "6" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2018-08-24T18:05:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer -vR6dRlgIZUE8rMK3Y2EFyjZAFRk" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Ah0eNuIJS7ey9ATjpR; loidcreated=2018-08-24T18%3A05%3A01.611Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1f/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": \"\", \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133901_voluptatib\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1f\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CBFJMB9PD3JP17KAX3E5JQ46\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"hernandez.com\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1u\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": false, \"hide_score\": true, \"permalink\": \"/r/1535133901_voluptatib/comments/1f/earum_cupiditate_error_quasi_unde/\", \"locked\": false, \"name\": \"t3_1f\", \"created\": 1535133905.0, \"url\": \"http://hernandez.com/wp-content/posts/category/terms.htm\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Earum cupiditate error quasi unde.\", \"created_utc\": 1535133905.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": \"\", \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1415" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293" - ], - "x-ratelimit-reset": [ - "292" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=vSdESNVwKW1JUjvlH7rw7vHzHY7%2F6snqwy6zPov%2BP4bSAh%2BccXQNBT99CkXmBdqU2UvnWIu8ijBfOjLT1PzKiChf4aiVHSkI" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1f/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:05:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer -vR6dRlgIZUE8rMK3Y2EFyjZAFRk" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Ah0eNuIJS7ey9ATjpR; loidcreated=2018-08-24T18%3A05%3A01.611Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133901_voluptatib/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": null, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"1u\", \"user_is_contributor\": null, \"submit_text\": \"\", \"display_name\": \"1535133901_voluptatib\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECupiditate inventore dignissimos distinctio velit cumque provident. Nam dolorum eos facilis ex harum.\\nMaxime vel quas exercitationem ipsa ab mollitia. Incidunt ad rem accusamus mollitia dolorum doloremque. Vel enim modi quam officia necessitatibus. Doloremque blanditiis dolorem ad quod alias.\\nRatione adipisci qui aut voluptates veniam ipsum in. Illo adipisci adipisci eligendi recusandae modi. Et voluptatibus voluptas delectus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Possimus necessitatibus itaque nulla.\", \"collapse_deleted_comments\": false, \"public_description\": \"Voluptas laboriosam asperiores dignissimos sit iusto. Aperiam iure architecto blanditiis.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptas laboriosam asperiores dignissimos sit iusto. Aperiam iure architecto blanditiis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Cupiditate inventore dignissimos distinctio velit cumque provident. Nam dolorum eos facilis ex harum.\\nMaxime vel quas exercitationem ipsa ab mollitia. Incidunt ad rem accusamus mollitia dolorum doloremque. Vel enim modi quam officia necessitatibus. Doloremque blanditiis dolorem ad quod alias.\\nRatione adipisci qui aut voluptates veniam ipsum in. Illo adipisci adipisci eligendi recusandae modi. Et voluptatibus voluptas delectus.\", \"user_is_muted\": null, \"submit_link_label\": null, \"accounts_active\": 5, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 1, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_1u\", \"created\": 1535133901.0, \"url\": \"/r/1535133901_voluptatib/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535133901.0, \"banner_size\": null, \"user_is_moderator\": null, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"public\", \"submission_type\": \"any\", \"user_is_subscriber\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2401" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292" - ], - "x-ratelimit-reset": [ - "292" - ], - "x-ratelimit-used": [ - "8" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=kTB81LlYWSIXQW4KkKQn0rKCjhwnuwO0m86McVBCFgmY3hedcQj9HPiCmmbigVcfRtxPSosMTqlMdw8yfCd419HbtXt2mhg6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133901_voluptatib/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_get_post_forbidden.json b/cassettes/channels.views.posts_test.test_get_post_forbidden.json deleted file mode 100644 index eacb920a72..0000000000 --- a/cassettes/channels.views.posts_test.test_get_post_forbidden.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-06T16:45:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=george" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0Ndc1yA7wz/QOySkN9AtySwyILMh1cjfzdTLN9HFV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0Z6Lbll/v5Zqck5oSbulvEhydXOFk4upuaFBgXg/SkpJZlJqfGZ6aADIZwlGoB636mvrgAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 06 Nov 2017 16:45:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=INk7O30YNHf90sh1gA; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 06-Nov-2019 16:45:07 GMT", - "loidcreated=2017-11-06T16%3A45%3A07.751Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 06-Nov-2019 16:45:07 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=george" - } - }, - { - "recorded_at": "2017-11-06T16:45:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 157-0kPOiKTluQNRFaPYpmBG6MB5iLE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=INk7O30YNHf90sh1gA; loidcreated=2017-11-06T16%3A45%3A07.751Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/adc/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"message\": \"Forbidden\", \"error\": 403}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "38" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 06 Nov 2017 16:45:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "293" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=lJSbRYCMVqiMnEjkOqfe0orFh4nVOe4Cqad9vR2hUDegmdiC9QAeMp28cgLvS%2FghBQ6pU7Ho4722bMSjGiGfr6oIzq%2BNRLTU" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 403, - "message": "Forbidden" - }, - "url": "https://reddit.local/comments/adc/?limit=2048&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_get_post_no_profile.json b/cassettes/channels.views.posts_test.test_get_post_no_profile.json deleted file mode 100644 index 909921cf14..0000000000 --- a/cassettes/channels.views.posts_test.test_get_post_no_profile.json +++ /dev/null @@ -1,777 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:04:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHQVWET8KG6JM9G2F8K0E4" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNtVN9jEqcHY0Nk3PLvZyLCkpKLcIzzMwzIhMTnRV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZ5uVQEpVeUW+QGJXv65ec5ZYe5eGXkl5kYlJSD9KSklmUmp8ZnpoAMhnCUagHqyR8XuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=x4jyPbCmRhBfaQiJ8r; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:04:35 GMT", - "loidcreated=2018-08-24T18%3A04%3A35.056Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:04:35 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHQVWET8KG6JM9G2F8K0E4" - } - }, - { - "recorded_at": "2018-08-24T18:04:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Recusandae+itaque+omnis+voluptatibus+consectetur.+Labore+laborum+mollitia+ipsum+deserunt+accusantium+doloribus+iusto.%0ARepellat+sequi+non+aliquam+asperiores.+Voluptates+pariatur+ipsum+aliquid+distinctio+dignissimos+iure.+Accusantium+accusamus+distinctio+doloribus+maxime+error+exercitationem.+Harum+veritatis+sint+nemo+saepe+accusantium.&link_type=any&name=1535133875_aliquam&public_description=Eligendi+saepe+maxime+numquam+unde+debitis.+Commodi+doloremque+repudiandae+accusantium.&title=Molestiae+ab+quia+fuga+laboriosam+earum.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 235-cL2pCA35gksJAttpw8Wn01hYcaE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "602" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=x4jyPbCmRhBfaQiJ8r; loidcreated=2018-08-24T18%3A04%3A35.056Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "325" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=x4jyPbCmRhBfaQiJ8r; loidcreated=2018-08-24T18%3A04%3A35.056Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHR288JC324SFVTDJWWWVG" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNtM1Syk39UguTPQyMw9xN3XPTIqvLPMNDQ0pNgxV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLY5eeYkRRWaeIekmwf6hidm5+QFOUb5Zpk5eReD9KSklmUmp8ZnpoAMhnCUagF2wySKuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHR288JC324SFVTDJWWWVG" - } - }, - { - "recorded_at": "2018-08-24T18:04:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHR288JC324SFVTDJWWWVG&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 235-cL2pCA35gksJAttpw8Wn01hYcaE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=x4jyPbCmRhBfaQiJ8r; loidcreated=2018-08-24T18%3A04%3A35.056Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133875_aliquam/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "319" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133875_aliquam/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535133875_aliquam" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 236-6dw5HcqaJ67TG5Gib_yvMUUTs1U" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "77" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=x4jyPbCmRhBfaQiJ8r; loidcreated=2018-08-24T18%3A04%3A35.056Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "318" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535133875_aliquam&text=Molestias+neque+nulla+amet+non.+Animi+autem+veniam+dolores+corrupti.&title=Dolor+expedita+ipsam+blanditiis+eum+sunt+dolorem." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 236-6dw5HcqaJ67TG5Gib_yvMUUTs1U" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "206" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=x4jyPbCmRhBfaQiJ8r; loidcreated=2018-08-24T18%3A04%3A35.056Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535133875_aliquam/comments/1d/dolor_expedita_ipsam_blanditiis_eum_sunt_dolorem/\", \"id\": \"1d\", \"name\": \"t3_1d\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "177" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "318" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 236-6dw5HcqaJ67TG5Gib_yvMUUTs1U" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=x4jyPbCmRhBfaQiJ8r; loidcreated=2018-08-24T18%3A04%3A35.056Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1d/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133875_aliquam\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMolestias neque nulla amet non. Animi autem veniam dolores corrupti.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Molestias neque nulla amet non. Animi autem veniam dolores corrupti.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1d\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPHR288JC324SFVTDJWWWVG\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535133875_aliquam\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1s\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535133875_aliquam/comments/1d/dolor_expedita_ipsam_blanditiis_eum_sunt_dolorem/\", \"locked\": false, \"name\": \"t3_1d\", \"created\": 1535133882.0, \"url\": \"http://reddit.local/r/1535133875_aliquam/comments/1d/dolor_expedita_ipsam_blanditiis_eum_sunt_dolorem/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Dolor expedita ipsam blanditiis eum sunt dolorem.\", \"created_utc\": 1535133882.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1755" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "318" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=VRp8LA5jd%2F0vBL3GT0sai9kVKWIBi9Vvm8fyplwzBo6zdGmParRFjF9hCE3iNg6qPKa1AVmY6WSFKLrC3Y2mOx8wjgOlxPU1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1d/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 236-6dw5HcqaJ67TG5Gib_yvMUUTs1U" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=x4jyPbCmRhBfaQiJ8r; loidcreated=2018-08-24T18%3A04%3A35.056Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1d/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133875_aliquam\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMolestias neque nulla amet non. Animi autem veniam dolores corrupti.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Molestias neque nulla amet non. Animi autem veniam dolores corrupti.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1d\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPHR288JC324SFVTDJWWWVG\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535133875_aliquam\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1s\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535133875_aliquam/comments/1d/dolor_expedita_ipsam_blanditiis_eum_sunt_dolorem/\", \"locked\": false, \"name\": \"t3_1d\", \"created\": 1535133882.0, \"url\": \"http://reddit.local/r/1535133875_aliquam/comments/1d/dolor_expedita_ipsam_blanditiis_eum_sunt_dolorem/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Dolor expedita ipsam blanditiis eum sunt dolorem.\", \"created_utc\": 1535133882.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1755" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "315" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Vkam1IPpJHg0I66hvQNoSg4vc2Hnl5kTdU6iXaW%2FkbzFIP56%2FqOgRxdZGG4DIg2nqMWP%2BLqZP8oTnBPCSPeEUYrOuqASv08Z" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1d/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 236-6dw5HcqaJ67TG5Gib_yvMUUTs1U" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=x4jyPbCmRhBfaQiJ8r; loidcreated=2018-08-24T18%3A04%3A35.056Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133875_aliquam/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"1s\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535133875_aliquam\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ERecusandae itaque omnis voluptatibus consectetur. Labore laborum mollitia ipsum deserunt accusantium doloribus iusto.\\nRepellat sequi non aliquam asperiores. Voluptates pariatur ipsum aliquid distinctio dignissimos iure. Accusantium accusamus distinctio doloribus maxime error exercitationem. Harum veritatis sint nemo saepe accusantium.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Molestiae ab quia fuga laboriosam earum.\", \"collapse_deleted_comments\": false, \"public_description\": \"Eligendi saepe maxime numquam unde debitis. Commodi doloremque repudiandae accusantium.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEligendi saepe maxime numquam unde debitis. Commodi doloremque repudiandae accusantium.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Recusandae itaque omnis voluptatibus consectetur. Labore laborum mollitia ipsum deserunt accusantium doloribus iusto.\\nRepellat sequi non aliquam asperiores. Voluptates pariatur ipsum aliquid distinctio dignissimos iure. Accusantium accusamus distinctio doloribus maxime error exercitationem. Harum veritatis sint nemo saepe accusantium.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 3, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_1s\", \"created\": 1535133875.0, \"url\": \"/r/1535133875_aliquam/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535133875.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2208" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "315" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=pw4ETxyTToY2CLbmDYWr3VQalNHnznS4a%2Bv5HcZetlcmlTeIOlb1K1gic%2F1hY0hGP4ysen6tdyvoAakYJ9uIZO9eFiazkNRi" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133875_aliquam/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_get_post_not_found.json b/cassettes/channels.views.posts_test.test_get_post_not_found.json deleted file mode 100644 index a3e60ebd6c..0000000000 --- a/cassettes/channels.views.posts_test.test_get_post_not_found.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-06T16:45:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=george" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0NdetSHHNCnMz9oq0TMlKjncJTQ7KMskyj8jIifRV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYlmee7WiSV+hm7l5gZOVoURzmZRBTlZLlbFGSD9KSklmUmp8ZnpoAMhnCUagFv0sxBuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 06 Nov 2017 16:45:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=mFBD4YTg3MRuHBD8ll; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 06-Nov-2019 16:45:34 GMT", - "loidcreated=2017-11-06T16%3A45%3A34.382Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 06-Nov-2019 16:45:34 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=george" - } - }, - { - "recorded_at": "2017-11-06T16:45:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 157-xdEjVF3JY9djc_DUcRj4j7XhlYM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=mFBD4YTg3MRuHBD8ll; loidcreated=2017-11-06T16%3A45%3A34.382Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/missing/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"message\": \"Not Found\", \"error\": 404}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "38" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 06 Nov 2017 16:45:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "266" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=LuKDCcV2BjfjgnDUd%2F20TuxZB56VNiHiLT%2BHWL79JZNu6FimV0%2B3fxC3FzHnXtppLF%2FnljXjudjE6u5ANQiCIM4b0uBu69LB" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 404, - "message": "Not Found" - }, - "url": "https://reddit.local/comments/missing/?limit=2048&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_get_post_stickied.json b/cassettes/channels.views.posts_test.test_get_post_stickied.json deleted file mode 100644 index 3b25db5e5f..0000000000 --- a/cassettes/channels.views.posts_test.test_get_post_stickied.json +++ /dev/null @@ -1,869 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:04:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHR8X14JMW7C4HTFDJYFXY" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNtd18sjPcguvciktC4pyTi/MTI7yijANLk61iAhV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaVeSWHRXqbWySHVCX7BFV4WpSFerpYuIYV5BWD9KSklmUmp8ZnpoAMhnCUagEA6boOuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=Q8OgnUsVgMtPuRIn9Q; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:04:48 GMT", - "loidcreated=2018-08-24T18%3A04%3A48.392Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:04:48 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHR8X14JMW7C4HTFDJYFXY" - } - }, - { - "recorded_at": "2018-08-24T18:04:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Odit+distinctio+beatae+placeat+maxime+facilis+assumenda+autem.+Sed+tempora+eos+iusto+libero.+Quidem+maxime+incidunt+delectus+molestiae+quidem+expedita.%0ARecusandae+iusto+nesciunt+distinctio+vel+sed+a.+Excepturi+possimus+exercitationem+numquam+consequatur+pariatur+quos.+Necessitatibus+laudantium+debitis+dolor+beatae+aut+minima.%0ARatione+adipisci+nostrum+reiciendis+libero+saepe+totam.+Quam+eos+non+tempora+nemo.+Enim+quis+laborum+itaque+mollitia+pariatur+totam+molestias+odit.&link_type=any&name=1535133888_cupiditate&public_description=Magni+ut+magni+enim+facere+laborum+delectus.+Dolores+enim+tenetur+dignissimos+sed+sit+minus+fugit.&title=Magnam+corporis+commodi+ut+quisquam+aliquid+est.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 237-BHojFWzDuvRZCgqicZJX5Sse8XU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "765" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Q8OgnUsVgMtPuRIn9Q; loidcreated=2018-08-24T18%3A04%3A48.392Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "312" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Q8OgnUsVgMtPuRIn9Q; loidcreated=2018-08-24T18%3A04%3A48.392Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHRF8N3G9RBEA7XZPTD2Q3" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyttAt9vUINXAudXXNyPUKSw93DnL2iCyLKCiNckpW0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYl6hqYBWeWV0WFGOQ7lpaY+oakJ5qk+oWUJjuC9KSklmUmp8ZnpoAMhnCUagFkTs7WuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHRF8N3G9RBEA7XZPTD2Q3" - } - }, - { - "recorded_at": "2018-08-24T18:04:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHRF8N3G9RBEA7XZPTD2Q3&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 237-BHojFWzDuvRZCgqicZJX5Sse8XU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Q8OgnUsVgMtPuRIn9Q; loidcreated=2018-08-24T18%3A04%3A48.392Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133888_cupiditate/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "305" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133888_cupiditate/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535133888_cupiditate" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 238-sMHU0CuEEhmJVgWCRCHYvXpuZBc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "80" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Q8OgnUsVgMtPuRIn9Q; loidcreated=2018-08-24T18%3A04%3A48.392Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "305" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535133888_cupiditate&text=Illo+sunt+iure+temporibus+rem+in+magnam.+Facere+corporis+autem+provident+iure+nihil.&title=Illum+similique+ipsum+consectetur+eum+neque." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 238-sMHU0CuEEhmJVgWCRCHYvXpuZBc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "220" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Q8OgnUsVgMtPuRIn9Q; loidcreated=2018-08-24T18%3A04%3A48.392Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535133888_cupiditate/comments/1e/illum_similique_ipsum_consectetur_eum_neque/\", \"id\": \"1e\", \"name\": \"t3_1e\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "175" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "305" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 238-sMHU0CuEEhmJVgWCRCHYvXpuZBc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Q8OgnUsVgMtPuRIn9Q; loidcreated=2018-08-24T18%3A04%3A48.392Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1e/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133888_cupiditate\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIllo sunt iure temporibus rem in magnam. Facere corporis autem provident iure nihil.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Illo sunt iure temporibus rem in magnam. Facere corporis autem provident iure nihil.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1e\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPHRF8N3G9RBEA7XZPTD2Q3\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535133888_cupiditate\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1t\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535133888_cupiditate/comments/1e/illum_similique_ipsum_consectetur_eum_neque/\", \"locked\": false, \"name\": \"t3_1e\", \"created\": 1535133895.0, \"url\": \"http://reddit.local/r/1535133888_cupiditate/comments/1e/illum_similique_ipsum_consectetur_eum_neque/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Illum similique ipsum consectetur eum neque.\", \"created_utc\": 1535133895.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1784" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "305" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=r7yWl6AMM8RQ0Bm9%2FheIj%2F1hkrZsyWhYTJzgZ%2BLMV5G6L82PKBNuO2bl%2Fw1fL3HpvgEoRoXHFOUKPlkA7UWPgqlMMC9UxmAb" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1e/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:58", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t3_1e&state=True" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 237-BHojFWzDuvRZCgqicZJX5Sse8XU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "33" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Q8OgnUsVgMtPuRIn9Q; loidcreated=2018-08-24T18%3A04%3A48.392Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/set_subreddit_sticky/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:58 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "302" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/set_subreddit_sticky/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:58", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 238-sMHU0CuEEhmJVgWCRCHYvXpuZBc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Q8OgnUsVgMtPuRIn9Q; loidcreated=2018-08-24T18%3A04%3A48.392Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1e/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133888_cupiditate\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIllo sunt iure temporibus rem in magnam. Facere corporis autem provident iure nihil.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Illo sunt iure temporibus rem in magnam. Facere corporis autem provident iure nihil.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1e\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPHRF8N3G9RBEA7XZPTD2Q3\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535133888_cupiditate\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1t\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": true, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535133888_cupiditate/comments/1e/illum_similique_ipsum_consectetur_eum_neque/\", \"locked\": false, \"name\": \"t3_1e\", \"created\": 1535133895.0, \"url\": \"http://reddit.local/r/1535133888_cupiditate/comments/1e/illum_similique_ipsum_consectetur_eum_neque/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Illum similique ipsum consectetur eum neque.\", \"created_utc\": 1535133895.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1783" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:58 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "302" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Gfn11FU4EPpnO2HTmzK6%2Flfte4zyPaM5wMJL91ei%2FlYy4uKUACZd6Lo6Gc1ter7G5o%2FecQEjFbOWNXkVHp%2ByLTmA4QR2Wnuw" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1e/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:04:58", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 238-sMHU0CuEEhmJVgWCRCHYvXpuZBc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Q8OgnUsVgMtPuRIn9Q; loidcreated=2018-08-24T18%3A04%3A48.392Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133888_cupiditate/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"1t\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535133888_cupiditate\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOdit distinctio beatae placeat maxime facilis assumenda autem. Sed tempora eos iusto libero. Quidem maxime incidunt delectus molestiae quidem expedita.\\nRecusandae iusto nesciunt distinctio vel sed a. Excepturi possimus exercitationem numquam consequatur pariatur quos. Necessitatibus laudantium debitis dolor beatae aut minima.\\nRatione adipisci nostrum reiciendis libero saepe totam. Quam eos non tempora nemo. Enim quis laborum itaque mollitia pariatur totam molestias odit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Magnam corporis commodi ut quisquam aliquid est.\", \"collapse_deleted_comments\": false, \"public_description\": \"Magni ut magni enim facere laborum delectus. Dolores enim tenetur dignissimos sed sit minus fugit.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMagni ut magni enim facere laborum delectus. Dolores enim tenetur dignissimos sed sit minus fugit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Odit distinctio beatae placeat maxime facilis assumenda autem. Sed tempora eos iusto libero. Quidem maxime incidunt delectus molestiae quidem expedita.\\nRecusandae iusto nesciunt distinctio vel sed a. Excepturi possimus exercitationem numquam consequatur pariatur quos. Necessitatibus laudantium debitis dolor beatae aut minima.\\nRatione adipisci nostrum reiciendis libero saepe totam. Quam eos non tempora nemo. Enim quis laborum itaque mollitia pariatur totam molestias odit.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 3, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_1t\", \"created\": 1535133888.0, \"url\": \"/r/1535133888_cupiditate/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535133888.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2524" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:04:58 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "302" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=O%2B6i9F5vhA6dUvAbTMcK9%2BiR%2BF72RfREXRnljUUy7%2FSByaF3tK4GnnmR9Q53XtpvtQOBx6dRrf%2Buia9jLKJKSOSh9ZEcfsaG" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133888_cupiditate/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_get_removed_post[None-404].json b/cassettes/channels.views.posts_test.test_get_removed_post[None-404].json deleted file mode 100644 index 522e33decd..0000000000 --- a/cassettes/channels.views.posts_test.test_get_removed_post[None-404].json +++ /dev/null @@ -1,507 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T15:32:47", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEB0VXGN7842ZRP2WGT0QG83" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDLVTTQsyY93tsx19rXQ1XUzNjFPDHbPNLBI8Q6xUNJRUEqtKMgsSi2OzwQpNzYzMACKgXXHl1QWpIKMSEpNLEotAqktTs6HCGmBeEWpaUCNGch2xefkGBu5ugWlpURWWjqXumb6hJmVB/gnV6R7gnSkpJZlJqfGZ6aAjIVwlGoBzIuHoLQAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:32:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=MQfiK8iDlg6AxKaRVH; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 15:32:47 GMT", - "loidcreated=2020-07-28T15%3A32%3A47.210Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 15:32:47 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEB0VXGN7842ZRP2WGT0QG83" - } - }, - { - "recorded_at": "2020-07-28T15:32:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MQfiK8iDlg6AxKaRVH; loidcreated=2020-07-28T15%3A32%3A47.210Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEB0W0QH6B392N37G7B8GN1W" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDLTNfNJjajKdC0rLUw1zfDxDE129i3JTzMqji/wVNJRUEqtKMgsSi2OzwQpNzYzMACKgXXHl1QWpIKMSEpNLEotAqktTs6HCGmBeEWpaUCNGch2mRgbBlqklFVGeBW4BDiWOqWVl5oE5FrmOxb5gnSkpJZlJqfGZ6aAjIVwlGoBcH/fwbQAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:32:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEB0W0QH6B392N37G7B8GN1W" - } - }, - { - "recorded_at": "2020-07-28T15:32:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=She+according+region+difference+trial+top+hot+visit.+Everything+be+sing+cause+air+energy.%0ASafe+occur+poor+five+participant.+Company+trip+wide+far+rock.%0ABig+model+keep+fly+want+democratic+final.+Why+institution+chair+laugh+bar+relate+campaign+media.+Here+scene+since+choose+against.%0AMe+point+bad+generation+week+your+grow.+Employee+rise+individual+film+wind+mind+attorney.+Style+new+evidence+goal+company+near+perform.&link_type=any&name=1595950370_11_other&public_description=Operation+it+check+team+care+raise.+Affect+population+fly+thank+lot+article.&title=Voice+thought+ground+toward+door+what.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 5-a1to_C9mCM8--F347aSGi08dKT8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "674" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MQfiK8iDlg6AxKaRVH; loidcreated=2020-07-28T15%3A32%3A47.210Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:32:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "430" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T15:32:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595950370_11_other&text=Because+song+movement+left+stay+exist+individual.+Our+fact+put+those+thank+expert+miss.&title=City+democratic+teach+rich+major+law." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 6-6LeXziEvuqe5hLIUcCMtof2s_pI" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "214" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MQfiK8iDlg6AxKaRVH; loidcreated=2020-07-28T15%3A32%3A47.210Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595950370_11_other/comments/f/city_democratic_teach_rich_major_law/\", \"id\": \"f\", \"name\": \"t3_f\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "163" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:32:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "427" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T15:32:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 6-6LeXziEvuqe5hLIUcCMtof2s_pI" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MQfiK8iDlg6AxKaRVH; loidcreated=2020-07-28T15%3A32%3A47.210Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/f/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595950370_11_other\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EBecause song movement left stay exist individual. Our fact put those thank expert miss.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Because song movement left stay exist individual. Our fact put those thank expert miss.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"f\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEB0W0QH6B392N37G7B8GN1W\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595950370_11_other\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_6\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595950370_11_other/comments/f/city_democratic_teach_rich_major_law/\", \"locked\": false, \"name\": \"t3_f\", \"created\": 1595950373.0, \"url\": \"http://reddit.local/r/1595950370_11_other/comments/f/city_democratic_teach_rich_major_law/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"City democratic teach rich major law.\", \"created_utc\": 1595950373.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1756" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:32:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "426" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=AKfafKLwSJ9Ce1lE4ZQWmTsvwLKdDvnrWjcD6FOeZC8EzZaIYcPHpJ9XzpDGymZ6GHh573wvtW4g8Np%2FUrOCvYsTZra0A7bl" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/f/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T15:32:57", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t3_f&spam=False" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 5-a1to_C9mCM8--F347aSGi08dKT8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "32" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MQfiK8iDlg6AxKaRVH; loidcreated=2020-07-28T15%3A32%3A47.210Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/remove/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:32:57 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "423" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/remove/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_get_removed_post[client_user1-404].json b/cassettes/channels.views.posts_test.test_get_removed_post[client_user1-404].json deleted file mode 100644 index 9441697baf..0000000000 --- a/cassettes/channels.views.posts_test.test_get_removed_post[client_user1-404].json +++ /dev/null @@ -1,596 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T15:33:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEB0WA8V7A4PFBGK0BF4F1KQ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDLXTc9193IK80r3S6wqN3dLLfEIjwhxyooKzcjwVdJRUEqtKMgsSi2OzwQpNzYzMACKgXXHl1QWpIKMSEpNLEotAqktTs6HCGmBeEWpaUCNGch2JZaXuBdb5lVlB1WZ5xv6B2ca5QXlpFZ5Rbhlg3SkpJZlJqfGZ6aAjIVwlGoBUqUWq7QAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:33:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=VD2XZKYevrijBN7PFN; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 15:33:00 GMT", - "loidcreated=2020-07-28T15%3A33%3A00.280Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 15:33:00 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEB0WA8V7A4PFBGK0BF4F1KQ" - } - }, - { - "recorded_at": "2020-07-28T15:33:03", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=VD2XZKYevrijBN7PFN; loidcreated=2020-07-28T15%3A33%3A00.280Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEB0WDHATJM4XCFN402M45YZ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULLQzc00dAwLDgzwMoosSgpyMqmo9C/z181IDil0VdJRUEqtKMgsSi2OzwQpNzYzMACKgXXHl1QWpIKMSEpNLEotAqktTs6HCGmBeEWpaUCNGch2BXhXJUblByaFuuZUZIaGFRqZmfpXRCWVJbqkg3SkpJZlJqfGZ6aAjIVwlGoBS0kNJLQAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:33:03 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEB0WDHATJM4XCFN402M45YZ" - } - }, - { - "recorded_at": "2020-07-28T15:33:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Second+language+take+though+market.+Artist+research+their+less+pay+recently.%0ACrime+rest+meet+dinner+student+fire+among.+Research+size+treat+increase+story+heart+address.%0AShould+him+world+though+quickly+country+wind.+East+present+approach.+Left+decision+have+study+scientist+lay.%0AWide+daughter+bank+audience.+Night+nearly+affect+push+attention+Mr+speak.+Face+perform+forward+across.%0AUs+his+history+music+total+ground.+Speak+drug+range+how+fine+decade+age.&link_type=any&name=1595950383_12_step&public_description=Address+visit+right+pick+least+own+rather.&title=Opportunity+between+soon+money+single+material.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 7-gmGJBVJgNazw7FetHWXTBjZUhhM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "687" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=VD2XZKYevrijBN7PFN; loidcreated=2020-07-28T15%3A33%3A00.280Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:33:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "417" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T15:33:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595950383_12_step&text=Perhaps+oil+field+even+after+pay.+Nearly+though+politics+show+gas.+Carry+say+marriage+should.&title=Majority+cause+mission+perhaps+on+economic." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 8-mi1AVSQPJ2YrbRB4xyOvO-hcTqE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "225" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=VD2XZKYevrijBN7PFN; loidcreated=2020-07-28T15%3A33%3A00.280Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595950383_12_step/comments/g/majority_cause_mission_perhaps_on_economic/\", \"id\": \"g\", \"name\": \"t3_g\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "168" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:33:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "413" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T15:33:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 8-mi1AVSQPJ2YrbRB4xyOvO-hcTqE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=VD2XZKYevrijBN7PFN; loidcreated=2020-07-28T15%3A33%3A00.280Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/g/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595950383_12_step\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPerhaps oil field even after pay. Nearly though politics show gas. Carry say marriage should.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Perhaps oil field even after pay. Nearly though politics show gas. Carry say marriage should.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"g\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEB0WDHATJM4XCFN402M45YZ\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595950383_12_step\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_7\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595950383_12_step/comments/g/majority_cause_mission_perhaps_on_economic/\", \"locked\": false, \"name\": \"t3_g\", \"created\": 1595950387.0, \"url\": \"http://reddit.local/r/1595950383_12_step/comments/g/majority_cause_mission_perhaps_on_economic/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Majority cause mission perhaps on economic.\", \"created_utc\": 1595950387.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1782" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:33:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "413" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=sJY7ZhzpLfFzpt8W1WT3R2LWy2rUpNEa5Z2%2B9%2BN%2FzQztMQqf2uB38mHmZQ0cqt9VmyTzSBKZ4bBRLmHKZuXyHcmRmotAIiCA" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/g/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T15:33:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t3_g&spam=False" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 7-gmGJBVJgNazw7FetHWXTBjZUhhM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "32" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=VD2XZKYevrijBN7PFN; loidcreated=2020-07-28T15%3A33%3A00.280Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/remove/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:33:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "410" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/remove/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T15:33:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 8-mi1AVSQPJ2YrbRB4xyOvO-hcTqE" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=VD2XZKYevrijBN7PFN; loidcreated=2020-07-28T15%3A33%3A00.280Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595950383_12_step/about/moderators/?user=01EEB0WDHATJM4XCFN402M45YZ&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:33:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "410" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=cv%2FIU%2BgPIZBn5qx4du4ySvB%2BDeMVUpddEUSMj%2B%2BAMETu4a8TBwJq3wnQr8u0LFzhC2IcHHffk%2BL%2FRPdc2B0Gf6jrTi4g8wU2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595950383_12_step/about/moderators/?user=01EEB0WDHATJM4XCFN402M45YZ&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_get_removed_post[client_user2-200].json b/cassettes/channels.views.posts_test.test_get_removed_post[client_user2-200].json deleted file mode 100644 index cc6451f0cf..0000000000 --- a/cassettes/channels.views.posts_test.test_get_removed_post[client_user2-200].json +++ /dev/null @@ -1,685 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T15:33:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEB0WQ3H0JJ7WC0PD94V59D1" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULLUNYqKCvQuM/LID00zy0l2N/JPSQ4MDs6LMq8qV9JRUEqtKMgsSi2OzwQpNzYzMACKgXXHl1QWpIKMSEpNLEotAqktTs6HCGmBeEWpaUCNGch2OYZkBYebRMX7m3g7mbiaGeSW5rtVuYSkl5mkg3SkpJZlJqfGZ6aAjIVwlGoBFnmrxLQAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:33:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=94nmhjLA3Z5Av9Y0cB; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 15:33:13 GMT", - "loidcreated=2020-07-28T15%3A33%3A13.444Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 15:33:13 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEB0WQ3H0JJ7WC0PD94V59D1" - } - }, - { - "recorded_at": "2020-07-28T15:33:16", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=94nmhjLA3Z5Av9Y0cB; loidcreated=2020-07-28T15%3A33%3A13.444Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEB0WTBKN36JS3S8BRMNCC4C" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI00PXzzgv2C8z0TDUL1U03i082143MMTIzyUvPylfSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolkWGuuRmhIWEO+WERmWkV6Z5xge4p3l7Ovk4B4K0pKSWZSanxmemgMyFcJRqAYW79y62AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:33:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEB0WTBKN36JS3S8BRMNCC4C" - } - }, - { - "recorded_at": "2020-07-28T15:33:17", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=In+but+fight+question+section+open+whatever+company.%0AChild+most+line.+Her+cultural+place+gun+share+quickly.%0AStill+time+week+standard+dream+sit+learn+standard.+And+serve+minute+game+structure+model.%0ARed+work+range+east+smile+mouth+democratic+lose.+Pattern+character+young+trade+recent+often.+System+school+mind+because+agent+heavy.%0AControl+course+serious.+Sort+degree+cup.%0AStart+book+animal+bit+time+subject+pressure.+Example+despite+before+thought.&link_type=any&name=1595950396_13_Republi&public_description=Century+will+great.+Return+himself+although+exactly+spend.&title=Record+field+fish+produce+realize.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 9-2ZZQKv2HoUf6lcG2OdcQSSnZ7zw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "689" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=94nmhjLA3Z5Av9Y0cB; loidcreated=2020-07-28T15%3A33%3A13.444Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:33:17 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "403" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T15:33:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595950396_13_Republi&text=History+rise+page+conference+meeting.+Order+well+hair.%0AWrong+run+tend+social.&title=Over+five+Democrat+worker." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 10-NKnSNQiIe6U-g6_c7-Yl264ngjo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=94nmhjLA3Z5Av9Y0cB; loidcreated=2020-07-28T15%3A33%3A13.444Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595950396_13_Republi/comments/h/over_five_democrat_worker/\", \"id\": \"h\", \"name\": \"t3_h\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "154" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:33:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "400" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T15:33:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 10-NKnSNQiIe6U-g6_c7-Yl264ngjo" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=94nmhjLA3Z5Av9Y0cB; loidcreated=2020-07-28T15%3A33%3A13.444Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/h/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595950396_13_Republi\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EHistory rise page conference meeting. Order well hair.\\nWrong run tend social.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"History rise page conference meeting. Order well hair.\\nWrong run tend social.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"h\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEB0WTBKN36JS3S8BRMNCC4C\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595950396_13_Republi\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_8\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595950396_13_Republi/comments/h/over_five_democrat_worker/\", \"locked\": false, \"name\": \"t3_h\", \"created\": 1595950400.0, \"url\": \"http://reddit.local/r/1595950396_13_Republi/comments/h/over_five_democrat_worker/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Over five Democrat worker.\", \"created_utc\": 1595950400.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1713" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:33:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "400" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=CqYVWvYJGMdGIbuaL1OZ%2FhhXQ3xuzkmlOrZ8JsyMVvkfZ%2B2b0gCf5LJ6vWAF8HzyCEwg10%2Bd1UUL10SwIEg%2FCt9vxpAgQqDZ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/h/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T15:33:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t3_h&spam=False" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 9-2ZZQKv2HoUf6lcG2OdcQSSnZ7zw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "32" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=94nmhjLA3Z5Av9Y0cB; loidcreated=2020-07-28T15%3A33%3A13.444Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/remove/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:33:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "397" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/remove/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T15:33:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 9-2ZZQKv2HoUf6lcG2OdcQSSnZ7zw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=94nmhjLA3Z5Av9Y0cB; loidcreated=2020-07-28T15%3A33%3A13.444Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595950396_13_Republi/about/moderators/?user=01EEB0WQ3H0JJ7WC0PD94V59D1&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1595950397.0, \"mod_permissions\": [\"all\"], \"name\": \"01EEB0WQ3H0JJ7WC0PD94V59D1\", \"id\": \"t2_9\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "148" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:33:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "397" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=DB1TIqPXU8g6hBkj8HVvhDykisgPaPzotrpI0mIVZuRSYl4U4uwQDMeHZJctmOrcA6%2BtH5T5TrYA%2B4EbGVq44YGjEZLgcBpP" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595950396_13_Republi/about/moderators/?user=01EEB0WQ3H0JJ7WC0PD94V59D1&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T15:33:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 9-2ZZQKv2HoUf6lcG2OdcQSSnZ7zw" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=94nmhjLA3Z5Av9Y0cB; loidcreated=2020-07-28T15%3A33%3A13.444Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/h/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": \"01EEB0WQ3H0JJ7WC0PD94V59D1\", \"media_embed\": {}, \"subreddit\": \"1595950396_13_Republi\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EHistory rise page conference meeting. Order well hair.\\nWrong run tend social.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"History rise page conference meeting. Order well hair.\\nWrong run tend social.\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"h\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [], \"author\": \"01EEB0WTBKN36JS3S8BRMNCC4C\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595950396_13_Republi\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_8\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595950396_13_Republi/comments/h/over_five_democrat_worker/\", \"locked\": false, \"name\": \"t3_h\", \"created\": 1595950400.0, \"url\": \"http://reddit.local/r/1595950396_13_Republi/comments/h/over_five_democrat_worker/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Over five Democrat worker.\", \"created_utc\": 1595950400.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1732" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 15:33:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "397" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=TolGAa82jNzlntNy6qDOJ2wZejD5T5AYCPoLMOjCeyzdlNktZkzBnPiwku1sBBLyIeDyPtsgK6fdR4BjZcz4ipFGVeu8kl7E" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/h/?limit=2048&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_get_removed_post[staff_user-200].json b/cassettes/channels.views.posts_test.test_get_removed_post[staff_user-200].json deleted file mode 100644 index 7c2c84266f..0000000000 --- a/cassettes/channels.views.posts_test.test_get_removed_post[staff_user-200].json +++ /dev/null @@ -1,685 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2023-06-02T12:12:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.31.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01H1Y0BK8MKZY6TFWNWKHYXEK4" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI00nUNCMh0SS/NDvd1ysv1dvE2103zy85NNi8O9FXSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolmUkGxSXJ3qkGQVGGYUVVealRwS6OUfkewQGZIO0pKSWZSanxmemgMyFcJRqARK1QN62AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 02 Jun 2023 12:12:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=98PuUn1Srl3pZhO2uz; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 01-Jun-2025 12:12:18 GMT", - "loidcreated=2023-06-02T12%3A12%3A18.248Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 01-Jun-2025 12:12:18 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01H1Y0BK8MKZY6TFWNWKHYXEK4" - } - }, - { - "recorded_at": "2023-06-02T12:12:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=98PuUn1Srl3pZhO2uz; loidcreated=2023-06-02T12%3A12%3A18.248Z" - ], - "User-Agent": [ - "python-requests/2.31.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01H1Y0BPJPQRG5E7QF9YZKYKR7" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI01g0y9PMIiQ9yL/dzzjCwqHSP8EvzCY0sSjfVNVHSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolqU4lRbku8SnlFU5uwXoGsV7ugcGpha7uul6WYC0pKSWZSanxmemgMyFcJRqAQOOhXS2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 02 Jun 2023 12:12:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01H1Y0BPJPQRG5E7QF9YZKYKR7" - } - }, - { - "recorded_at": "2023-06-02T12:12:22", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Game+appear+represent+require+current+necessary.+House+region+some.%0ACall+side+carry+civil.+Write+among+happy.+Action+tonight+enjoy+nice+adult+suddenly+scene.%0AMeeting+talk+let+year+far+entire+recognize.+Consider+sell+indicate+carry+send+miss+well+us.%0ANeed+affect+month+box.+Record+produce+respond+song+let.+Tough+mouth+concern.%0AClear+claim+tree+marriage+enjoy+south.+Social+team+no+word.%0ABy+your+recognize.%0AMyself+provide+certainly.+Author+manager+personal+century+campaign+spring+simple+threat.&link_type=any&name=1685707941_2_suggest&public_description=Management+especially+war+whole.+Might+among+nature+today+gas.&title=For+word+method+nearly+face+all+for+film.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 13-R1NHT_RGwNCh08yGXNfLUYrg5-4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "747" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=98PuUn1Srl3pZhO2uz; loidcreated=2023-06-02T12%3A12%3A18.248Z" - ], - "User-Agent": [ - "MIT-Open: 0.218.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 02 Jun 2023 12:12:22 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "458" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2023-06-02T12:12:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1685707941_2_suggest&text=Or+gun+various+end+level.+Direction+rate+through+nothing+own.+Training+leg+plant.&title=Own+line+apply+support+sign+share+crime." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 12-EPPiDgukWMBnmKDK7-fNkmc7sQM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "212" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=98PuUn1Srl3pZhO2uz; loidcreated=2023-06-02T12%3A12%3A18.248Z" - ], - "User-Agent": [ - "MIT-Open: 0.218.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1685707941_2_suggest/comments/9/own_line_apply_support_sign_share_crime/\", \"id\": \"9\", \"name\": \"t3_9\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "167" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 02 Jun 2023 12:12:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "455" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2023-06-02T12:12:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 12-EPPiDgukWMBnmKDK7-fNkmc7sQM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=98PuUn1Srl3pZhO2uz; loidcreated=2023-06-02T12%3A12%3A18.248Z" - ], - "User-Agent": [ - "MIT-Open: 0.218.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1685707941_2_suggest\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOr gun various end level. Direction rate through nothing own. Training leg plant.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Or gun various end level. Direction rate through nothing own. Training leg plant.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01H1Y0BK8MKZY6TFWNWKHYXEK4\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1685707941_2_suggest\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_4\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1685707941_2_suggest/comments/9/own_line_apply_support_sign_share_crime/\", \"locked\": false, \"name\": \"t3_9\", \"created\": 1685707945.0, \"url\": \"http://reddit.local/r/1685707941_2_suggest/comments/9/own_line_apply_support_sign_share_crime/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Own line apply support sign share crime.\", \"created_utc\": 1685707945.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1757" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 02 Jun 2023 12:12:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "455" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=CEcZZE5ju039dUv%2F5ZYxDsdavwXQBWQ%2B62arZDTkGq2Ty%2FWaz4sx50ura6jJD1iX1GFcS9eA6mX74MsUZ8ouwwQYqER2NQlo" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2023-06-02T12:12:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t3_9&spam=False" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 13-R1NHT_RGwNCh08yGXNfLUYrg5-4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "32" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=98PuUn1Srl3pZhO2uz; loidcreated=2023-06-02T12%3A12%3A18.248Z" - ], - "User-Agent": [ - "MIT-Open: 0.218.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/remove/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 02 Jun 2023 12:12:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "452" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/remove/?raw_json=1" - } - }, - { - "recorded_at": "2023-06-02T12:12:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 13-R1NHT_RGwNCh08yGXNfLUYrg5-4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=98PuUn1Srl3pZhO2uz; loidcreated=2023-06-02T12%3A12%3A18.248Z" - ], - "User-Agent": [ - "MIT-Open: 0.218.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1685707941_2_suggest/about/moderators/?user=01H1Y0BPJPQRG5E7QF9YZKYKR7&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1685707942.0, \"mod_permissions\": [\"all\"], \"name\": \"01H1Y0BPJPQRG5E7QF9YZKYKR7\", \"id\": \"t2_d\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "148" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 02 Jun 2023 12:12:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "452" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=39Oxcc%2BvI08CjR1jPMYoWvvlkRUWXj%2FqN8J324LJ7PjNPoIqk7RaVNr8dCC8yzFz7NM8OtciDECfgrmM4F1NEVis6skD2mEF" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1685707941_2_suggest/about/moderators/?user=01H1Y0BPJPQRG5E7QF9YZKYKR7&raw_json=1" - } - }, - { - "recorded_at": "2023-06-02T12:12:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 13-R1NHT_RGwNCh08yGXNfLUYrg5-4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=98PuUn1Srl3pZhO2uz; loidcreated=2023-06-02T12%3A12%3A18.248Z" - ], - "User-Agent": [ - "MIT-Open: 0.218.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": \"01H1Y0BPJPQRG5E7QF9YZKYKR7\", \"media_embed\": {}, \"subreddit\": \"1685707941_2_suggest\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOr gun various end level. Direction rate through nothing own. Training leg plant.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Or gun various end level. Direction rate through nothing own. Training leg plant.\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [], \"author\": \"01H1Y0BK8MKZY6TFWNWKHYXEK4\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1685707941_2_suggest\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_4\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1685707941_2_suggest/comments/9/own_line_apply_support_sign_share_crime/\", \"locked\": false, \"name\": \"t3_9\", \"created\": 1685707945.0, \"url\": \"http://reddit.local/r/1685707941_2_suggest/comments/9/own_line_apply_support_sign_share_crime/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Own line apply support sign share crime.\", \"created_utc\": 1685707945.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1776" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 02 Jun 2023 12:12:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "452" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=AZ637D4y7ytehPPlH65bZbrwszZ9VXg0ZbOxynMDckQLbtO9BEQXlfcNpHIaEfs9qZiQuYpu21CjGbNqYNX8mPLCIH%2BMTqem" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9/?limit=2048&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_get_removed_post[user-404].json b/cassettes/channels.views.posts_test.test_get_removed_post[user-404].json deleted file mode 100644 index 17a928913b..0000000000 --- a/cassettes/channels.views.posts_test.test_get_removed_post[user-404].json +++ /dev/null @@ -1,596 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2023-06-02T12:12:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.31.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01H1Y0B3WHKYX2R61K42G005WF" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI00C3MTCvXjTfxNQ+MMM30r6ooyw1wdC1NjjDKNVHSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolrkFmMcXRsQbeqUXV0VYpnoWurj5OzkbBoUaOoK0pKSWZSanxmemgMyFcJRqAcFeQ0a2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 02 Jun 2023 12:12:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=K3kCUQXOq63JeN2jHx; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 01-Jun-2025 12:12:04 GMT", - "loidcreated=2023-06-02T12%3A12%3A03.835Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 01-Jun-2025 12:12:04 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01H1Y0B3WHKYX2R61K42G005WF" - } - }, - { - "recorded_at": "2023-06-02T12:12:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=K3kCUQXOq63JeN2jHx; loidcreated=2023-06-02T12%3A12%3A03.835Z" - ], - "User-Agent": [ - "python-requests/2.31.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01H1Y0B8NQSE6456XR8YZ32SPA" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI01C0MDc8IdvZK9E7xCjKyDPfODXTMLbTMyg6oMFDSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkoljmbRoV4Reb6hvumulhmeJV6pnmVpFWYJpcGuoK0pKSWZSanxmemgMyFcJRqAUq/UCO2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 02 Jun 2023 12:12:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01H1Y0B8NQSE6456XR8YZ32SPA" - } - }, - { - "recorded_at": "2023-06-02T12:12:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Phone+new+himself+probably+always+trip+war.+Nature+rate+just+class.%0AStage+mouth+poor+sister+push+stock.+Compare+forget+professor+old+rich+skill+difficult.%0AMiss+start+defense+summer+evening.+True+design+picture+apply.+Thousand+population+example+city.%0AWeight+only+whole+budget+around+born.+Change+thus+attorney+hair+assume+perform+old+check.%0AMuch+best+toward+tonight+animal+magazine.+Course+model+design+establish.&link_type=any&name=1685707927_1_far&public_description=College+baby+reason.+Floor+record+business+anyone+business+agreement.&title=Source+easy+place+cost.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 11-qUWhSCJaKdJR29WKmQAmq9jkPx0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "647" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=K3kCUQXOq63JeN2jHx; loidcreated=2023-06-02T12%3A12%3A03.835Z" - ], - "User-Agent": [ - "MIT-Open: 0.218.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 02 Jun 2023 12:12:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "473" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2023-06-02T12:12:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1685707927_1_far&text=Position+design+paper+author.+City+most+source+better+usually.+Movie+outside+explain+budget+nice.&title=Rest+mean+lay.+Mean+between+environmental+could." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 10-qifw-_4M7QX5iOzxvmPAEucX2m4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "232" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=K3kCUQXOq63JeN2jHx; loidcreated=2023-06-02T12%3A12%3A03.835Z" - ], - "User-Agent": [ - "MIT-Open: 0.218.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1685707927_1_far/comments/8/rest_mean_lay_mean_between_environmental_could/\", \"id\": \"8\", \"name\": \"t3_8\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "170" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 02 Jun 2023 12:12:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "469" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2023-06-02T12:12:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 10-qifw-_4M7QX5iOzxvmPAEucX2m4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=K3kCUQXOq63JeN2jHx; loidcreated=2023-06-02T12%3A12%3A03.835Z" - ], - "User-Agent": [ - "MIT-Open: 0.218.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/8/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1685707927_1_far\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPosition design paper author. City most source better usually. Movie outside explain budget nice.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Position design paper author. City most source better usually. Movie outside explain budget nice.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"8\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01H1Y0B3WHKYX2R61K42G005WF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1685707927_1_far\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_3\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1685707927_1_far/comments/8/rest_mean_lay_mean_between_environmental_could/\", \"locked\": false, \"name\": \"t3_8\", \"created\": 1685707931.0, \"url\": \"http://reddit.local/r/1685707927_1_far/comments/8/rest_mean_lay_mean_between_environmental_could/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Rest mean lay. Mean between environmental could.\", \"created_utc\": 1685707931.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1795" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 02 Jun 2023 12:12:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "469" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=hkz3diKm6xzI1Ij20HaMfb13OmeLGGoR%2FR%2B%2BCZznHA4yPcxkhO60KKKjnDPKvb4t2gRcvQxCi6qRPLfwhCUCvHxmdDEqFdsu" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/8/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2023-06-02T12:12:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t3_8&spam=False" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 11-qUWhSCJaKdJR29WKmQAmq9jkPx0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "32" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=K3kCUQXOq63JeN2jHx; loidcreated=2023-06-02T12%3A12%3A03.835Z" - ], - "User-Agent": [ - "MIT-Open: 0.218.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/remove/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 02 Jun 2023 12:12:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "466" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/remove/?raw_json=1" - } - }, - { - "recorded_at": "2023-06-02T12:12:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 10-qifw-_4M7QX5iOzxvmPAEucX2m4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=K3kCUQXOq63JeN2jHx; loidcreated=2023-06-02T12%3A12%3A03.835Z" - ], - "User-Agent": [ - "MIT-Open: 0.218.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1685707927_1_far/about/moderators/?user=01H1Y0B3WHKYX2R61K42G005WF&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 02 Jun 2023 12:12:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "466" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=vbZoCk0MlpnL6poWaaBK5%2FwEpeOioxN%2FfytbXx58Fyx91bciv%2F8Gn3hWkuGOuC8Wu768B8HNTknUfw3lZKIA7rMU6WqqquqH" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1685707927_1_far/about/moderators/?user=01H1Y0B3WHKYX2R61K42G005WF&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_list_posts[False].json b/cassettes/channels.views.posts_test.test_list_posts[False].json deleted file mode 100644 index 1a510d54c2..0000000000 --- a/cassettes/channels.views.posts_test.test_list_posts[False].json +++ /dev/null @@ -1,1225 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:50:17", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEKEAG1CFJ4VBJK9C5F9DWV" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNrbQNYq0cPONKArK9vQPtAgqcsvIsIxyz3P2DA0yUNJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9CsM82tTNR18y028IsIDPfycyksN9T189R1c/QMBGlKSS3LTE6Nz0wBmQzhKNUCAP1Xp1W6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:50:17 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=ljr85aXXq7M1k8MHLm; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:50:17 GMT", - "loidcreated=2018-11-16T15%3A50%3A16.809Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:50:17 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEKEAG1CFJ4VBJK9C5F9DWV" - } - }, - { - "recorded_at": "2018-11-16T15:50:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ljr85aXXq7M1k8MHLm; loidcreated=2018-11-16T15%3A50%3A16.809Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEKEDTXEBBVVD2RD7516QM2" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NQQ6CMBREr0K6NJoQG426JILGuLBBhV0Dv79YiIAtEsF4d6nsXM5k3ps3SQDQGN5UBZZk45A5pevZCXfetZX9JfB0ncOhXMkijMDfxj6ZOgRftdJouLIEXbru0P0EvOlqtJYUE43abg1UYzWxSaMcwNvf3YNFJrinuQoXVGSQHaV6snPX72NmIYGtAuRKWPMYyOcLKZcrX7oAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:50:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEKEDTXEBBVVD2RD7516QM2" - } - }, - { - "recorded_at": "2018-11-16T15:50:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Perspiciatis+ut+cum+pariatur+culpa+vitae.+Aperiam+excepturi+officiis+laudantium+aliquam.+Rem+ipsa+ratione+enim.%0AExcepturi+dignissimos+deserunt+quos+odio+earum.+Consequatur+dolores+nesciunt+dolor.+Laboriosam+doloribus+eum+quod+quidem+ut+porro+maiores.%0AReprehenderit+voluptates+iusto+non+dicta+fuga.+Velit+non+laboriosam+non+tenetur+harum+quis+explicabo.+Praesentium+unde+doloribus+in+atque+ipsum.&link_type=any&name=1542383420_dolor&public_description=Ipsa+minima+repellat+sunt.&title=Ut+amet+laudantium+iste+neque+numquam+ex+libero.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2339-PeGBVvfzUFBrpjcJn8fkSWcEDXE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "608" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ljr85aXXq7M1k8MHLm; loidcreated=2018-11-16T15%3A50%3A16.809Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:50:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "580" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:50:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CWEKEAG1CFJ4VBJK9C5F9DWV&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2339-PeGBVvfzUFBrpjcJn8fkSWcEDXE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ljr85aXXq7M1k8MHLm; loidcreated=2018-11-16T15%3A50%3A16.809Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542383420_dolor/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:50:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "577" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542383420_dolor/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:50:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542383420_dolor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2338-2Y8FMXrRkIOQ8RrFhh9ZGnCIUR0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "75" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ljr85aXXq7M1k8MHLm; loidcreated=2018-11-16T15%3A50%3A16.809Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:50:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "577" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:50:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=link&resubmit=True&sendreplies=True&sr=1542383420_dolor&title=Nemo+nobis+vitae+maxime+maiores+facere+autem.&url=http%3A%2F%2Fcampbell.org%2Fposts%2Fapp%2Fhomepage.php" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2338-2Y8FMXrRkIOQ8RrFhh9ZGnCIUR0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "185" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ljr85aXXq7M1k8MHLm; loidcreated=2018-11-16T15%3A50%3A16.809Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542383420_dolor/comments/bd/nemo_nobis_vitae_maxime_maiores_facere_autem/\", \"id\": \"bd\", \"name\": \"t3_bd\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "171" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:50:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "577" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:50:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2338-2Y8FMXrRkIOQ8RrFhh9ZGnCIUR0" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ljr85aXXq7M1k8MHLm; loidcreated=2018-11-16T15%3A50%3A16.809Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/bd/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542383420_dolor\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"bd\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEKEAG1CFJ4VBJK9C5F9DWV\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"campbell.org\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_68\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": false, \"hide_score\": false, \"permalink\": \"/r/1542383420_dolor/comments/bd/nemo_nobis_vitae_maxime_maiores_facere_autem/\", \"locked\": false, \"name\": \"t3_bd\", \"created\": 1542383423.0, \"url\": \"http://campbell.org/posts/app/homepage.php\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Nemo nobis vitae maxime maiores facere autem.\", \"created_utc\": 1542383423.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1417" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:50:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "577" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=qq1jD%2BbxI8QGyJf4y0qeElGOWICddgN4QVRP97cKcaPgpP5GWyyS6rskHSPon1iRvYA7g4q4DV5Glcfj%2BlAyINd464Q%2BdXy6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/bd/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:50:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542383420_dolor&text=Mollitia+totam+ab+doloribus.+Eum+quod+suscipit+eius+nihil+hic+quis+tempore.&title=Rerum+minus+occaecati+accusantium+est." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2338-2Y8FMXrRkIOQ8RrFhh9ZGnCIUR0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "200" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ljr85aXXq7M1k8MHLm; loidcreated=2018-11-16T15%3A50%3A16.809Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542383420_dolor/comments/be/rerum_minus_occaecati_accusantium_est/\", \"id\": \"be\", \"name\": \"t3_be\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "164" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:50:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "573" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:50:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2338-2Y8FMXrRkIOQ8RrFhh9ZGnCIUR0" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ljr85aXXq7M1k8MHLm; loidcreated=2018-11-16T15%3A50%3A16.809Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/be/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542383420_dolor\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMollitia totam ab doloribus. Eum quod suscipit eius nihil hic quis tempore.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Mollitia totam ab doloribus. Eum quod suscipit eius nihil hic quis tempore.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"be\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEKEAG1CFJ4VBJK9C5F9DWV\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542383420_dolor\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_68\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542383420_dolor/comments/be/rerum_minus_occaecati_accusantium_est/\", \"locked\": false, \"name\": \"t3_be\", \"created\": 1542383427.0, \"url\": \"http://reddit.local/r/1542383420_dolor/comments/be/rerum_minus_occaecati_accusantium_est/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Rerum minus occaecati accusantium est.\", \"created_utc\": 1542383427.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1728" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:50:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "573" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=nn3Xen76Yov7617IwoovGJY%2BhrZ89R5cgYQEJz7MDtoXy6CUKxMZ29JMARw1lZPVZorwI%2F1vBOfjATNoiLyJTrdT1pLDu%2BHL" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/be/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:50:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2338-2Y8FMXrRkIOQ8RrFhh9ZGnCIUR0" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ljr85aXXq7M1k8MHLm; loidcreated=2018-11-16T15%3A50%3A16.809Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542383420_dolor/hot?count=0&limit=25&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542383420_dolor\", \"subreddit\": \"1542383420_dolor\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMollitia totam ab doloribus. Eum quod suscipit eius nihil hic quis tempore.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Mollitia totam ab doloribus. Eum quod suscipit eius nihil hic quis tempore.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"be\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEKEAG1CFJ4VBJK9C5F9DWV\", \"media\": null, \"name\": \"t3_be\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_68\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542383420_dolor/comments/be/rerum_minus_occaecati_accusantium_est/\", \"locked\": false, \"stickied\": false, \"created\": 1542383427.0, \"url\": \"http://reddit.local/r/1542383420_dolor/comments/be/rerum_minus_occaecati_accusantium_est/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Rerum minus occaecati accusantium est.\", \"created_utc\": 1542383427.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"campbell.org\", \"subreddit\": \"1542383420_dolor\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"bd\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEKEAG1CFJ4VBJK9C5F9DWV\", \"media\": null, \"name\": \"t3_bd\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_68\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": false, \"hide_score\": false, \"permalink\": \"/r/1542383420_dolor/comments/bd/nemo_nobis_vitae_maxime_maiores_facere_autem/\", \"locked\": false, \"stickied\": false, \"created\": 1542383423.0, \"url\": \"http://campbell.org/posts/app/homepage.php\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Nemo nobis vitae maxime maiores facere autem.\", \"created_utc\": 1542383423.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2818" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:50:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "570" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=01AbgOZvFqIVHHQ2zy9RIylD%2FtQ0xA3yqCKpyf1L1OPm1vM%2BIkAS9UEZQpkICM7YTp1zV7NGaZsh9zeui0xnOAQXq8JfMtk%2F" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542383420_dolor/hot?count=0&limit=25&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:50:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2338-2Y8FMXrRkIOQ8RrFhh9ZGnCIUR0" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ljr85aXXq7M1k8MHLm; loidcreated=2018-11-16T15%3A50%3A16.809Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/be/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542383420_dolor\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMollitia totam ab doloribus. Eum quod suscipit eius nihil hic quis tempore.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Mollitia totam ab doloribus. Eum quod suscipit eius nihil hic quis tempore.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"be\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEKEAG1CFJ4VBJK9C5F9DWV\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542383420_dolor\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_68\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542383420_dolor/comments/be/rerum_minus_occaecati_accusantium_est/\", \"locked\": false, \"name\": \"t3_be\", \"created\": 1542383427.0, \"url\": \"http://reddit.local/r/1542383420_dolor/comments/be/rerum_minus_occaecati_accusantium_est/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Rerum minus occaecati accusantium est.\", \"created_utc\": 1542383427.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1728" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:50:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "570" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ztpRzlMFtOH7%2F%2F0k2v59bCgFom4ljnWpT8ihKEm2BUGukhJbnrCRCheqGN6AZOHSd60ZPrhuDH8qkwCboPdSVVPfvNhhSb6%2F" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/be/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:50:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2338-2Y8FMXrRkIOQ8RrFhh9ZGnCIUR0" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ljr85aXXq7M1k8MHLm; loidcreated=2018-11-16T15%3A50%3A16.809Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542383420_dolor/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"68\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542383420_dolor\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPerspiciatis ut cum pariatur culpa vitae. Aperiam excepturi officiis laudantium aliquam. Rem ipsa ratione enim.\\nExcepturi dignissimos deserunt quos odio earum. Consequatur dolores nesciunt dolor. Laboriosam doloribus eum quod quidem ut porro maiores.\\nReprehenderit voluptates iusto non dicta fuga. Velit non laboriosam non tenetur harum quis explicabo. Praesentium unde doloribus in atque ipsum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Ut amet laudantium iste neque numquam ex libero.\", \"collapse_deleted_comments\": false, \"public_description\": \"Ipsa minima repellat sunt.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIpsa minima repellat sunt.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Perspiciatis ut cum pariatur culpa vitae. Aperiam excepturi officiis laudantium aliquam. Rem ipsa ratione enim.\\nExcepturi dignissimos deserunt quos odio earum. Consequatur dolores nesciunt dolor. Laboriosam doloribus eum quod quidem ut porro maiores.\\nReprehenderit voluptates iusto non dicta fuga. Velit non laboriosam non tenetur harum quis explicabo. Praesentium unde doloribus in atque ipsum.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_68\", \"created\": 1542383420.0, \"url\": \"/r/1542383420_dolor/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542383420.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2213" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:50:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "570" - ], - "x-ratelimit-used": [ - "8" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=1HctL9mv7vf3xElhA6PGlQ%2FJ6EgwQkKFOlP0i9%2FuEcnQcSpLPyGG%2FGboZOEJBilejS%2BFG6m6lsgpOEVYZrxcEywPdGMWINfH" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542383420_dolor/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:50:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2338-2Y8FMXrRkIOQ8RrFhh9ZGnCIUR0" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ljr85aXXq7M1k8MHLm; loidcreated=2018-11-16T15%3A50%3A16.809Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/bd/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542383420_dolor\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"bd\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEKEAG1CFJ4VBJK9C5F9DWV\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"campbell.org\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_68\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": false, \"hide_score\": false, \"permalink\": \"/r/1542383420_dolor/comments/bd/nemo_nobis_vitae_maxime_maiores_facere_autem/\", \"locked\": false, \"name\": \"t3_bd\", \"created\": 1542383423.0, \"url\": \"http://campbell.org/posts/app/homepage.php\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Nemo nobis vitae maxime maiores facere autem.\", \"created_utc\": 1542383423.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1417" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:50:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "570" - ], - "x-ratelimit-used": [ - "9" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=LgRlGsLnS7pS3x4DBzj9kJ8SoJDnFQtpqYWIG0Fal%2BUZ32PdXUiLxC%2Fpy%2FjMCDvJIVHEn5WbRC7NSqIDNai8NYEreiXzg5N0" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/bd/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:50:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2338-2Y8FMXrRkIOQ8RrFhh9ZGnCIUR0" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ljr85aXXq7M1k8MHLm; loidcreated=2018-11-16T15%3A50%3A16.809Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542383420_dolor/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"68\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542383420_dolor\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPerspiciatis ut cum pariatur culpa vitae. Aperiam excepturi officiis laudantium aliquam. Rem ipsa ratione enim.\\nExcepturi dignissimos deserunt quos odio earum. Consequatur dolores nesciunt dolor. Laboriosam doloribus eum quod quidem ut porro maiores.\\nReprehenderit voluptates iusto non dicta fuga. Velit non laboriosam non tenetur harum quis explicabo. Praesentium unde doloribus in atque ipsum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Ut amet laudantium iste neque numquam ex libero.\", \"collapse_deleted_comments\": false, \"public_description\": \"Ipsa minima repellat sunt.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIpsa minima repellat sunt.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Perspiciatis ut cum pariatur culpa vitae. Aperiam excepturi officiis laudantium aliquam. Rem ipsa ratione enim.\\nExcepturi dignissimos deserunt quos odio earum. Consequatur dolores nesciunt dolor. Laboriosam doloribus eum quod quidem ut porro maiores.\\nReprehenderit voluptates iusto non dicta fuga. Velit non laboriosam non tenetur harum quis explicabo. Praesentium unde doloribus in atque ipsum.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_68\", \"created\": 1542383420.0, \"url\": \"/r/1542383420_dolor/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542383420.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2213" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:50:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "570" - ], - "x-ratelimit-used": [ - "10" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=O3PwOArn%2FItucWz0ieiKVh3qxM1yDJ9qTxm9xoVbSQuDBmCtG2tMHczmKeo%2FEKmYdxJNPq3fJOPyvz3RTR1YqgevySXYtek0" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542383420_dolor/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_list_posts[True].json b/cassettes/channels.views.posts_test.test_list_posts[True].json deleted file mode 100644 index c9ef78b496..0000000000 --- a/cassettes/channels.views.posts_test.test_list_posts[True].json +++ /dev/null @@ -1,869 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:05:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHS95X8CGG3RV7QAA9NPGM" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyMdI1S83IcA0MMvQMyUsr9oosSTGICnMrdi5OL0xW0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZaLZ5ZPmWmpVUmAaWZCSXR6WFpboEJQWUppU4WoD0pKSWZSanxmemgAyGcJRqAT85xTa4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=CQeSUgAHSDwOZdKU0n; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:05:21 GMT", - "loidcreated=2018-08-24T18%3A05%3A21.448Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:05:21 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHS95X8CGG3RV7QAA9NPGM" - } - }, - { - "recorded_at": "2018-08-24T18:05:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Sint+rerum+eligendi+illo+rem.+Tempora+deleniti+repellat+maiores+possimus+unde.+Facilis+consectetur+dolorum+labore+labore+magni.+Consequuntur+autem+saepe+dolore+corporis+qui.%0ARepellat+voluptates+dolore+alias+rerum+aliquid.+Consequatur+atque+quas+optio+similique+ullam+sequi+minus+corporis.+Mollitia+sed+dolor+voluptates+nemo+placeat+sit.+Occaecati+sint+exercitationem+vero+fugiat+corporis.&link_type=any&name=1535133921_dicta&public_description=In+explicabo+accusantium+temporibus.+Voluptate+quos+consequatur+ipsam+tempore.&title=Quo+id+rem+reprehenderit+beatae.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 242-6ehhEQR1ITnfsJYtd0ZVFsCsgqc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "635" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CQeSUgAHSDwOZdKU0n; loidcreated=2018-08-24T18%3A05%3A21.448Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "279" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:05:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CQeSUgAHSDwOZdKU0n; loidcreated=2018-08-24T18%3A05%3A21.448Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHSFHDYCDW5NC6W89RWMV9" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyMdZ1t8xNzXD1C9Q1TK5yMw/0iCx3SvfVLXLPd8xW0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZFRhl7+ielmoYHJpW7VJYUu3n4+sQHGReZFOWD9KSklmUmp8ZnpoAMhnCUagFsEFEjuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHSFHDYCDW5NC6W89RWMV9" - } - }, - { - "recorded_at": "2018-08-24T18:05:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHSFHDYCDW5NC6W89RWMV9&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 242-6ehhEQR1ITnfsJYtd0ZVFsCsgqc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CQeSUgAHSDwOZdKU0n; loidcreated=2018-08-24T18%3A05%3A21.448Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133921_dicta/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "272" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133921_dicta/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:05:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535133921_dicta" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 243-G9mehENQ-1czF7QHYwBgM-rGoAk" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "75" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CQeSUgAHSDwOZdKU0n; loidcreated=2018-08-24T18%3A05%3A21.448Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "272" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:05:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=link&resubmit=True&sendreplies=True&sr=1535133921_dicta&title=Perferendis+accusamus+quo+asperiores+sunt.&url=https%3A%2F%2Fchapman.com%2F" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 243-G9mehENQ-1czF7QHYwBgM-rGoAk" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "156" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CQeSUgAHSDwOZdKU0n; loidcreated=2018-08-24T18%3A05%3A21.448Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535133921_dicta/comments/1h/perferendis_accusamus_quo_asperiores_sunt/\", \"id\": \"1h\", \"name\": \"t3_1h\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "168" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "272" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:05:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 243-G9mehENQ-1czF7QHYwBgM-rGoAk" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CQeSUgAHSDwOZdKU0n; loidcreated=2018-08-24T18%3A05%3A21.448Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1h/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133921_dicta\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1h\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPHSFHDYCDW5NC6W89RWMV9\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"chapman.com\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": false, \"hide_score\": false, \"permalink\": \"/r/1535133921_dicta/comments/1h/perferendis_accusamus_quo_asperiores_sunt/\", \"locked\": false, \"name\": \"t3_1h\", \"created\": 1535133928.0, \"url\": \"https://chapman.com/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Perferendis accusamus quo asperiores sunt.\", \"created_utc\": 1535133928.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1388" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "272" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=CSxNw46iPYOXbA6KUuiRaWK2cB1yMFyWlAySsO8MdXZOI7pWx7oZo9Ney9IpWmKwSM1svrO9%2FDUBortzzEEOQXMpOz6%2FeAZP" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1h/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:05:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535133921_dicta&text=Sed+officia+tenetur+vel+vero+dolor+voluptatibus+repellendus.+Ut+minus+veniam+vitae+porro+at+ut+sed.&title=Atque+vero+veritatis+quibusdam+nobis." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 243-G9mehENQ-1czF7QHYwBgM-rGoAk" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "223" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CQeSUgAHSDwOZdKU0n; loidcreated=2018-08-24T18%3A05%3A21.448Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535133921_dicta/comments/1i/atque_vero_veritatis_quibusdam_nobis/\", \"id\": \"1i\", \"name\": \"t3_1i\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "163" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "269" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:05:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 243-G9mehENQ-1czF7QHYwBgM-rGoAk" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CQeSUgAHSDwOZdKU0n; loidcreated=2018-08-24T18%3A05%3A21.448Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/1i/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535133921_dicta\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESed officia tenetur vel vero dolor voluptatibus repellendus. Ut minus veniam vitae porro at ut sed.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Sed officia tenetur vel vero dolor voluptatibus repellendus. Ut minus veniam vitae porro at ut sed.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1i\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPHSFHDYCDW5NC6W89RWMV9\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535133921_dicta\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535133921_dicta/comments/1i/atque_vero_veritatis_quibusdam_nobis/\", \"locked\": false, \"name\": \"t3_1i\", \"created\": 1535133931.0, \"url\": \"http://reddit.local/r/1535133921_dicta/comments/1i/atque_vero_veritatis_quibusdam_nobis/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Atque vero veritatis quibusdam nobis.\", \"created_utc\": 1535133931.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1773" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "269" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=maYAb5tYqgxBEKcgi7NXpYGUbcgwfB0bDK40Rd0vYg7mBFUJZBVkm2sdWMbhcjck0p3tHkRpi9HvH16w7qTBoIU1gvUc7Cd1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/1i/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:05:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 243-G9mehENQ-1czF7QHYwBgM-rGoAk" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CQeSUgAHSDwOZdKU0n; loidcreated=2018-08-24T18%3A05%3A21.448Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133921_dicta/hot?count=0&limit=25&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1535133921_dicta\", \"subreddit\": \"1535133921_dicta\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESed officia tenetur vel vero dolor voluptatibus repellendus. Ut minus veniam vitae porro at ut sed.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Sed officia tenetur vel vero dolor voluptatibus repellendus. Ut minus veniam vitae porro at ut sed.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1i\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPHSFHDYCDW5NC6W89RWMV9\", \"media\": null, \"name\": \"t3_1i\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535133921_dicta/comments/1i/atque_vero_veritatis_quibusdam_nobis/\", \"locked\": false, \"stickied\": false, \"created\": 1535133931.0, \"url\": \"http://reddit.local/r/1535133921_dicta/comments/1i/atque_vero_veritatis_quibusdam_nobis/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Atque vero veritatis quibusdam nobis.\", \"created_utc\": 1535133931.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"chapman.com\", \"subreddit\": \"1535133921_dicta\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"1h\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPHSFHDYCDW5NC6W89RWMV9\", \"media\": null, \"name\": \"t3_1h\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_1w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": false, \"hide_score\": false, \"permalink\": \"/r/1535133921_dicta/comments/1h/perferendis_accusamus_quo_asperiores_sunt/\", \"locked\": false, \"stickied\": false, \"created\": 1535133928.0, \"url\": \"https://chapman.com/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Perferendis accusamus quo asperiores sunt.\", \"created_utc\": 1535133928.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2834" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "266" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Ai7Z1goW%2FZteg5d5ftUU9XWXhmMmb3Zx8WmuqGMAupnjQvpNC%2F%2Fgjsp0LWO1%2FbnQsqAH3L%2FO7nNHFGy1ng5b2Hn4ZTL7NJ89" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133921_dicta/hot?count=0&limit=25&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_list_posts_anonymous.json b/cassettes/channels.views.posts_test.test_list_posts_anonymous.json deleted file mode 100644 index 9fa8dc1d00..0000000000 --- a/cassettes/channels.views.posts_test.test_list_posts_anonymous.json +++ /dev/null @@ -1,756 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:12:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH94K2VZV9QZAFC2EQKWKM" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNjLS9cmyrArTLYqIKKkMyS/3KjJ3zEl0jM8PNMrJV9JRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9CsSwz2dg8JTPJwdQqIcPbwCHB1Dnf1tDQzNQ03AWlKSS3LTE6Nz0wBmQzhKNUCAE8XIjC6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=S7Wp48hKGKG1dxzXSd; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:12:30 GMT", - "loidcreated=2018-11-16T15%3A12%3A29.782Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:12:30 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH94K2VZV9QZAFC2EQKWKM" - } - }, - { - "recorded_at": "2018-11-16T15:12:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Ullam+possimus+voluptate+voluptas+harum+expedita.+Recusandae+ullam+laboriosam+voluptatem+ea+vel+error+perferendis.+Doloremque+veniam+quaerat+quae+odit.+Vero+iusto+ullam+cupiditate+et+ducimus+consequuntur.%0AReiciendis+ratione+laborum+facilis+sint.+Quibusdam+enim+repudiandae+unde+reprehenderit+maiores+at.+Possimus+iure+nesciunt+sed+laboriosam+fugit+delectus+rerum+sapiente.+Rerum+ex+illo+repellendus+nisi+repellendus+consequatur+enim+tempora.&link_type=any&name=1542381150_et&public_description=Molestiae+iure+ab+nobis+iure.&title=Possimus+consectetur+ex+assumenda+non.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2322-Lj9zV-rXXtyTowJr7AlaA_oQ2lo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "641" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=S7Wp48hKGKG1dxzXSd; loidcreated=2018-11-16T15%3A12%3A29.782Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "450" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=S7Wp48hKGKG1dxzXSd; loidcreated=2018-11-16T15%3A12%3A29.782Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CBFJMB9PD3JP17KAX3E5JQ46" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNQQuCMBzFv4rsGAlDXUG3MDxkBB1i2GVs8z8azjY2sST67rk8dXw/3u+9N+JSQghssB080C5BWYHTvC8F4Wcne4MJzZTA9XY86WAIRusEwctpD4HpKOQbjGf289kwOYgjArgHH7tB2gWtYvKgZvH+/0Y786xs2TVTejxcb3WlGrUvFNXuEp0WRi2B6TYOLwF9vk6qE864AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CBFJMB9PD3JP17KAX3E5JQ46" - } - }, - { - "recorded_at": "2018-11-16T15:12:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=link&resubmit=True&sendreplies=True&sr=1542381150_et&title=Recusandae+iusto+dolores+vitae+quia+corrupti.&url=http%3A%2F%2Fpacheco-wheeler.com%2Flist%2Fsearch%2Fcategory%2Fterms%2F" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 240-3mCb5aNpcml05W2fb0K7vLisl50" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "198" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=S7Wp48hKGKG1dxzXSd; loidcreated=2018-11-16T15%3A12%3A29.782Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381150_et/comments/b9/recusandae_iusto_dolores_vitae_quia_corrupti/\", \"id\": \"b9\", \"name\": \"t3_b9\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "168" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "447" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 240-3mCb5aNpcml05W2fb0K7vLisl50" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=S7Wp48hKGKG1dxzXSd; loidcreated=2018-11-16T15%3A12%3A29.782Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/b9/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381150_et\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b9\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CBFJMB9PD3JP17KAX3E5JQ46\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"pacheco-wheeler.com\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_60\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": false, \"hide_score\": false, \"permalink\": \"/r/1542381150_et/comments/b9/recusandae_iusto_dolores_vitae_quia_corrupti/\", \"locked\": false, \"name\": \"t3_b9\", \"created\": 1542381153.0, \"url\": \"http://pacheco-wheeler.com/list/search/category/terms/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Recusandae iusto dolores vitae quia corrupti.\", \"created_utc\": 1542381153.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1430" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "447" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=pArDFQ9St4Z5hd3tsFvOkGdFjRwhqZunm43Caqaj%2F3%2FDawTB2eQaTpzNH185YfdZJr3OnPtlaFzF%2F0wGlchw%2BwgFhohupjLj" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/b9/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=client_credentials" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic b2RfY2xpZW50X2lkOm9kX2NsaWVudF9zZWNyZXQ=" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "29" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=S7Wp48hKGKG1dxzXSd; loidcreated=2018-11-16T15%3A12%3A29.782Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"-vZvLP2Rz0G5Z-WSG8FYCBhJwv4g\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "106" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299" - ], - "x-ratelimit-reset": [ - "444" - ], - "x-ratelimit-used": [ - "1" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2018-11-16T15:12:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer -vZvLP2Rz0G5Z-WSG8FYCBhJwv4g" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=S7Wp48hKGKG1dxzXSd; loidcreated=2018-11-16T15%3A12%3A29.782Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542381150_et/hot?count=0&limit=25&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": \"\", \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"pacheco-wheeler.com\", \"subreddit\": \"1542381150_et\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b9\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CBFJMB9PD3JP17KAX3E5JQ46\", \"media\": null, \"name\": \"t3_b9\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_60\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": false, \"hide_score\": true, \"permalink\": \"/r/1542381150_et/comments/b9/recusandae_iusto_dolores_vitae_quia_corrupti/\", \"locked\": false, \"stickied\": false, \"created\": 1542381153.0, \"url\": \"http://pacheco-wheeler.com/list/search/category/terms/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Recusandae iusto dolores vitae quia corrupti.\", \"created_utc\": 1542381153.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1309" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298" - ], - "x-ratelimit-reset": [ - "444" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=z54JwVQobkTPjlX7Q3rgHqwb894NSXbUxQhXPJarP%2FbiSUy%2FERhEVPAWrnKi8GGHO3Vna1AagVKIQ2thpfca57LqISJRBq7b" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542381150_et/hot?count=0&limit=25&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer -vZvLP2Rz0G5Z-WSG8FYCBhJwv4g" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=S7Wp48hKGKG1dxzXSd; loidcreated=2018-11-16T15%3A12%3A29.782Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/b9/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": \"\", \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381150_et\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b9\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CBFJMB9PD3JP17KAX3E5JQ46\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"pacheco-wheeler.com\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_60\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": false, \"hide_score\": true, \"permalink\": \"/r/1542381150_et/comments/b9/recusandae_iusto_dolores_vitae_quia_corrupti/\", \"locked\": false, \"name\": \"t3_b9\", \"created\": 1542381153.0, \"url\": \"http://pacheco-wheeler.com/list/search/category/terms/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Recusandae iusto dolores vitae quia corrupti.\", \"created_utc\": 1542381153.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": \"\", \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1425" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297" - ], - "x-ratelimit-reset": [ - "444" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=jdlbdeMamXy6VQ8JFBVZGTDlEUVbnHV3KkhnAzXQ%2BfxB4ohhRybr0rBddFrg8yXlqacXmqphNi5MeRP%2B2dUJ3TBmtxPhkHe9" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/b9/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer -vZvLP2Rz0G5Z-WSG8FYCBhJwv4g" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=S7Wp48hKGKG1dxzXSd; loidcreated=2018-11-16T15%3A12%3A29.782Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542381150_et/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": null, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"60\", \"user_is_contributor\": null, \"submit_text\": \"\", \"display_name\": \"1542381150_et\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EUllam possimus voluptate voluptas harum expedita. Recusandae ullam laboriosam voluptatem ea vel error perferendis. Doloremque veniam quaerat quae odit. Vero iusto ullam cupiditate et ducimus consequuntur.\\nReiciendis ratione laborum facilis sint. Quibusdam enim repudiandae unde reprehenderit maiores at. Possimus iure nesciunt sed laboriosam fugit delectus rerum sapiente. Rerum ex illo repellendus nisi repellendus consequatur enim tempora.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Possimus consectetur ex assumenda non.\", \"collapse_deleted_comments\": false, \"public_description\": \"Molestiae iure ab nobis iure.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMolestiae iure ab nobis iure.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Ullam possimus voluptate voluptas harum expedita. Recusandae ullam laboriosam voluptatem ea vel error perferendis. Doloremque veniam quaerat quae odit. Vero iusto ullam cupiditate et ducimus consequuntur.\\nReiciendis ratione laborum facilis sint. Quibusdam enim repudiandae unde reprehenderit maiores at. Possimus iure nesciunt sed laboriosam fugit delectus rerum sapiente. Rerum ex illo repellendus nisi repellendus consequatur enim tempora.\", \"user_is_muted\": null, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 1, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_60\", \"created\": 1542381150.0, \"url\": \"/r/1542381150_et/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542381150.0, \"banner_size\": null, \"user_is_moderator\": null, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"public\", \"submission_type\": \"any\", \"user_is_subscriber\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2289" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296" - ], - "x-ratelimit-reset": [ - "444" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Ws%2BIxLuhZUO1B7iNwM%2BbSS2zRsCvo08NNHH4IfTrbi37zSpUKMBe2tTLD1IeeT%2FHh53iwCloAvG3gvWRcNCHgm0CDzHfb%2F3A" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542381150_et/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_list_posts_forbidden.json b/cassettes/channels.views.posts_test.test_list_posts_forbidden.json deleted file mode 100644 index 59f4d57619..0000000000 --- a/cassettes/channels.views.posts_test.test_list_posts_forbidden.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-06T16:48:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=george" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0NdfNME4N9C/yrgxyzSzM8vFJiTc188xxy3B3y81X0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLY5VXpa6AYmp3iFuGSnx4cnGhlHpoWWRnlUBoaC9KSklmUmp8ZnpoAMhnCUagEOblduuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 06 Nov 2017 16:48:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=BByRu5IdZi6EvtND32; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 06-Nov-2019 16:48:31 GMT", - "loidcreated=2017-11-06T16%3A48%3A31.297Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 06-Nov-2019 16:48:31 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=george" - } - }, - { - "recorded_at": "2017-11-06T16:48:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 157-h3eQOrKyREiqjLLd_56IlFhGFmo" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=BByRu5IdZi6EvtND32; loidcreated=2017-11-06T16%3A48%3A31.297Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/my_channel2/hot?count=0&limit=25&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"message\": \"Forbidden\", \"error\": 403}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "38" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 06 Nov 2017 16:48:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=sFuXWBx5l9yaVXE%2BWpF8H2ST6uAWvWk4WNwCjNwnXl1axDj91rZrRbSKvrPY7Q3TwSfGyHZTh19Kz%2BeFXOTSY3XJ%2B8ZGgEzY" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 403, - "message": "Forbidden" - }, - "url": "https://reddit.local/r/my_channel2/hot?count=0&limit=25&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_list_posts_none.json b/cassettes/channels.views.posts_test.test_list_posts_none.json deleted file mode 100644 index 6ca21238b7..0000000000 --- a/cassettes/channels.views.posts_test.test_list_posts_none.json +++ /dev/null @@ -1,507 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:05:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHT93ADNADTD7RQMX622SA" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyMdPN83QKS/UwzPVy94mMiA81ccwNKC9PdwvPdPNV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaZ+VZ4RaTnFhmV5bg7RmUHhORYRroVJCcH+3mC9KSklmUmp8ZnpoAMhnCUagECSc6VuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=9MWYifalKRafrSZHaD; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:05:54 GMT", - "loidcreated=2018-08-24T18%3A05%3A54.125Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:05:54 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHT93ADNADTD7RQMX622SA" - } - }, - { - "recorded_at": "2018-08-24T18:05:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Expedita+quisquam+quos+delectus.+Velit+suscipit+ab+magni+amet+modi.%0ATempore+placeat+veniam+dignissimos+autem.+Est+ipsum+maiores+dolore+minima+reiciendis+quibusdam+provident.+Dolore+doloribus+molestias+hic+temporibus+corporis.+Quasi+facere+quam+omnis+esse.%0ASoluta+sapiente+ipsa+voluptatibus+sint.+Perspiciatis+quod+est+cupiditate+expedita+at.+Nam+amet+dolorum+labore+iusto+reiciendis.+Enim+atque+repellat+dolor+accusantium.&link_type=any&name=1535133954_inventore&public_description=Officiis+quas+doloremque+ex+recusandae.+Eius+consequatur+aperiam+cumque+odio+reiciendis+eius.&title=Sed+exercitationem+mollitia+aliquid+quae+aliquid.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 246-nIBVeH1mJGLYX_U4AmPwwgFWiFM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "707" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=9MWYifalKRafrSZHaD; loidcreated=2018-08-24T18%3A05%3A54.125Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:05:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "246" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:06:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9MWYifalKRafrSZHaD; loidcreated=2018-08-24T18%3A05%3A54.125Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHTFDN4EKS392BZ8WJED67" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyMdf1iggtdI3PLAoK8M6oMHJLcXLKLzSwrAqvikpX0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYZGZr4u2WnBVt6ZkVZZBWGeZiHpBclmueFGBSD9KSklmUmp8ZnpoAMhnCUagFN5s4LuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:06:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPHTFDN4EKS392BZ8WJED67" - } - }, - { - "recorded_at": "2018-08-24T18:06:01", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPHTFDN4EKS392BZ8WJED67&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 246-nIBVeH1mJGLYX_U4AmPwwgFWiFM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=9MWYifalKRafrSZHaD; loidcreated=2018-08-24T18%3A05%3A54.125Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535133954_inventore/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:06:01 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "240" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133954_inventore/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:06:01", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535133954_inventore" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 247-JXUqE_irRPKhx2FdBBoq09zWzZg" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=9MWYifalKRafrSZHaD; loidcreated=2018-08-24T18%3A05%3A54.125Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:06:01 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "239" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:06:01", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 247-JXUqE_irRPKhx2FdBBoq09zWzZg" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9MWYifalKRafrSZHaD; loidcreated=2018-08-24T18%3A05%3A54.125Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535133954_inventore/hot?count=0&limit=25&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "93" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:06:01 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "239" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=0vPHg%2Ft0QHnUdt6DkKcHrHkgh7fnFoc0A32C4qmzm%2FKsMc8vwETJxVizcs66fEHWKCpZMOyfvLpKYxeyp74nftaliPc32w3J" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535133954_inventore/hot?count=0&limit=25&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_list_posts_not_found.json b/cassettes/channels.views.posts_test.test_list_posts_not_found.json deleted file mode 100644 index 87fabad64a..0000000000 --- a/cassettes/channels.views.posts_test.test_list_posts_not_found.json +++ /dev/null @@ -1,136 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-06T16:48:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=george" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNQQuCMBzFv4rsGAlarqBbF3E7BIFQt6Hz75xhG5ubSfTdc3nq+H6833tvVHEO1rJRPeCJThFK8TGOfZ45wpWoMizqCdOh3DVSd9fyjLYRgpeWBiyTQdgfkmRhP5+Ns4YwUkNlwISu5WpFm5AMtIvY/b9Nc0rorfduuOcU27aITSIujvQqC04DXnJgsgnDa0CfL9WSZAK4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 06 Nov 2017 16:48:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=BJnPadlIuEBQCWLokB; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 06-Nov-2019 16:48:42 GMT", - "loidcreated=2017-11-06T16%3A48%3A42.231Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 06-Nov-2019 16:48:42 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=george" - } - }, - { - "recorded_at": "2017-11-06T16:48:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 157--vF4uIcoga45gbw5JmT2diphQTA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=BJnPadlIuEBQCWLokB; loidcreated=2017-11-06T16%3A48%3A42.231Z" - ], - "User-Agent": [ - "MIT-Open: 0.3.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/missing/hot?count=0&limit=25&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "\n \n 302 Found\n \n \n

302 Found

\n The resource was found at https://reddit.local/subreddits/search?q=missing;\nyou should be redirected automatically.\n\n\n \n" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "279" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 06 Nov 2017 16:48:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "location": [ - "https://reddit.local/subreddits/search?q=missing" - ] - }, - "status": { - "code": 302, - "message": "Found" - }, - "url": "https://reddit.local/r/missing/hot?count=0&limit=25&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_list_posts_pagination[params0-expected0].json b/cassettes/channels.views.posts_test.test_list_posts_pagination[params0-expected0].json deleted file mode 100644 index 9a9f5f963e..0000000000 --- a/cassettes/channels.views.posts_test.test_list_posts_pagination[params0-expected0].json +++ /dev/null @@ -1,246 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-10-06T15:42:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01BV2FFY6JKZ4A420B424G6V7E" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNywrCMBREf6VkKQZSBF97ac1C1CqFbkK9uWJabWoSQqv47zZ25XIOc2bepARAa4XTNTZkHZE4XlG5yPuNLoBTKakvtu5xSrIjvLhmZBoR7Fpl0AoVhNmcsYH9fOH6FsPIBUuDJnQt6BFNQjJ4HcTb/9uhqfLn3fFkWVa5SPbU+abT6Tnb1cGR6BWgUDIMj4F8vrox2Wy4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 15:42:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=cHjgedyBMUbzYefXq4; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 06-Oct-2019 15:42:08 GMT", - "loidcreated=2017-10-06T15%3A42%3A08.718Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 06-Oct-2019 15:42:08 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01BV2FFY6JKZ4A420B424G6V7E" - } - }, - { - "recorded_at": "2017-10-06T15:42:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=refresh_token&refresh_token=119-QnjWqltJG8ajW_GP-tvnxoHUSNk" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic a0FTa3pjWi1sNE9GZ2c6TU53LXlnM3ZlaVRBTS1vdmlvYzhZTjJpN2dn" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "70" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=cHjgedyBMUbzYefXq4; loidcreated=2017-10-06T15%3A42%3A08.718Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"119-Z8zu5RjUl60wfTpg2pMOAyiupEk\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "109" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 15:42:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299" - ], - "x-ratelimit-reset": [ - "472" - ], - "x-ratelimit-used": [ - "1" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2017-10-06T15:42:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 119-Z8zu5RjUl60wfTpg2pMOAyiupEk" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=cHjgedyBMUbzYefXq4; loidcreated=2017-10-06T15%3A42%3A08.718Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/ten_posts/hot?count=0&limit=5&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.ten_posts\", \"subreddit\": \"ten_posts\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"u\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_u\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/ten_posts/comments/u/post_ten/\", \"locked\": false, \"stickied\": false, \"created\": 1507304083.0, \"url\": \"http://reddit.local/r/ten_posts/comments/u/post_ten/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"post ten\", \"created_utc\": 1507304083.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.ten_posts\", \"subreddit\": \"ten_posts\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"t\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_t\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/ten_posts/comments/t/post_nine/\", \"locked\": false, \"stickied\": false, \"created\": 1507304075.0, \"url\": \"http://reddit.local/r/ten_posts/comments/t/post_nine/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"post nine\", \"created_utc\": 1507304075.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.ten_posts\", \"subreddit\": \"ten_posts\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"s\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_s\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/ten_posts/comments/s/post_eight/\", \"locked\": false, \"stickied\": false, \"created\": 1507304068.0, \"url\": \"http://reddit.local/r/ten_posts/comments/s/post_eight/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"post eight\", \"created_utc\": 1507304068.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.ten_posts\", \"subreddit\": \"ten_posts\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"r\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_r\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/ten_posts/comments/r/post_seven/\", \"locked\": false, \"stickied\": false, \"created\": 1507304060.0, \"url\": \"http://reddit.local/r/ten_posts/comments/r/post_seven/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"post seven\", \"created_utc\": 1507304060.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.ten_posts\", \"subreddit\": \"ten_posts\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"q\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_q\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/ten_posts/comments/q/post_six/\", \"locked\": false, \"stickied\": false, \"created\": 1507304054.0, \"url\": \"http://reddit.local/r/ten_posts/comments/q/post_six/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"post six\", \"created_utc\": 1507304054.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": \"t3_q\", \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "5643" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 15:42:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "472" - ], - "x-ratelimit-used": [ - "1" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=SbNa9GvM5c0X7oZFnvTpDBJ7QIlhhI%2BjUZrPEd4C6i7kzr0dUz7I66k0HV%2FqpydsDBzZ7IjXawVWG%2F3cn0XTq2CzM0nTOj8U" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/ten_posts/hot?limit=5&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} diff --git a/cassettes/channels.views.posts_test.test_list_posts_pagination[params1-expected1].json b/cassettes/channels.views.posts_test.test_list_posts_pagination[params1-expected1].json deleted file mode 100644 index 62734a602e..0000000000 --- a/cassettes/channels.views.posts_test.test_list_posts_pagination[params1-expected1].json +++ /dev/null @@ -1,246 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-10-06T15:42:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01BV2FFY6JKZ4A420B424G6V7E" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0tNQNK0rPjsgwznYu98pP9LXICs/2ywjwsYgI9ihW0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZ5eHolRZbkBYWEhEdaGoXk5keaFvsZGxZGeJiA9KSklmUmp8ZnpoAMhnCUagHYMQ+cuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 15:42:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=tRkS9TNeR1txNsP3v3; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 06-Oct-2019 15:42:38 GMT", - "loidcreated=2017-10-06T15%3A42%3A38.049Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 06-Oct-2019 15:42:38 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01BV2FFY6JKZ4A420B424G6V7E" - } - }, - { - "recorded_at": "2017-10-06T15:42:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=refresh_token&refresh_token=119-HIJbYtnRTTWY92TmoY5sN31qXH4" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic a0FTa3pjWi1sNE9GZ2c6TU53LXlnM3ZlaVRBTS1vdmlvYzhZTjJpN2dn" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "70" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=tRkS9TNeR1txNsP3v3; loidcreated=2017-10-06T15%3A42%3A38.049Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"119-nXEeO-MMeCiMbk28JCUHGwmdkZM\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "109" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 15:42:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297" - ], - "x-ratelimit-reset": [ - "442" - ], - "x-ratelimit-used": [ - "3" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2017-10-06T15:42:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 119-nXEeO-MMeCiMbk28JCUHGwmdkZM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=tRkS9TNeR1txNsP3v3; loidcreated=2017-10-06T15%3A42%3A38.049Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/ten_posts/hot?after=t3_q&count=5&limit=5&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.ten_posts\", \"subreddit\": \"ten_posts\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"p\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_p\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/ten_posts/comments/p/post_five/\", \"locked\": false, \"stickied\": false, \"created\": 1507304047.0, \"url\": \"http://reddit.local/r/ten_posts/comments/p/post_five/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"post five\", \"created_utc\": 1507304047.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.ten_posts\", \"subreddit\": \"ten_posts\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"o\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_o\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/ten_posts/comments/o/post_four/\", \"locked\": false, \"stickied\": false, \"created\": 1507304025.0, \"url\": \"http://reddit.local/r/ten_posts/comments/o/post_four/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"post four\", \"created_utc\": 1507304025.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.ten_posts\", \"subreddit\": \"ten_posts\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"n\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_n\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/ten_posts/comments/n/post_three/\", \"locked\": false, \"stickied\": false, \"created\": 1507304018.0, \"url\": \"http://reddit.local/r/ten_posts/comments/n/post_three/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"post three\", \"created_utc\": 1507304018.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.ten_posts\", \"subreddit\": \"ten_posts\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"m\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_m\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/ten_posts/comments/m/post_two/\", \"locked\": false, \"stickied\": false, \"created\": 1507304011.0, \"url\": \"http://reddit.local/r/ten_posts/comments/m/post_two/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"post two\", \"created_utc\": 1507304011.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.ten_posts\", \"subreddit\": \"ten_posts\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"l\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_l\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/ten_posts/comments/l/post_one/\", \"locked\": false, \"stickied\": false, \"created\": 1507304002.0, \"url\": \"http://reddit.local/r/ten_posts/comments/l/post_one/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"post one\", \"created_utc\": 1507304002.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": \"t3_l\", \"before\": \"t3_p\"}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "5642" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 15:42:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "442" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=x384heTAitFMrHiiDQHhNRSBiM9jHLdvdTqU5fwWQWtWeBijx%2BUTDxpV6pvcszLnemRqsgPdAOoHrt3kU6yyINHmWw4nSOZy" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/ten_posts/hot?after=t3_q&count=5&limit=5&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_list_posts_pagination[params2-expected2].json b/cassettes/channels.views.posts_test.test_list_posts_pagination[params2-expected2].json deleted file mode 100644 index 331f5d6131..0000000000 --- a/cassettes/channels.views.posts_test.test_list_posts_pagination[params2-expected2].json +++ /dev/null @@ -1,246 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-10-06T15:42:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01BV2FFY6JKZ4A420B424G6V7E" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0tNR19k0pqfAutcgrTzX1NkwNzQ53TgkyM/PPSkpX0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLY5RpXml+ZHhvtEFJcX+eWZJ0WGV4UXm+Qmm/uC9KSklmUmp8ZnpoAMhnCUagGzVjkquAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 15:42:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=ftWe2Wm8fCCu1uwqPL; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 06-Oct-2019 15:42:23 GMT", - "loidcreated=2017-10-06T15%3A42%3A23.371Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 06-Oct-2019 15:42:23 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01BV2FFY6JKZ4A420B424G6V7E" - } - }, - { - "recorded_at": "2017-10-06T15:42:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=refresh_token&refresh_token=119-AZuouoYWLXswrNn7bYWzWs4mc7M" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic a0FTa3pjWi1sNE9GZ2c6TU53LXlnM3ZlaVRBTS1vdmlvYzhZTjJpN2dn" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "70" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ftWe2Wm8fCCu1uwqPL; loidcreated=2017-10-06T15%3A42%3A23.371Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"119-Cb01Zg4sU8LppGiXQKoK07FaFms\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "109" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 15:42:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298" - ], - "x-ratelimit-reset": [ - "457" - ], - "x-ratelimit-used": [ - "2" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2017-10-06T15:42:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 119-Cb01Zg4sU8LppGiXQKoK07FaFms" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ftWe2Wm8fCCu1uwqPL; loidcreated=2017-10-06T15%3A42%3A23.371Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/ten_posts/hot?after=t3_s&count=3&limit=5&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.ten_posts\", \"subreddit\": \"ten_posts\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"r\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_r\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/ten_posts/comments/r/post_seven/\", \"locked\": false, \"stickied\": false, \"created\": 1507304060.0, \"url\": \"http://reddit.local/r/ten_posts/comments/r/post_seven/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"post seven\", \"created_utc\": 1507304060.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.ten_posts\", \"subreddit\": \"ten_posts\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"q\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_q\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/ten_posts/comments/q/post_six/\", \"locked\": false, \"stickied\": false, \"created\": 1507304054.0, \"url\": \"http://reddit.local/r/ten_posts/comments/q/post_six/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"post six\", \"created_utc\": 1507304054.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.ten_posts\", \"subreddit\": \"ten_posts\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"p\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_p\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/ten_posts/comments/p/post_five/\", \"locked\": false, \"stickied\": false, \"created\": 1507304047.0, \"url\": \"http://reddit.local/r/ten_posts/comments/p/post_five/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"post five\", \"created_utc\": 1507304047.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.ten_posts\", \"subreddit\": \"ten_posts\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"o\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_o\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/ten_posts/comments/o/post_four/\", \"locked\": false, \"stickied\": false, \"created\": 1507304025.0, \"url\": \"http://reddit.local/r/ten_posts/comments/o/post_four/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"post four\", \"created_utc\": 1507304025.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.ten_posts\", \"subreddit\": \"ten_posts\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"n\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_n\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/ten_posts/comments/n/post_three/\", \"locked\": false, \"stickied\": false, \"created\": 1507304018.0, \"url\": \"http://reddit.local/r/ten_posts/comments/n/post_three/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"post three\", \"created_utc\": 1507304018.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": \"t3_n\", \"before\": \"t3_r\"}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "5648" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 15:42:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "457" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Gv4QrVoGhMwV0zRlNqgLGhdHjPQ1kYBGY%2ByCrBjTV2YGVWFWYYPQ2LvmPcNem%2B1A9PsJiRt9Jz1Yw17xEjp5ZnUS5DwlpqkE" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/ten_posts/hot?after=t3_s&count=3&limit=5&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_list_posts_pagination[params3-expected3].json b/cassettes/channels.views.posts_test.test_list_posts_pagination[params3-expected3].json deleted file mode 100644 index deca036431..0000000000 --- a/cassettes/channels.views.posts_test.test_list_posts_pagination[params3-expected3].json +++ /dev/null @@ -1,246 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-10-06T16:47:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01BV2FFY6JKZ4A420B424G6V7E" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0tNTN8Ut1KvQOczMMLKkMNnNL8UpyTY6ICI0oD3JV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZlWJQ6ehqnRHpnGFZYehSa5rlFBXqUuBiGBPmC9KSklmUmp8ZnpoAMhnCUagGJGkmZuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 16:47:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=0nzD2OP9IzjCSmVt81; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 06-Oct-2019 16:47:26 GMT", - "loidcreated=2017-10-06T16%3A47%3A26.413Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 06-Oct-2019 16:47:26 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01BV2FFY6JKZ4A420B424G6V7E" - } - }, - { - "recorded_at": "2017-10-06T16:47:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "grant_type=refresh_token&refresh_token=119-h8uAI3dYKh1x9Hq5nFZQHtD1TRM" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "Basic a0FTa3pjWi1sNE9GZ2c6TU53LXlnM3ZlaVRBTS1vdmlvYzhZTjJpN2dn" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "70" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=0nzD2OP9IzjCSmVt81; loidcreated=2017-10-06T16%3A47%3A26.413Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/v1/access_token" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"access_token\": \"119-tBunXSxVsbUjvTRZor0uCIi4ji8\", \"token_type\": \"bearer\", \"expires_in\": 3600, \"scope\": \"*\"}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "109" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 16:47:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299" - ], - "x-ratelimit-reset": [ - "154" - ], - "x-ratelimit-used": [ - "1" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/access_token" - } - }, - { - "recorded_at": "2017-10-06T16:47:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 119-tBunXSxVsbUjvTRZor0uCIi4ji8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=0nzD2OP9IzjCSmVt81; loidcreated=2017-10-06T16%3A47%3A26.413Z" - ], - "User-Agent": [ - "MIT-Open: 0.0.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/ten_posts/hot?before=t3_r&count=6&limit=5&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.ten_posts\", \"subreddit\": \"ten_posts\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"u\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_u\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/ten_posts/comments/u/post_ten/\", \"locked\": false, \"stickied\": false, \"created\": 1507304083.0, \"url\": \"http://reddit.local/r/ten_posts/comments/u/post_ten/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"post ten\", \"created_utc\": 1507304083.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.ten_posts\", \"subreddit\": \"ten_posts\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"t\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_t\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/ten_posts/comments/t/post_nine/\", \"locked\": false, \"stickied\": false, \"created\": 1507304075.0, \"url\": \"http://reddit.local/r/ten_posts/comments/t/post_nine/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"post nine\", \"created_utc\": 1507304075.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.ten_posts\", \"subreddit\": \"ten_posts\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"s\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"reddit\", \"media\": null, \"name\": \"t3_s\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": true, \"permalink\": \"/r/ten_posts/comments/s/post_eight/\", \"locked\": false, \"stickied\": false, \"created\": 1507304068.0, \"url\": \"http://reddit.local/r/ten_posts/comments/s/post_eight/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"post eight\", \"created_utc\": 1507304068.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": \"t3_s\", \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "3423" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 06 Oct 2017 16:47:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "154" - ], - "x-ratelimit-used": [ - "1" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=exEGBNUZvV%2FKycG2zqOX9%2FqHvuiqeSG%2Bt7Ev57Aj3tjbqtjDNM030jHMySNiCyYHQDpYYUMhGZexvTyq2TwHuhU40%2BG2hlAD" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/ten_posts/hot?before=t3_r&count=6&limit=5&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_list_posts_pagination_first_page_no_params.json b/cassettes/channels.views.posts_test.test_list_posts_pagination_first_page_no_params.json deleted file mode 100644 index 3701f020b7..0000000000 --- a/cassettes/channels.views.posts_test.test_list_posts_pagination_first_page_no_params.json +++ /dev/null @@ -1,4112 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:08:39", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH23W7DSM2XAT1TV0KT1JP" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NwQqCQBRFf0XeMhI0R8t2Bi0qIiGo5WAzT53K1DeDKNG/5+Su5b3cc+4bMiFQa27qB75g7cAi8Jl7vFbJhQyely4Pc0k7vzvtWZyXsYC5A9g3ilBzZYkg8ryx+wm4GRq0lhtmhGS3WtRTNbOJMB/B8u+O9ZF/j3T4rLas2qyK4pCmrW5xoMRCEjslkCtpzVOAzxel+wSJugAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:39 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=m58mxsYeeuMBDSyxXh; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:08:39 GMT", - "loidcreated=2018-11-16T15%3A08%3A39.573Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:08:39 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH23W7DSM2XAT1TV0KT1JP" - } - }, - { - "recorded_at": "2018-11-16T15:08:43", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH275GR7P40XCZ0SV20B15" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNjTVjSh3Dyt29TQwc87Nck72yM0wjvLzdMsNNDYxUNJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9CsM3VOzIlKNbMsiPCvcEnMr8x3TAopDHJzL0yKBGlKSS3LTE6Nz0wBmQzhKNUCAEWJsAy6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:43 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH275GR7P40XCZ0SV20B15" - } - }, - { - "recorded_at": "2018-11-16T15:08:43", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Porro+molestiae+odit+eligendi+sint+illum+sint+repellat+earum.+Aliquid+omnis+quidem+ad+recusandae+in+blanditiis.%0ALabore+quasi+tenetur+quae+earum+eligendi+velit.+Dolores+ad+labore+asperiores+et+repellendus.+Facere+saepe+ullam+odit+laudantium.+Expedita+ex+non+iste+explicabo.%0AIpsum+laboriosam+dolor+suscipit+eaque+perspiciatis+nam+dolore+eligendi.+Molestiae+minus+odio+temporibus+repellat+quasi+cumque+quod+esse.+Ratione+eius+repellat+ipsa+dolorum.&link_type=any&name=1542380923_nihil&public_description=Incidunt+eaque+voluptate+ipsum+beatae+possimus+voluptatum.&title=Fugiat+rerum+accusamus+debitis+quam+minus.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2315-XwGVsEI06CmjCcHmh3ZNIFmQ340" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "684" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:43 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "77" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:46", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CWEH23W7DSM2XAT1TV0KT1JP&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2315-XwGVsEI06CmjCcHmh3ZNIFmQ340" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542380923_nihil/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:46 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "74" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380923_nihil/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:46", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542380923_nihil" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "75" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:46 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "74" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:46", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380923_nihil&text=Ea+a+vero+officia+quibusdam+facilis+autem.+Magnam+incidunt+dolorum+natus+occaecati+corporis+hic.&title=Quae+nesciunt+minus+molestias+delectus+porro." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "228" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380923_nihil/comments/9l/quae_nesciunt_minus_molestias_delectus_porro/\", \"id\": \"9l\", \"name\": \"t3_9l\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "171" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:46 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "74" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:46", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9l/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEa a vero officia quibusdam facilis autem. Magnam incidunt dolorum natus occaecati corporis hic.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Ea a vero officia quibusdam facilis autem. Magnam incidunt dolorum natus occaecati corporis hic.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9l\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9l/quae_nesciunt_minus_molestias_delectus_porro/\", \"locked\": false, \"name\": \"t3_9l\", \"created\": 1542380926.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9l/quae_nesciunt_minus_molestias_delectus_porro/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quae nesciunt minus molestias delectus porro.\", \"created_utc\": 1542380926.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1791" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:46 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "74" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=I88O1qzavgrmvkxIqK7c8AysEhF%2BzJ6S8BY%2FwfSTsMX2EKDAeryW%2FJCagtyx5sm%2F9Sz4GrcBVOYynJVqkp%2Fn%2FLmq8TplEjDP" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9l/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:49", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380923_nihil&text=Quidem+placeat+optio+officia.+Nostrum+optio+suscipit+nostrum+porro.&title=Voluptatem+culpa+ab+voluptatibus+accusantium." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "199" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380923_nihil/comments/9m/voluptatem_culpa_ab_voluptatibus_accusantium/\", \"id\": \"9m\", \"name\": \"t3_9m\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "171" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:49 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "71" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9m/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuidem placeat optio officia. Nostrum optio suscipit nostrum porro.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quidem placeat optio officia. Nostrum optio suscipit nostrum porro.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9m\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9m/voluptatem_culpa_ab_voluptatibus_accusantium/\", \"locked\": false, \"name\": \"t3_9m\", \"created\": 1542380929.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9m/voluptatem_culpa_ab_voluptatibus_accusantium/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Voluptatem culpa ab voluptatibus accusantium.\", \"created_utc\": 1542380929.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1733" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:49 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "71" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ieGdqDTBTmt5nj91eCyl8lEr3Eya5pSG7gN%2Ft6pNthUSkud19bUcIJdFmg6JUdhQp1SwyhZm0ugnc0XIFE%2BKaI0KxYFNFige" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9m/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380923_nihil&text=Aut+quae+ipsam+omnis+nisi+tempore.+Accusamus+praesentium+voluptatum+ipsum+ducimus+dolorum.&title=Voluptatem+nisi+dignissimos+excepturi+aliquam." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "223" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380923_nihil/comments/9n/voluptatem_nisi_dignissimos_excepturi_aliquam/\", \"id\": \"9n\", \"name\": \"t3_9n\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "68" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9n/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAut quae ipsam omnis nisi tempore. Accusamus praesentium voluptatum ipsum ducimus dolorum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Aut quae ipsam omnis nisi tempore. Accusamus praesentium voluptatum ipsum ducimus dolorum.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9n\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9n/voluptatem_nisi_dignissimos_excepturi_aliquam/\", \"locked\": false, \"name\": \"t3_9n\", \"created\": 1542380932.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9n/voluptatem_nisi_dignissimos_excepturi_aliquam/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Voluptatem nisi dignissimos excepturi aliquam.\", \"created_utc\": 1542380932.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1782" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "67" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=gztYv44nedbt%2FRFgmc9%2F1yQ7MIJ%2BDXsfCqyh80aRprpi2v9RytQ2a3M2pKLIjPAbCHvO1km9nbzdpXn%2FV6mIcqeRoDOeD2Ih" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9n/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380923_nihil&text=Nostrum+dolores+officiis+rem+dolor+voluptatibus.+Temporibus+quae+quisquam+a.&title=Error+facere+nisi+magnam+nam." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "192" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380923_nihil/comments/9o/error_facere_nisi_magnam_nam/\", \"id\": \"9o\", \"name\": \"t3_9o\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "155" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "64" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9o/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENostrum dolores officiis rem dolor voluptatibus. Temporibus quae quisquam a.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Nostrum dolores officiis rem dolor voluptatibus. Temporibus quae quisquam a.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9o\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9o/error_facere_nisi_magnam_nam/\", \"locked\": false, \"name\": \"t3_9o\", \"created\": 1542380936.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9o/error_facere_nisi_magnam_nam/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Error facere nisi magnam nam.\", \"created_utc\": 1542380936.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1703" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "64" - ], - "x-ratelimit-used": [ - "9" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=V6o8XIYhpSnE%2Bzysa7HWKCj9OD0dgDvhPP29CXJd1pG529fSh5k%2BZ2S98JS9%2BbQfOfDOSMzuEQh52ujNw0dpE0Sd6T50MT3G" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9o/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380923_nihil&text=Beatae+est+veritatis+magnam.+Illum+delectus+occaecati+libero+quis+amet+natus.&title=Quae+magni+possimus+inventore+quam." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "199" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380923_nihil/comments/9p/quae_magni_possimus_inventore_quam/\", \"id\": \"9p\", \"name\": \"t3_9p\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "161" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "61" - ], - "x-ratelimit-used": [ - "10" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9p/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EBeatae est veritatis magnam. Illum delectus occaecati libero quis amet natus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Beatae est veritatis magnam. Illum delectus occaecati libero quis amet natus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9p\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9p/quae_magni_possimus_inventore_quam/\", \"locked\": false, \"name\": \"t3_9p\", \"created\": 1542380939.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9p/quae_magni_possimus_inventore_quam/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quae magni possimus inventore quam.\", \"created_utc\": 1542380939.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1723" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "289.0" - ], - "x-ratelimit-reset": [ - "61" - ], - "x-ratelimit-used": [ - "11" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=DJXFzf3BEFAhA7lFlQ4zDbHCORWG95lm2eh8u2%2FYzdPq2uIkTTL10culqXI5gnyZrxNjKM9kfOvjWThCnyTHVihE3gCM%2Bajj" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9p/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380923_nihil&text=Deleniti+dolore+suscipit+odit+iure+illum.+Optio+excepturi+perspiciatis+amet+officia.&title=A+ea+minus+illum+nobis+sapiente+tempore." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "211" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380923_nihil/comments/9q/a_ea_minus_illum_nobis_sapiente_tempore/\", \"id\": \"9q\", \"name\": \"t3_9q\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "166" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "288.0" - ], - "x-ratelimit-reset": [ - "58" - ], - "x-ratelimit-used": [ - "12" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9q/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDeleniti dolore suscipit odit iure illum. Optio excepturi perspiciatis amet officia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Deleniti dolore suscipit odit iure illum. Optio excepturi perspiciatis amet officia.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9q\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9q/a_ea_minus_illum_nobis_sapiente_tempore/\", \"locked\": false, \"name\": \"t3_9q\", \"created\": 1542380942.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9q/a_ea_minus_illum_nobis_sapiente_tempore/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"A ea minus illum nobis sapiente tempore.\", \"created_utc\": 1542380942.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1752" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "287.0" - ], - "x-ratelimit-reset": [ - "58" - ], - "x-ratelimit-used": [ - "13" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=a5Mw4ILb9NE9B6tHIhwkSiQ6%2Fr2QRjkgBUOO9uVfKcujiR8zTnvn6FwRqGX3i7d5C4Vx6%2FjEPEBpegUaykA3Bob%2Bjo%2B1%2FeA2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9q/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380923_nihil&text=Necessitatibus+autem+ullam+nam+quasi.+Rem+atque+optio+quod+ipsam.+Quos+autem+aut+officiis+optio.&title=Non+repellendus+quibusdam+sint+alias." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "220" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380923_nihil/comments/9r/non_repellendus_quibusdam_sint_alias/\", \"id\": \"9r\", \"name\": \"t3_9r\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "163" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "286.0" - ], - "x-ratelimit-reset": [ - "55" - ], - "x-ratelimit-used": [ - "14" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9r/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENecessitatibus autem ullam nam quasi. Rem atque optio quod ipsam. Quos autem aut officiis optio.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Necessitatibus autem ullam nam quasi. Rem atque optio quod ipsam. Quos autem aut officiis optio.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9r\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9r/non_repellendus_quibusdam_sint_alias/\", \"locked\": false, \"name\": \"t3_9r\", \"created\": 1542380945.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9r/non_repellendus_quibusdam_sint_alias/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Non repellendus quibusdam sint alias.\", \"created_utc\": 1542380945.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1767" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "285.0" - ], - "x-ratelimit-reset": [ - "55" - ], - "x-ratelimit-used": [ - "15" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=%2FWezm%2BlNjoMXOcmzxmOPOWqUDenFl5YccQNVqkzSIV5NGgEfX3cIr71tWW6V06Si0fNl2TtQoNCVpkDGXvAsKvIzuepH5qDN" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9r/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380923_nihil&text=Officiis+vitae+error+velit.+Fuga+repellendus+consectetur+sequi+fugiat.+Minima+modi+ipsa+nam+totam.&title=Hic+dicta+qui+voluptas." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "208" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380923_nihil/comments/9s/hic_dicta_qui_voluptas/\", \"id\": \"9s\", \"name\": \"t3_9s\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "284.0" - ], - "x-ratelimit-reset": [ - "52" - ], - "x-ratelimit-used": [ - "16" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9s/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOfficiis vitae error velit. Fuga repellendus consectetur sequi fugiat. Minima modi ipsa nam totam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Officiis vitae error velit. Fuga repellendus consectetur sequi fugiat. Minima modi ipsa nam totam.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9s\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9s/hic_dicta_qui_voluptas/\", \"locked\": false, \"name\": \"t3_9s\", \"created\": 1542380948.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9s/hic_dicta_qui_voluptas/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Hic dicta qui voluptas.\", \"created_utc\": 1542380948.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1729" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "283.0" - ], - "x-ratelimit-reset": [ - "52" - ], - "x-ratelimit-used": [ - "17" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=t0cmmK3h0YQbXyt7cOQ4HGTawImzYSjDXft41HzUf8D4fgy9oLSEH5iPfKkUVFa6OAOgg3N6ufaZyB78vxrC6uJnO57NVVx%2B" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9s/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380923_nihil&text=At+magnam+blanditiis+provident+culpa+beatae+recusandae+optio.+Harum+amet+vitae+porro+quae.&title=Nostrum+sint+nobis+maiores+cupiditate." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "215" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380923_nihil/comments/9t/nostrum_sint_nobis_maiores_cupiditate/\", \"id\": \"9t\", \"name\": \"t3_9t\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "164" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "282.0" - ], - "x-ratelimit-reset": [ - "49" - ], - "x-ratelimit-used": [ - "18" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9t/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAt magnam blanditiis provident culpa beatae recusandae optio. Harum amet vitae porro quae.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"At magnam blanditiis provident culpa beatae recusandae optio. Harum amet vitae porro quae.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9t\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9t/nostrum_sint_nobis_maiores_cupiditate/\", \"locked\": false, \"name\": \"t3_9t\", \"created\": 1542380951.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9t/nostrum_sint_nobis_maiores_cupiditate/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Nostrum sint nobis maiores cupiditate.\", \"created_utc\": 1542380951.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1758" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "281.0" - ], - "x-ratelimit-reset": [ - "49" - ], - "x-ratelimit-used": [ - "19" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=yULF3Sj08KCfABWPTQCrxNMM9ArwLesX4F6dFj5loSBOQj99vsuvOVf%2FGPPrip5DfE%2BZnWXmN8NfeniV0Fq8DVRRfjUpq%2FWa" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9t/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380923_nihil&text=Totam+aperiam+voluptates+ut+doloribus.+Unde+veniam+molestiae+totam+pariatur+porro+doloribus+fugiat.&title=Ipsum+quod+sit+inventore+cumque+fugiat." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "225" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380923_nihil/comments/9u/ipsum_quod_sit_inventore_cumque_fugiat/\", \"id\": \"9u\", \"name\": \"t3_9u\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "165" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "280.0" - ], - "x-ratelimit-reset": [ - "46" - ], - "x-ratelimit-used": [ - "20" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9u/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ETotam aperiam voluptates ut doloribus. Unde veniam molestiae totam pariatur porro doloribus fugiat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Totam aperiam voluptates ut doloribus. Unde veniam molestiae totam pariatur porro doloribus fugiat.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9u\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9u/ipsum_quod_sit_inventore_cumque_fugiat/\", \"locked\": false, \"name\": \"t3_9u\", \"created\": 1542380954.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9u/ipsum_quod_sit_inventore_cumque_fugiat/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Ipsum quod sit inventore cumque fugiat.\", \"created_utc\": 1542380954.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1779" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "279.0" - ], - "x-ratelimit-reset": [ - "45" - ], - "x-ratelimit-used": [ - "21" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=6eGUIa3S%2BZTBU8KVY7dv6kW6AezBuc68Yy95hx3KcB%2F%2BVOCmItVVE3UTjO35FOmipEcosdsP%2BzK21nR9s0HJS8JiTl%2B4Nd%2FC" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9u/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380923_nihil&text=Necessitatibus+ipsa+ab+adipisci+in.+Atque+alias+ratione+fuga+ex.&title=Veritatis+expedita+architecto+dolor+ea." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "190" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380923_nihil/comments/9v/veritatis_expedita_architecto_dolor_ea/\", \"id\": \"9v\", \"name\": \"t3_9v\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "165" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "278.0" - ], - "x-ratelimit-reset": [ - "42" - ], - "x-ratelimit-used": [ - "22" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9v/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENecessitatibus ipsa ab adipisci in. Atque alias ratione fuga ex.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Necessitatibus ipsa ab adipisci in. Atque alias ratione fuga ex.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9v\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9v/veritatis_expedita_architecto_dolor_ea/\", \"locked\": false, \"name\": \"t3_9v\", \"created\": 1542380958.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9v/veritatis_expedita_architecto_dolor_ea/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Veritatis expedita architecto dolor ea.\", \"created_utc\": 1542380958.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1709" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "277.0" - ], - "x-ratelimit-reset": [ - "42" - ], - "x-ratelimit-used": [ - "23" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=j8TRLkwhQqpGcJMOiHI5fkBV9qHBQzFDcdTCSVQoovm03TLr29mxlWvB%2BFleUSmj7b4xojpyPqrCYJPMg8Qn7xSWpXlrBxru" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9v/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380923_nihil&text=Odio+rem+ipsum+delectus+officia+quo.+Corrupti+molestias+nobis+non+laboriosam+accusantium+sit.&title=Magnam+placeat+deserunt+unde+minima+rem+cumque." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "227" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380923_nihil/comments/9w/magnam_placeat_deserunt_unde_minima_rem_cumque/\", \"id\": \"9w\", \"name\": \"t3_9w\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "173" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "276.0" - ], - "x-ratelimit-reset": [ - "39" - ], - "x-ratelimit-used": [ - "24" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9w/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOdio rem ipsum delectus officia quo. Corrupti molestias nobis non laboriosam accusantium sit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Odio rem ipsum delectus officia quo. Corrupti molestias nobis non laboriosam accusantium sit.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9w\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9w/magnam_placeat_deserunt_unde_minima_rem_cumque/\", \"locked\": false, \"name\": \"t3_9w\", \"created\": 1542380961.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9w/magnam_placeat_deserunt_unde_minima_rem_cumque/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Magnam placeat deserunt unde minima rem cumque.\", \"created_utc\": 1542380961.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1791" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "275.0" - ], - "x-ratelimit-reset": [ - "39" - ], - "x-ratelimit-used": [ - "25" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=6WLCj5sBhkjT2ARIYMKFcOMc2jc%2Bs4NX2DQg%2FQSZMKuMYCoIp7yo4Z73iZKTzWmFASZXMKuy8niGHeD5Kgifihbov64OQcO4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9w/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380923_nihil&text=Praesentium+odit+sunt+sequi+ad+aspernatur.+Nulla+beatae+dolorum+eos+a.&title=Rem+pariatur+sint+vel+incidunt+in+a+praesentium." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "205" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380923_nihil/comments/9x/rem_pariatur_sint_vel_incidunt_in_a_praesentium/\", \"id\": \"9x\", \"name\": \"t3_9x\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "174" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "274.0" - ], - "x-ratelimit-reset": [ - "36" - ], - "x-ratelimit-used": [ - "26" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9x/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPraesentium odit sunt sequi ad aspernatur. Nulla beatae dolorum eos a.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Praesentium odit sunt sequi ad aspernatur. Nulla beatae dolorum eos a.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9x\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9x/rem_pariatur_sint_vel_incidunt_in_a_praesentium/\", \"locked\": false, \"name\": \"t3_9x\", \"created\": 1542380964.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9x/rem_pariatur_sint_vel_incidunt_in_a_praesentium/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Rem pariatur sint vel incidunt in a praesentium.\", \"created_utc\": 1542380964.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1748" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "273.0" - ], - "x-ratelimit-reset": [ - "36" - ], - "x-ratelimit-used": [ - "27" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ITrCVnnWYvyruyoYoVpDwM046g3hrIZ9Bq%2FYek0rMvvrL3a13DY73K%2B1HRmxNuJyWc1lysiiKO3TaPl5EQ7xs1OZ93z6dmz7" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9x/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380923_nihil&text=Ducimus+eum+consectetur+eaque+natus+assumenda+perferendis.+Ab+eius+amet+distinctio+iusto.&title=Quod+officiis+ullam+optio+tempore+sint." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "215" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380923_nihil/comments/9y/quod_officiis_ullam_optio_tempore_sint/\", \"id\": \"9y\", \"name\": \"t3_9y\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "165" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "272.0" - ], - "x-ratelimit-reset": [ - "33" - ], - "x-ratelimit-used": [ - "28" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9y/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDucimus eum consectetur eaque natus assumenda perferendis. Ab eius amet distinctio iusto.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Ducimus eum consectetur eaque natus assumenda perferendis. Ab eius amet distinctio iusto.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9y\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9y/quod_officiis_ullam_optio_tempore_sint/\", \"locked\": false, \"name\": \"t3_9y\", \"created\": 1542380967.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9y/quod_officiis_ullam_optio_tempore_sint/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quod officiis ullam optio tempore sint.\", \"created_utc\": 1542380967.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1759" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "271.0" - ], - "x-ratelimit-reset": [ - "33" - ], - "x-ratelimit-used": [ - "29" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=OO6wgP6entS6kBLCZ6sPP7lxITVXJcWkoFUlznDZ30BBDneix6Mv1byGCi7oTIy5jvN2LNrticUoXME1JMv%2FKGYxjPcBEQc5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9y/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380923_nihil&text=Id+beatae+cumque+occaecati+cum+deserunt+veniam.+Vero+nisi+eveniet+magni.&title=Labore+nam+voluptas+ab." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "182" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380923_nihil/comments/9z/labore_nam_voluptas_ab/\", \"id\": \"9z\", \"name\": \"t3_9z\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "270.0" - ], - "x-ratelimit-reset": [ - "30" - ], - "x-ratelimit-used": [ - "30" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9z/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EId beatae cumque occaecati cum deserunt veniam. Vero nisi eveniet magni.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Id beatae cumque occaecati cum deserunt veniam. Vero nisi eveniet magni.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9z\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9z/labore_nam_voluptas_ab/\", \"locked\": false, \"name\": \"t3_9z\", \"created\": 1542380970.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9z/labore_nam_voluptas_ab/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Labore nam voluptas ab.\", \"created_utc\": 1542380970.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1677" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "269.0" - ], - "x-ratelimit-reset": [ - "30" - ], - "x-ratelimit-used": [ - "31" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=GMIL%2BqeIhtgm4x998Ni7Twa3Ugb5Ae%2Fr1dXXmsP1h2MMdQ63lcQ1iaeh%2BTevc65LIgFwvOj%2BCZWw2T5nUxtav7hzlEAjZqYK" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9z/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380923_nihil/hot?count=0&limit=5&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380923_nihil\", \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EId beatae cumque occaecati cum deserunt veniam. Vero nisi eveniet magni.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Id beatae cumque occaecati cum deserunt veniam. Vero nisi eveniet magni.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9z\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"name\": \"t3_9z\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9z/labore_nam_voluptas_ab/\", \"locked\": false, \"stickied\": false, \"created\": 1542380970.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9z/labore_nam_voluptas_ab/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Labore nam voluptas ab.\", \"created_utc\": 1542380970.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380923_nihil\", \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDucimus eum consectetur eaque natus assumenda perferendis. Ab eius amet distinctio iusto.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Ducimus eum consectetur eaque natus assumenda perferendis. Ab eius amet distinctio iusto.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9y\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"name\": \"t3_9y\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9y/quod_officiis_ullam_optio_tempore_sint/\", \"locked\": false, \"stickied\": false, \"created\": 1542380967.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9y/quod_officiis_ullam_optio_tempore_sint/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quod officiis ullam optio tempore sint.\", \"created_utc\": 1542380967.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380923_nihil\", \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPraesentium odit sunt sequi ad aspernatur. Nulla beatae dolorum eos a.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Praesentium odit sunt sequi ad aspernatur. Nulla beatae dolorum eos a.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9x\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"name\": \"t3_9x\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9x/rem_pariatur_sint_vel_incidunt_in_a_praesentium/\", \"locked\": false, \"stickied\": false, \"created\": 1542380964.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9x/rem_pariatur_sint_vel_incidunt_in_a_praesentium/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Rem pariatur sint vel incidunt in a praesentium.\", \"created_utc\": 1542380964.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380923_nihil\", \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOdio rem ipsum delectus officia quo. Corrupti molestias nobis non laboriosam accusantium sit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Odio rem ipsum delectus officia quo. Corrupti molestias nobis non laboriosam accusantium sit.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9w\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"name\": \"t3_9w\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9w/magnam_placeat_deserunt_unde_minima_rem_cumque/\", \"locked\": false, \"stickied\": false, \"created\": 1542380961.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9w/magnam_placeat_deserunt_unde_minima_rem_cumque/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Magnam placeat deserunt unde minima rem cumque.\", \"created_utc\": 1542380961.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380923_nihil\", \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENecessitatibus ipsa ab adipisci in. Atque alias ratione fuga ex.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Necessitatibus ipsa ab adipisci in. Atque alias ratione fuga ex.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9v\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"name\": \"t3_9v\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9v/veritatis_expedita_architecto_dolor_ea/\", \"locked\": false, \"stickied\": false, \"created\": 1542380958.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9v/veritatis_expedita_architecto_dolor_ea/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Veritatis expedita architecto dolor ea.\", \"created_utc\": 1542380958.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": \"t3_9v\", \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "7733" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "268.0" - ], - "x-ratelimit-reset": [ - "27" - ], - "x-ratelimit-used": [ - "32" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=KRZ%2BhROnN5QZjDJsaIXeAHlc%2FpxWILxFXKemdCKynTWn0LPcOKl8O3RI4E2eupYGRbZ3STSk4WSWsePmQo9Ajm5j5qySO8LT" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380923_nihil/hot?count=0&limit=5&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9z/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EId beatae cumque occaecati cum deserunt veniam. Vero nisi eveniet magni.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Id beatae cumque occaecati cum deserunt veniam. Vero nisi eveniet magni.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9z\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9z/labore_nam_voluptas_ab/\", \"locked\": false, \"name\": \"t3_9z\", \"created\": 1542380970.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9z/labore_nam_voluptas_ab/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Labore nam voluptas ab.\", \"created_utc\": 1542380970.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1677" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "267.0" - ], - "x-ratelimit-reset": [ - "27" - ], - "x-ratelimit-used": [ - "33" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=%2B%2FXcrQid6%2BuGGCVTf6BwJBBm66FERtyq5Vea7F6bp11FTGlIpj3G1UC5R6G1o7h%2BJ%2Fr1f40jakeyYgSSY0%2Bh%2Bp9IDGIVHLoU" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9z/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380923_nihil/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5w\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380923_nihil\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPorro molestiae odit eligendi sint illum sint repellat earum. Aliquid omnis quidem ad recusandae in blanditiis.\\nLabore quasi tenetur quae earum eligendi velit. Dolores ad labore asperiores et repellendus. Facere saepe ullam odit laudantium. Expedita ex non iste explicabo.\\nIpsum laboriosam dolor suscipit eaque perspiciatis nam dolore eligendi. Molestiae minus odio temporibus repellat quasi cumque quod esse. Ratione eius repellat ipsa dolorum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Fugiat rerum accusamus debitis quam minus.\", \"collapse_deleted_comments\": false, \"public_description\": \"Incidunt eaque voluptate ipsum beatae possimus voluptatum.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIncidunt eaque voluptate ipsum beatae possimus voluptatum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Porro molestiae odit eligendi sint illum sint repellat earum. Aliquid omnis quidem ad recusandae in blanditiis.\\nLabore quasi tenetur quae earum eligendi velit. Dolores ad labore asperiores et repellendus. Facere saepe ullam odit laudantium. Expedita ex non iste explicabo.\\nIpsum laboriosam dolor suscipit eaque perspiciatis nam dolore eligendi. Molestiae minus odio temporibus repellat quasi cumque quod esse. Ratione eius repellat ipsa dolorum.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5w\", \"created\": 1542380923.0, \"url\": \"/r/1542380923_nihil/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380923.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2371" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "266.0" - ], - "x-ratelimit-reset": [ - "27" - ], - "x-ratelimit-used": [ - "34" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=%2B5tNsKvGgGe%2FIgAQkNQU6I%2BU2RBmB9bjtBYoYDok9%2BYimyDGDl2rqezV%2B1fyrUQiGBRkgYOk%2FKf1LOgOnpojIEnJSeyYb5Cx" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380923_nihil/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9y/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDucimus eum consectetur eaque natus assumenda perferendis. Ab eius amet distinctio iusto.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Ducimus eum consectetur eaque natus assumenda perferendis. Ab eius amet distinctio iusto.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9y\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9y/quod_officiis_ullam_optio_tempore_sint/\", \"locked\": false, \"name\": \"t3_9y\", \"created\": 1542380967.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9y/quod_officiis_ullam_optio_tempore_sint/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quod officiis ullam optio tempore sint.\", \"created_utc\": 1542380967.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1759" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "265.0" - ], - "x-ratelimit-reset": [ - "27" - ], - "x-ratelimit-used": [ - "35" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=nmzd7m89mGMqlee5xw3IygT2p51GVCfr7RiFgHB0sHLQw%2FupmXjFkGZmUDE97bI817pM%2BMDaT0ffE6lag9wq3aRoGl%2FBys4k" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9y/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380923_nihil/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5w\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380923_nihil\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPorro molestiae odit eligendi sint illum sint repellat earum. Aliquid omnis quidem ad recusandae in blanditiis.\\nLabore quasi tenetur quae earum eligendi velit. Dolores ad labore asperiores et repellendus. Facere saepe ullam odit laudantium. Expedita ex non iste explicabo.\\nIpsum laboriosam dolor suscipit eaque perspiciatis nam dolore eligendi. Molestiae minus odio temporibus repellat quasi cumque quod esse. Ratione eius repellat ipsa dolorum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Fugiat rerum accusamus debitis quam minus.\", \"collapse_deleted_comments\": false, \"public_description\": \"Incidunt eaque voluptate ipsum beatae possimus voluptatum.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIncidunt eaque voluptate ipsum beatae possimus voluptatum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Porro molestiae odit eligendi sint illum sint repellat earum. Aliquid omnis quidem ad recusandae in blanditiis.\\nLabore quasi tenetur quae earum eligendi velit. Dolores ad labore asperiores et repellendus. Facere saepe ullam odit laudantium. Expedita ex non iste explicabo.\\nIpsum laboriosam dolor suscipit eaque perspiciatis nam dolore eligendi. Molestiae minus odio temporibus repellat quasi cumque quod esse. Ratione eius repellat ipsa dolorum.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5w\", \"created\": 1542380923.0, \"url\": \"/r/1542380923_nihil/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380923.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2371" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "264.0" - ], - "x-ratelimit-reset": [ - "27" - ], - "x-ratelimit-used": [ - "36" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=5M3EipZ1uPACE%2FQK%2BMGLtc33IYyfz1F%2Buc3YmITH2ex3ha7BbzLi3F4Qug496LBmg%2Bgju83jYvX43JBNVJyvAyMKQs6eLLmk" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380923_nihil/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9x/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPraesentium odit sunt sequi ad aspernatur. Nulla beatae dolorum eos a.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Praesentium odit sunt sequi ad aspernatur. Nulla beatae dolorum eos a.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9x\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9x/rem_pariatur_sint_vel_incidunt_in_a_praesentium/\", \"locked\": false, \"name\": \"t3_9x\", \"created\": 1542380964.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9x/rem_pariatur_sint_vel_incidunt_in_a_praesentium/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Rem pariatur sint vel incidunt in a praesentium.\", \"created_utc\": 1542380964.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1748" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "263.0" - ], - "x-ratelimit-reset": [ - "27" - ], - "x-ratelimit-used": [ - "37" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=PmnhyJwHhmnvc4d8FJODYqihh4dPxfzJ8vCwBZ4mEgRr8RpK6fmxushk%2BMhF2AF5punOEei3fZLRgpfX8CJ2IK%2BcnU2WTPpD" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9x/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380923_nihil/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5w\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380923_nihil\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPorro molestiae odit eligendi sint illum sint repellat earum. Aliquid omnis quidem ad recusandae in blanditiis.\\nLabore quasi tenetur quae earum eligendi velit. Dolores ad labore asperiores et repellendus. Facere saepe ullam odit laudantium. Expedita ex non iste explicabo.\\nIpsum laboriosam dolor suscipit eaque perspiciatis nam dolore eligendi. Molestiae minus odio temporibus repellat quasi cumque quod esse. Ratione eius repellat ipsa dolorum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Fugiat rerum accusamus debitis quam minus.\", \"collapse_deleted_comments\": false, \"public_description\": \"Incidunt eaque voluptate ipsum beatae possimus voluptatum.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIncidunt eaque voluptate ipsum beatae possimus voluptatum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Porro molestiae odit eligendi sint illum sint repellat earum. Aliquid omnis quidem ad recusandae in blanditiis.\\nLabore quasi tenetur quae earum eligendi velit. Dolores ad labore asperiores et repellendus. Facere saepe ullam odit laudantium. Expedita ex non iste explicabo.\\nIpsum laboriosam dolor suscipit eaque perspiciatis nam dolore eligendi. Molestiae minus odio temporibus repellat quasi cumque quod esse. Ratione eius repellat ipsa dolorum.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5w\", \"created\": 1542380923.0, \"url\": \"/r/1542380923_nihil/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380923.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2371" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "262.0" - ], - "x-ratelimit-reset": [ - "26" - ], - "x-ratelimit-used": [ - "38" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=DYGgPMOFMaRuWLEOo3vWTCCHEFSL9aTZzkHLj2fe13dDhV2p9Iu8%2FfQZZmcQQEPdHcHAERdEbMDY5CsOBxhhmu%2B2X%2F5yILGu" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380923_nihil/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9w/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOdio rem ipsum delectus officia quo. Corrupti molestias nobis non laboriosam accusantium sit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Odio rem ipsum delectus officia quo. Corrupti molestias nobis non laboriosam accusantium sit.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9w\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9w/magnam_placeat_deserunt_unde_minima_rem_cumque/\", \"locked\": false, \"name\": \"t3_9w\", \"created\": 1542380961.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9w/magnam_placeat_deserunt_unde_minima_rem_cumque/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Magnam placeat deserunt unde minima rem cumque.\", \"created_utc\": 1542380961.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1791" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "261.0" - ], - "x-ratelimit-reset": [ - "26" - ], - "x-ratelimit-used": [ - "39" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=bfdPfEpou07A47jIxPKCgq8TWpvoUw%2FIsUUsaAzvhKlByP0wYHDJEZOeRMuYLIfJRtXA%2FNSV%2B%2Bw%2F29BugYoO46SylGNUpgWl" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9w/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380923_nihil/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5w\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380923_nihil\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPorro molestiae odit eligendi sint illum sint repellat earum. Aliquid omnis quidem ad recusandae in blanditiis.\\nLabore quasi tenetur quae earum eligendi velit. Dolores ad labore asperiores et repellendus. Facere saepe ullam odit laudantium. Expedita ex non iste explicabo.\\nIpsum laboriosam dolor suscipit eaque perspiciatis nam dolore eligendi. Molestiae minus odio temporibus repellat quasi cumque quod esse. Ratione eius repellat ipsa dolorum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Fugiat rerum accusamus debitis quam minus.\", \"collapse_deleted_comments\": false, \"public_description\": \"Incidunt eaque voluptate ipsum beatae possimus voluptatum.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIncidunt eaque voluptate ipsum beatae possimus voluptatum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Porro molestiae odit eligendi sint illum sint repellat earum. Aliquid omnis quidem ad recusandae in blanditiis.\\nLabore quasi tenetur quae earum eligendi velit. Dolores ad labore asperiores et repellendus. Facere saepe ullam odit laudantium. Expedita ex non iste explicabo.\\nIpsum laboriosam dolor suscipit eaque perspiciatis nam dolore eligendi. Molestiae minus odio temporibus repellat quasi cumque quod esse. Ratione eius repellat ipsa dolorum.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5w\", \"created\": 1542380923.0, \"url\": \"/r/1542380923_nihil/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380923.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2371" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "260.0" - ], - "x-ratelimit-reset": [ - "26" - ], - "x-ratelimit-used": [ - "40" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=d%2Fa5UBr8pd%2Fi1hZwQgsoC3ycyh68bbr1HAo0trXxO%2Bey6NCrvNIePc3CSr5r9XGWKOy5o1ITVlzMCxogXIdZJvevBAiknRZu" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380923_nihil/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9v/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380923_nihil\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENecessitatibus ipsa ab adipisci in. Atque alias ratione fuga ex.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Necessitatibus ipsa ab adipisci in. Atque alias ratione fuga ex.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9v\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH23W7DSM2XAT1TV0KT1JP\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380923_nihil\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380923_nihil/comments/9v/veritatis_expedita_architecto_dolor_ea/\", \"locked\": false, \"name\": \"t3_9v\", \"created\": 1542380958.0, \"url\": \"http://reddit.local/r/1542380923_nihil/comments/9v/veritatis_expedita_architecto_dolor_ea/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Veritatis expedita architecto dolor ea.\", \"created_utc\": 1542380958.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1709" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "259.0" - ], - "x-ratelimit-reset": [ - "26" - ], - "x-ratelimit-used": [ - "41" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=guhzId6KtUddBIwJ5afPIRlVNdP65q14PILCIHM102vJcaYtG77U9LcHKr26H%2FCwMnUDck1Fg3tFCLezDQ%2B6qm5NMUABloEZ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9v/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2314-MWmAVrteS7-_5fdrI1vOJ49fh9c" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=m58mxsYeeuMBDSyxXh; loidcreated=2018-11-16T15%3A08%3A39.573Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380923_nihil/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5w\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380923_nihil\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPorro molestiae odit eligendi sint illum sint repellat earum. Aliquid omnis quidem ad recusandae in blanditiis.\\nLabore quasi tenetur quae earum eligendi velit. Dolores ad labore asperiores et repellendus. Facere saepe ullam odit laudantium. Expedita ex non iste explicabo.\\nIpsum laboriosam dolor suscipit eaque perspiciatis nam dolore eligendi. Molestiae minus odio temporibus repellat quasi cumque quod esse. Ratione eius repellat ipsa dolorum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Fugiat rerum accusamus debitis quam minus.\", \"collapse_deleted_comments\": false, \"public_description\": \"Incidunt eaque voluptate ipsum beatae possimus voluptatum.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIncidunt eaque voluptate ipsum beatae possimus voluptatum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Porro molestiae odit eligendi sint illum sint repellat earum. Aliquid omnis quidem ad recusandae in blanditiis.\\nLabore quasi tenetur quae earum eligendi velit. Dolores ad labore asperiores et repellendus. Facere saepe ullam odit laudantium. Expedita ex non iste explicabo.\\nIpsum laboriosam dolor suscipit eaque perspiciatis nam dolore eligendi. Molestiae minus odio temporibus repellat quasi cumque quod esse. Ratione eius repellat ipsa dolorum.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5w\", \"created\": 1542380923.0, \"url\": \"/r/1542380923_nihil/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380923.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2371" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "258.0" - ], - "x-ratelimit-reset": [ - "26" - ], - "x-ratelimit-used": [ - "42" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=6zMHeE6nhh8UdMIFwSTkPwQJRGPxzccGFAU4LKN%2BkMfsJgg3bRue6IvBz%2BA7ts1vjlpjEuPb%2BnGlF2MSBVeV1%2FnOhB4scczM" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380923_nihil/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_list_posts_pagination_first_page_with_params.json b/cassettes/channels.views.posts_test.test_list_posts_pagination_first_page_with_params.json deleted file mode 100644 index aa24555c8d..0000000000 --- a/cassettes/channels.views.posts_test.test_list_posts_pagination_first_page_with_params.json +++ /dev/null @@ -1,4112 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:09:37", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH3W6FCJJ009MBK960S1YB" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNjTTLbJILTSLMgpKN813T4rPDSnMdis1NjasdMyyUNJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9CsS0w3NPdODHXzd6ny8o4q9y4JSDIxD0l09U7LBmlKSS3LTE6Nz0wBmQzhKNUCAHBU5u66AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:09:37 GMT", - "loidcreated=2018-11-16T15%3A09%3A37.287Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:09:37 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH3W6FCJJ009MBK960S1YB" - } - }, - { - "recorded_at": "2018-11-16T15:09:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH3ZFZ5Q9DCAYZ8BZ4Z1DJ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNjTXTSwJMTbJjPdNSw0y8vIuLIyITDEJdkkMMfN1VdJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9CsyzFwtig3KvMKrHALi49Ij/R1qkwCMsIDAz1BmlJSyzKTU+MzU0AmQzhKtQBmF/IHugAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH3ZFZ5Q9DCAYZ8BZ4Z1DJ" - } - }, - { - "recorded_at": "2018-11-16T15:09:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Laborum+illum+omnis+debitis+quae+rem+quasi.+Vero+assumenda+laboriosam+minus+animi+nam+accusamus+impedit.+Sit+maiores+voluptatem+exercitationem+recusandae+aliquid+ipsum+aspernatur.%0AFugiat+ullam+dolor+cumque+quos+debitis+officia+perferendis.+Quasi+cupiditate+autem+qui+ipsam+quas+laborum.+Laboriosam+porro+voluptate+delectus+nihil.+At+exercitationem+quasi+soluta+architecto+labore.%0AVitae+eveniet+ab+itaque+itaque+possimus.+Omnis+voluptas+aliquid+blanditiis+sequi.&link_type=any&name=1542380981_magni&public_description=Aperiam+voluptate+necessitatibus+blanditiis+quos+officia+saepe+debitis.&title=Esse+incidunt+modi+veritatis.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2317-atT34i_MfeR2JKqqXYd4SDaT6ME" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "700" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "19" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:44", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CWEH3W6FCJJ009MBK960S1YB&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2317-atT34i_MfeR2JKqqXYd4SDaT6ME" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542380981_magni/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:44 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "16" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380981_magni/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:44", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542380981_magni" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "75" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:44 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "16" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:44", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380981_magni&text=Sequi+sit+quis+quaerat.+Dolor+mollitia+eaque+ipsa+enim+odit+quibusdam.&title=Officia+quas+eius+architecto." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "186" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380981_magni/comments/a0/officia_quas_eius_architecto/\", \"id\": \"a0\", \"name\": \"t3_a0\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "155" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:44 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "16" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:44", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/a0/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESequi sit quis quaerat. Dolor mollitia eaque ipsa enim odit quibusdam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Sequi sit quis quaerat. Dolor mollitia eaque ipsa enim odit quibusdam.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"a0\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/a0/officia_quas_eius_architecto/\", \"locked\": false, \"name\": \"t3_a0\", \"created\": 1542380984.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/a0/officia_quas_eius_architecto/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Officia quas eius architecto.\", \"created_utc\": 1542380984.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1691" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:44 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "16" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=6u0pE8%2F2rKcuwHZ9rPkDMneOfdwYtq5D3sn7P3YS%2BG1jwZjDODBinkOnbBm934fSpEiOKep%2FvJDLJ3%2FC%2BkqgKDQJIPJgltaE" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/a0/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:47", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380981_magni&text=Delectus+quaerat+at+modi+fuga.+Nulla+veniam+alias+neque+iste.&title=Libero+molestias+unde+similique+quasi." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "186" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380981_magni/comments/a1/libero_molestias_unde_similique_quasi/\", \"id\": \"a1\", \"name\": \"t3_a1\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "164" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "13" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:47", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/a1/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDelectus quaerat at modi fuga. Nulla veniam alias neque iste.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Delectus quaerat at modi fuga. Nulla veniam alias neque iste.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"a1\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/a1/libero_molestias_unde_similique_quasi/\", \"locked\": false, \"name\": \"t3_a1\", \"created\": 1542380987.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/a1/libero_molestias_unde_similique_quasi/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Libero molestias unde similique quasi.\", \"created_utc\": 1542380987.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1700" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "13" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=MfXKgAiw6MbBt1UX1gEjmyRZf4UCIdM2J%2FRPP%2Brq%2Bgn8VfUN%2BuXsiMlCTBOM4Nu3qMGo6uBuzY2tuXqV06778eAU6R8Lv5eZ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/a1/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380981_magni&text=Doloribus+sapiente+corrupti+quaerat+nostrum+laborum.+Iste+eum+laboriosam+tenetur+doloremque.&title=Quos+dolor+ratione+harum+tenetur+illum+inventore." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "228" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380981_magni/comments/a2/quos_dolor_ratione_harum_tenetur_illum_inventore/\", \"id\": \"a2\", \"name\": \"t3_a2\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "175" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "10" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/a2/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDoloribus sapiente corrupti quaerat nostrum laborum. Iste eum laboriosam tenetur doloremque.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Doloribus sapiente corrupti quaerat nostrum laborum. Iste eum laboriosam tenetur doloremque.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"a2\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/a2/quos_dolor_ratione_harum_tenetur_illum_inventore/\", \"locked\": false, \"name\": \"t3_a2\", \"created\": 1542380990.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/a2/quos_dolor_ratione_harum_tenetur_illum_inventore/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quos dolor ratione harum tenetur illum inventore.\", \"created_utc\": 1542380990.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1795" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "10" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=cQlktO0R7F556PKBY9MaQ7GtQUm6iH3fcqLrCm5XWRZ4E2%2FxXyP8tv%2FGCBHXhqX131c6K%2FdNiDWhKHnu3FX0zg9LBQs2rEQr" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/a2/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380981_magni&text=Totam+voluptatibus+repellat+ullam+ipsa.+Nostrum+aperiam+id+maxime.&title=Ipsam+nihil+non+autem+quia+itaque." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "187" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380981_magni/comments/a3/ipsam_nihil_non_autem_quia_itaque/\", \"id\": \"a3\", \"name\": \"t3_a3\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "160" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "7" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/a3/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ETotam voluptatibus repellat ullam ipsa. Nostrum aperiam id maxime.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Totam voluptatibus repellat ullam ipsa. Nostrum aperiam id maxime.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"a3\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/a3/ipsam_nihil_non_autem_quia_itaque/\", \"locked\": false, \"name\": \"t3_a3\", \"created\": 1542380993.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/a3/ipsam_nihil_non_autem_quia_itaque/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Ipsam nihil non autem quia itaque.\", \"created_utc\": 1542380993.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1698" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "7" - ], - "x-ratelimit-used": [ - "9" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=bKhmAzDKaOWrA4MY5uU2a0bsYgDXWtzguF%2Fi7BwFTn4SEEdgivaCWkWGsqPVhz%2FPMLSH6Iak3pDNenH%2FryLUhHDXf2gSad9S" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/a3/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380981_magni&text=Dolorem+eaque+a+officia+ullam+tempore+omnis+nobis.+Minus+cumque+temporibus+labore+similique+animi.&title=Similique+molestias+et+itaque+laboriosam+quia." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "231" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380981_magni/comments/a4/similique_molestias_et_itaque_laboriosam_quia/\", \"id\": \"a4\", \"name\": \"t3_a4\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "4" - ], - "x-ratelimit-used": [ - "10" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:09:57", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/a4/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDolorem eaque a officia ullam tempore omnis nobis. Minus cumque temporibus labore similique animi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Dolorem eaque a officia ullam tempore omnis nobis. Minus cumque temporibus labore similique animi.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"a4\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/a4/similique_molestias_et_itaque_laboriosam_quia/\", \"locked\": false, \"name\": \"t3_a4\", \"created\": 1542380996.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/a4/similique_molestias_et_itaque_laboriosam_quia/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Similique molestias et itaque laboriosam quia.\", \"created_utc\": 1542380996.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1798" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:09:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "289.0" - ], - "x-ratelimit-reset": [ - "4" - ], - "x-ratelimit-used": [ - "11" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=IPo5x85E1WG9l%2BBKXIKIxvsQFlpBRYOVO2itgm0ROqjTBLrPxh4b173vD%2FYQRYcC3DgOj%2BjP059WGldpb05bQjWmYPRT1ypg" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/a4/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380981_magni&text=Suscipit+illo+ex+rerum.+Quas+praesentium+similique+alias+ad+fuga+esse.&title=Eius+corporis+nemo+nobis+recusandae." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "193" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380981_magni/comments/a5/eius_corporis_nemo_nobis_recusandae/\", \"id\": \"a5\", \"name\": \"t3_a5\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "162" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "1" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/a5/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESuscipit illo ex rerum. Quas praesentium similique alias ad fuga esse.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Suscipit illo ex rerum. Quas praesentium similique alias ad fuga esse.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"a5\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/a5/eius_corporis_nemo_nobis_recusandae/\", \"locked\": false, \"name\": \"t3_a5\", \"created\": 1542381000.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/a5/eius_corporis_nemo_nobis_recusandae/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Eius corporis nemo nobis recusandae.\", \"created_utc\": 1542381000.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1712" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "600" - ], - "x-ratelimit-used": [ - "1" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=fRQyQ4j0Y0Ul%2FBHbS4CHOB742okox%2B915mp0IyOyWykOqODk3ErS7qe7dJGnofdkMsxVErjA%2F6APlGl5sLFNcI3Rg%2FN%2BMllb" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/a5/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:03", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380981_magni&text=Incidunt+ipsa+illum+accusantium.+Debitis+eum+quam+cumque+eligendi.&title=Assumenda+maiores+labore+veniam+accusantium." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "197" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380981_magni/comments/a6/assumenda_maiores_labore_veniam_accusantium/\", \"id\": \"a6\", \"name\": \"t3_a6\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "170" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:03 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "597" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:03", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/a6/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIncidunt ipsa illum accusantium. Debitis eum quam cumque eligendi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Incidunt ipsa illum accusantium. Debitis eum quam cumque eligendi.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"a6\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/a6/assumenda_maiores_labore_veniam_accusantium/\", \"locked\": false, \"name\": \"t3_a6\", \"created\": 1542381003.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/a6/assumenda_maiores_labore_veniam_accusantium/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Assumenda maiores labore veniam accusantium.\", \"created_utc\": 1542381003.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1728" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:03 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "597" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=9FLqq8nFt4XixBj0g1l8Tj7IgD3NbZHh2FtV8AztLWERyR2z15ojoWn5kl1egJLhTgdxYk2Lyd7iKs23OKQ1Ht391K698dHv" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/a6/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380981_magni&text=Suscipit+sequi+ea+culpa+suscipit+nisi+fugit.+Impedit+veritatis+dicta+nemo+voluptatum+doloribus.&title=Deleniti+officiis+tempore+cumque+vero." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "220" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380981_magni/comments/a7/deleniti_officiis_tempore_cumque_vero/\", \"id\": \"a7\", \"name\": \"t3_a7\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "164" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "594" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:06", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/a7/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESuscipit sequi ea culpa suscipit nisi fugit. Impedit veritatis dicta nemo voluptatum doloribus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Suscipit sequi ea culpa suscipit nisi fugit. Impedit veritatis dicta nemo voluptatum doloribus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"a7\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/a7/deleniti_officiis_tempore_cumque_vero/\", \"locked\": false, \"name\": \"t3_a7\", \"created\": 1542381006.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/a7/deleniti_officiis_tempore_cumque_vero/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Deleniti officiis tempore cumque vero.\", \"created_utc\": 1542381006.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1768" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "594" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=6M83hKEoPIb9LsIBKIICVsjhpnMacK621Tj6WqebwGvW7y3XKlS68Cj2GgHbEsSsM%2FZDueFGV3nA6kHphfNl7cEcYSfNmovk" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/a7/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380981_magni&text=Voluptatum+velit+error+tempora+soluta.+Sunt+iste+consequuntur+quod+doloribus+debitis+totam.&title=Quibusdam+dolorum+error+omnis+ipsam+dolorem." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "222" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380981_magni/comments/a8/quibusdam_dolorum_error_omnis_ipsam_dolorem/\", \"id\": \"a8\", \"name\": \"t3_a8\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "170" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:09 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "591" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/a8/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptatum velit error tempora soluta. Sunt iste consequuntur quod doloribus debitis totam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Voluptatum velit error tempora soluta. Sunt iste consequuntur quod doloribus debitis totam.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"a8\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/a8/quibusdam_dolorum_error_omnis_ipsam_dolorem/\", \"locked\": false, \"name\": \"t3_a8\", \"created\": 1542381009.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/a8/quibusdam_dolorum_error_omnis_ipsam_dolorem/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quibusdam dolorum error omnis ipsam dolorem.\", \"created_utc\": 1542381009.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1778" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:09 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "591" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=JTv4%2FZWSdcVDf4YhTHJBYWkKKtPwAAf1wFpwuBxg7LvGZMgvLWDIufqYRJxvw3Ytwsu2ja7Jiuplun3n%2FRdWiNWHO0caENiw" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/a8/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:12", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380981_magni&text=Possimus+necessitatibus+animi+aspernatur+qui.+Sed+velit+magnam+quidem+totam+similique.&title=Quasi+doloremque+mollitia+expedita+fugit+maiores." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "222" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380981_magni/comments/a9/quasi_doloremque_mollitia_expedita_fugit_maiores/\", \"id\": \"a9\", \"name\": \"t3_a9\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "175" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:12 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "588" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:12", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/a9/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPossimus necessitatibus animi aspernatur qui. Sed velit magnam quidem totam similique.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Possimus necessitatibus animi aspernatur qui. Sed velit magnam quidem totam similique.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"a9\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/a9/quasi_doloremque_mollitia_expedita_fugit_maiores/\", \"locked\": false, \"name\": \"t3_a9\", \"created\": 1542381012.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/a9/quasi_doloremque_mollitia_expedita_fugit_maiores/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quasi doloremque mollitia expedita fugit maiores.\", \"created_utc\": 1542381012.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1783" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:12 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "588" - ], - "x-ratelimit-used": [ - "9" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=jFnpl%2FeqwZb%2BX0kZgkZh%2Fk%2F2n9we%2Fkrw5AzjYLSSJmjGqWuYK3nH7kZWclB0MWBUV1yur8gRRZlSUF9brIVKBm7R4cWbzxWf" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/a9/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380981_magni&text=Et+soluta+eum+illum+suscipit+error+quos+asperiores.+Porro+quasi+animi+odit+ut+porro+fugiat.&title=Distinctio+ad+et+qui+eos+corrupti+impedit." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "220" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380981_magni/comments/aa/distinctio_ad_et_qui_eos_corrupti_impedit/\", \"id\": \"aa\", \"name\": \"t3_aa\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "168" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "585" - ], - "x-ratelimit-used": [ - "10" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/aa/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEt soluta eum illum suscipit error quos asperiores. Porro quasi animi odit ut porro fugiat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Et soluta eum illum suscipit error quos asperiores. Porro quasi animi odit ut porro fugiat.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"aa\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/aa/distinctio_ad_et_qui_eos_corrupti_impedit/\", \"locked\": false, \"name\": \"t3_aa\", \"created\": 1542381015.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/aa/distinctio_ad_et_qui_eos_corrupti_impedit/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Distinctio ad et qui eos corrupti impedit.\", \"created_utc\": 1542381015.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1772" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "289.0" - ], - "x-ratelimit-reset": [ - "585" - ], - "x-ratelimit-used": [ - "11" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=xejW5WOUtamANGIFjXnt2Zf%2BtXo0Q8fqgVP6mV5FNv0Pqlshn%2Bhj%2B9YaCXN7wyl%2BBDSx0%2Fa4y6LnW8sqceLOHMSRT2rtkuFN" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/aa/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380981_magni&text=Autem+doloremque+eligendi+id+blanditiis.+Ipsa+sequi+rerum+unde+sed.&title=Quas+ratione+sed+sint+debitis." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "184" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380981_magni/comments/ab/quas_ratione_sed_sint_debitis/\", \"id\": \"ab\", \"name\": \"t3_ab\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "156" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "288.0" - ], - "x-ratelimit-reset": [ - "582" - ], - "x-ratelimit-used": [ - "12" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ab/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAutem doloremque eligendi id blanditiis. Ipsa sequi rerum unde sed.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Autem doloremque eligendi id blanditiis. Ipsa sequi rerum unde sed.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ab\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/ab/quas_ratione_sed_sint_debitis/\", \"locked\": false, \"name\": \"t3_ab\", \"created\": 1542381018.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/ab/quas_ratione_sed_sint_debitis/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quas ratione sed sint debitis.\", \"created_utc\": 1542381018.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1688" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "287.0" - ], - "x-ratelimit-reset": [ - "582" - ], - "x-ratelimit-used": [ - "13" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=nS3frSLKx50OkGG1yad%2F30ioZAvotQCWCk4E1MXlhqr7RFT%2Fs2cMIFeQUAB7du7vzpVUmdi9tBbl8CI4wTPRXt4GGLP%2BTpUT" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ab/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:22", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380981_magni&text=Nesciunt+animi+enim+voluptatum+illum.+Magnam+at+sed+officia.+Saepe+occaecati+officia+corrupti.&title=Odio+vitae+similique+nesciunt+labore." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "218" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380981_magni/comments/ac/odio_vitae_similique_nesciunt_labore/\", \"id\": \"ac\", \"name\": \"t3_ac\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "163" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:22 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "286.0" - ], - "x-ratelimit-reset": [ - "578" - ], - "x-ratelimit-used": [ - "14" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:22", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ac/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENesciunt animi enim voluptatum illum. Magnam at sed officia. Saepe occaecati officia corrupti.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Nesciunt animi enim voluptatum illum. Magnam at sed officia. Saepe occaecati officia corrupti.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ac\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/ac/odio_vitae_similique_nesciunt_labore/\", \"locked\": false, \"name\": \"t3_ac\", \"created\": 1542381022.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/ac/odio_vitae_similique_nesciunt_labore/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Odio vitae similique nesciunt labore.\", \"created_utc\": 1542381022.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1763" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:22 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "285.0" - ], - "x-ratelimit-reset": [ - "578" - ], - "x-ratelimit-used": [ - "15" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=JyZPZht33iv%2BFzJ71u8qkWAwf5%2B61Lm%2F3ToGmqcKzsJJHR2fiOYOO%2Bt56QqbPIRjsf8mWEMuDqFSXdaQ%2F976mQB%2Fzqw9qtWb" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ac/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380981_magni&text=Sint+libero+modi+velit+numquam.+Optio+est+voluptate+enim+rerum+quae.&title=Repellat+non+mollitia+ducimus+vero." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "190" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380981_magni/comments/ad/repellat_non_mollitia_ducimus_vero/\", \"id\": \"ad\", \"name\": \"t3_ad\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "161" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "284.0" - ], - "x-ratelimit-reset": [ - "575" - ], - "x-ratelimit-used": [ - "16" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ad/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESint libero modi velit numquam. Optio est voluptate enim rerum quae.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Sint libero modi velit numquam. Optio est voluptate enim rerum quae.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ad\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/ad/repellat_non_mollitia_ducimus_vero/\", \"locked\": false, \"name\": \"t3_ad\", \"created\": 1542381025.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/ad/repellat_non_mollitia_ducimus_vero/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Repellat non mollitia ducimus vero.\", \"created_utc\": 1542381025.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1705" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "283.0" - ], - "x-ratelimit-reset": [ - "575" - ], - "x-ratelimit-used": [ - "17" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=wCtofxIi8cCQXpoE6qceR4Nyq9j1DNyXf6uaOLYdQIHNg%2BVWT8nd21twDkltYLTGh5VKLQH7xJO9Yyy58ce3vwk%2B07XzJrwO" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ad/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380981_magni&text=Laudantium+qui+magni+minus.+Libero+architecto+vero+mollitia+sed.+Est+tempora+eius+placeat+quisquam.&title=Ducimus+occaecati+magni+saepe+aliquam+odio+quos." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "234" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380981_magni/comments/ae/ducimus_occaecati_magni_saepe_aliquam_odio_quos/\", \"id\": \"ae\", \"name\": \"t3_ae\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "174" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "282.0" - ], - "x-ratelimit-reset": [ - "572" - ], - "x-ratelimit-used": [ - "18" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ae/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ELaudantium qui magni minus. Libero architecto vero mollitia sed. Est tempora eius placeat quisquam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Laudantium qui magni minus. Libero architecto vero mollitia sed. Est tempora eius placeat quisquam.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ae\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/ae/ducimus_occaecati_magni_saepe_aliquam_odio_quos/\", \"locked\": false, \"name\": \"t3_ae\", \"created\": 1542381028.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/ae/ducimus_occaecati_magni_saepe_aliquam_odio_quos/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Ducimus occaecati magni saepe aliquam odio quos.\", \"created_utc\": 1542381028.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1806" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "281.0" - ], - "x-ratelimit-reset": [ - "572" - ], - "x-ratelimit-used": [ - "19" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Z6i94LETYQXyh7mO0ZwH9Fp5U2bohIYCGiP4GaNSQvH12XSjABWMHR1iTHCjxA3ZSC2%2BCd0tlbV22mvMWWddtMq37BMGS9tv" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ae/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380981_magni/hot?before=t3_a9&count=6&limit=5&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380981_magni\", \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ELaudantium qui magni minus. Libero architecto vero mollitia sed. Est tempora eius placeat quisquam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Laudantium qui magni minus. Libero architecto vero mollitia sed. Est tempora eius placeat quisquam.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ae\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"name\": \"t3_ae\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/ae/ducimus_occaecati_magni_saepe_aliquam_odio_quos/\", \"locked\": false, \"stickied\": false, \"created\": 1542381028.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/ae/ducimus_occaecati_magni_saepe_aliquam_odio_quos/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Ducimus occaecati magni saepe aliquam odio quos.\", \"created_utc\": 1542381028.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380981_magni\", \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESint libero modi velit numquam. Optio est voluptate enim rerum quae.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Sint libero modi velit numquam. Optio est voluptate enim rerum quae.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ad\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"name\": \"t3_ad\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/ad/repellat_non_mollitia_ducimus_vero/\", \"locked\": false, \"stickied\": false, \"created\": 1542381025.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/ad/repellat_non_mollitia_ducimus_vero/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Repellat non mollitia ducimus vero.\", \"created_utc\": 1542381025.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380981_magni\", \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENesciunt animi enim voluptatum illum. Magnam at sed officia. Saepe occaecati officia corrupti.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Nesciunt animi enim voluptatum illum. Magnam at sed officia. Saepe occaecati officia corrupti.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ac\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"name\": \"t3_ac\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/ac/odio_vitae_similique_nesciunt_labore/\", \"locked\": false, \"stickied\": false, \"created\": 1542381022.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/ac/odio_vitae_similique_nesciunt_labore/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Odio vitae similique nesciunt labore.\", \"created_utc\": 1542381022.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380981_magni\", \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAutem doloremque eligendi id blanditiis. Ipsa sequi rerum unde sed.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Autem doloremque eligendi id blanditiis. Ipsa sequi rerum unde sed.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ab\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"name\": \"t3_ab\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/ab/quas_ratione_sed_sint_debitis/\", \"locked\": false, \"stickied\": false, \"created\": 1542381018.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/ab/quas_ratione_sed_sint_debitis/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quas ratione sed sint debitis.\", \"created_utc\": 1542381018.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380981_magni\", \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEt soluta eum illum suscipit error quos asperiores. Porro quasi animi odit ut porro fugiat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Et soluta eum illum suscipit error quos asperiores. Porro quasi animi odit ut porro fugiat.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"aa\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"name\": \"t3_aa\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/aa/distinctio_ad_et_qui_eos_corrupti_impedit/\", \"locked\": false, \"stickied\": false, \"created\": 1542381015.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/aa/distinctio_ad_et_qui_eos_corrupti_impedit/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Distinctio ad et qui eos corrupti impedit.\", \"created_utc\": 1542381015.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": \"t3_aa\", \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "7783" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "280.0" - ], - "x-ratelimit-reset": [ - "569" - ], - "x-ratelimit-used": [ - "20" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=6ypNJLRGnTYYF35fLurpZZjoW9bQM8EWiPKLUvzuRqOuv16K2SGNI2NGsTgfxMqC%2BJRjS6%2Bph9mpJHUuCM9bD5at9QyLlRxZ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380981_magni/hot?before=t3_a9&count=6&limit=5&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ae/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ELaudantium qui magni minus. Libero architecto vero mollitia sed. Est tempora eius placeat quisquam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Laudantium qui magni minus. Libero architecto vero mollitia sed. Est tempora eius placeat quisquam.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ae\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/ae/ducimus_occaecati_magni_saepe_aliquam_odio_quos/\", \"locked\": false, \"name\": \"t3_ae\", \"created\": 1542381028.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/ae/ducimus_occaecati_magni_saepe_aliquam_odio_quos/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Ducimus occaecati magni saepe aliquam odio quos.\", \"created_utc\": 1542381028.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1806" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "279.0" - ], - "x-ratelimit-reset": [ - "569" - ], - "x-ratelimit-used": [ - "21" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=wrP%2FhlJG3HpEjJDg0GyO6I9w2zM5Ca4EaYodo7kO2R9OGnlxw0AwyqanYxeW9n%2BtTO25NCiIlIz%2BfV2%2BK6EiWK8KEgSy8zP1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ae/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380981_magni/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5x\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380981_magni\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ELaborum illum omnis debitis quae rem quasi. Vero assumenda laboriosam minus animi nam accusamus impedit. Sit maiores voluptatem exercitationem recusandae aliquid ipsum aspernatur.\\nFugiat ullam dolor cumque quos debitis officia perferendis. Quasi cupiditate autem qui ipsam quas laborum. Laboriosam porro voluptate delectus nihil. At exercitationem quasi soluta architecto labore.\\nVitae eveniet ab itaque itaque possimus. Omnis voluptas aliquid blanditiis sequi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Esse incidunt modi veritatis.\", \"collapse_deleted_comments\": false, \"public_description\": \"Aperiam voluptate necessitatibus blanditiis quos officia saepe debitis.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAperiam voluptate necessitatibus blanditiis quos officia saepe debitis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Laborum illum omnis debitis quae rem quasi. Vero assumenda laboriosam minus animi nam accusamus impedit. Sit maiores voluptatem exercitationem recusandae aliquid ipsum aspernatur.\\nFugiat ullam dolor cumque quos debitis officia perferendis. Quasi cupiditate autem qui ipsam quas laborum. Laboriosam porro voluptate delectus nihil. At exercitationem quasi soluta architecto labore.\\nVitae eveniet ab itaque itaque possimus. Omnis voluptas aliquid blanditiis sequi.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5x\", \"created\": 1542380981.0, \"url\": \"/r/1542380981_magni/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380981.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2416" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "278.0" - ], - "x-ratelimit-reset": [ - "569" - ], - "x-ratelimit-used": [ - "22" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=EAo5U0VvWzSA7kgxtKDdGmVnYGTsVLkDhuYoGgFiv5L0uDfmqkz3BbaV8M8GPoQqJYI6rwneQ2oe6iTLujft6Xs3BYM4Edff" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380981_magni/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ad/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESint libero modi velit numquam. Optio est voluptate enim rerum quae.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Sint libero modi velit numquam. Optio est voluptate enim rerum quae.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ad\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/ad/repellat_non_mollitia_ducimus_vero/\", \"locked\": false, \"name\": \"t3_ad\", \"created\": 1542381025.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/ad/repellat_non_mollitia_ducimus_vero/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Repellat non mollitia ducimus vero.\", \"created_utc\": 1542381025.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1705" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "277.0" - ], - "x-ratelimit-reset": [ - "569" - ], - "x-ratelimit-used": [ - "23" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=9moUlhYvfDC1Y0begHik4kWlavB8qhYMtqQZwfDnoBOg5LK2IteNJ%2BlXY7Hb6fpWag5nVzorartAigJXrQu1ki8yRRfC2vMG" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ad/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380981_magni/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5x\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380981_magni\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ELaborum illum omnis debitis quae rem quasi. Vero assumenda laboriosam minus animi nam accusamus impedit. Sit maiores voluptatem exercitationem recusandae aliquid ipsum aspernatur.\\nFugiat ullam dolor cumque quos debitis officia perferendis. Quasi cupiditate autem qui ipsam quas laborum. Laboriosam porro voluptate delectus nihil. At exercitationem quasi soluta architecto labore.\\nVitae eveniet ab itaque itaque possimus. Omnis voluptas aliquid blanditiis sequi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Esse incidunt modi veritatis.\", \"collapse_deleted_comments\": false, \"public_description\": \"Aperiam voluptate necessitatibus blanditiis quos officia saepe debitis.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAperiam voluptate necessitatibus blanditiis quos officia saepe debitis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Laborum illum omnis debitis quae rem quasi. Vero assumenda laboriosam minus animi nam accusamus impedit. Sit maiores voluptatem exercitationem recusandae aliquid ipsum aspernatur.\\nFugiat ullam dolor cumque quos debitis officia perferendis. Quasi cupiditate autem qui ipsam quas laborum. Laboriosam porro voluptate delectus nihil. At exercitationem quasi soluta architecto labore.\\nVitae eveniet ab itaque itaque possimus. Omnis voluptas aliquid blanditiis sequi.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5x\", \"created\": 1542380981.0, \"url\": \"/r/1542380981_magni/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380981.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2416" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "276.0" - ], - "x-ratelimit-reset": [ - "569" - ], - "x-ratelimit-used": [ - "24" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=6LlTEmfy9S%2FmQwQREfEo7S0R10fMY44g3nIJAYXZAF5LLsJ1B4FPP%2Fqbr2dCqzVvMF8jyfjfQDhnx7UdqOV33JnmLMjicfbd" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380981_magni/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ac/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENesciunt animi enim voluptatum illum. Magnam at sed officia. Saepe occaecati officia corrupti.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Nesciunt animi enim voluptatum illum. Magnam at sed officia. Saepe occaecati officia corrupti.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ac\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/ac/odio_vitae_similique_nesciunt_labore/\", \"locked\": false, \"name\": \"t3_ac\", \"created\": 1542381022.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/ac/odio_vitae_similique_nesciunt_labore/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Odio vitae similique nesciunt labore.\", \"created_utc\": 1542381022.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1763" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "275.0" - ], - "x-ratelimit-reset": [ - "569" - ], - "x-ratelimit-used": [ - "25" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=VmVs%2Bc5NVLI1S6lR327IrKAEK42fMAXRF8JimrUt0SugrVMHLb841EugM0hxuUfUd4POKVesAu69F3OsQN2V%2FKcyeu4jowss" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ac/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380981_magni/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5x\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380981_magni\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ELaborum illum omnis debitis quae rem quasi. Vero assumenda laboriosam minus animi nam accusamus impedit. Sit maiores voluptatem exercitationem recusandae aliquid ipsum aspernatur.\\nFugiat ullam dolor cumque quos debitis officia perferendis. Quasi cupiditate autem qui ipsam quas laborum. Laboriosam porro voluptate delectus nihil. At exercitationem quasi soluta architecto labore.\\nVitae eveniet ab itaque itaque possimus. Omnis voluptas aliquid blanditiis sequi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Esse incidunt modi veritatis.\", \"collapse_deleted_comments\": false, \"public_description\": \"Aperiam voluptate necessitatibus blanditiis quos officia saepe debitis.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAperiam voluptate necessitatibus blanditiis quos officia saepe debitis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Laborum illum omnis debitis quae rem quasi. Vero assumenda laboriosam minus animi nam accusamus impedit. Sit maiores voluptatem exercitationem recusandae aliquid ipsum aspernatur.\\nFugiat ullam dolor cumque quos debitis officia perferendis. Quasi cupiditate autem qui ipsam quas laborum. Laboriosam porro voluptate delectus nihil. At exercitationem quasi soluta architecto labore.\\nVitae eveniet ab itaque itaque possimus. Omnis voluptas aliquid blanditiis sequi.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5x\", \"created\": 1542380981.0, \"url\": \"/r/1542380981_magni/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380981.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2416" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "274.0" - ], - "x-ratelimit-reset": [ - "569" - ], - "x-ratelimit-used": [ - "26" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=vYPcBGF20Fj22veMmKySPJxG8uELk9gUT6V%2FfDA7ltx5CMv4b6oyf5R8isRrjp7tK8B18q3evuKz42BOZ%2BEzw6Cv562B%2F0U7" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380981_magni/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ab/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAutem doloremque eligendi id blanditiis. Ipsa sequi rerum unde sed.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Autem doloremque eligendi id blanditiis. Ipsa sequi rerum unde sed.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ab\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/ab/quas_ratione_sed_sint_debitis/\", \"locked\": false, \"name\": \"t3_ab\", \"created\": 1542381018.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/ab/quas_ratione_sed_sint_debitis/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quas ratione sed sint debitis.\", \"created_utc\": 1542381018.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1688" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "273.0" - ], - "x-ratelimit-reset": [ - "569" - ], - "x-ratelimit-used": [ - "27" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Q4%2BT1EFXGcX9aYf%2BzZXtB9nbsoLBB0YYjYkTeDzK80xq%2FCo38U2j3Kc38QjIAg%2Bro3ACo7YCkhL2e8y3g53oGJeiAIhKt6tM" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ab/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380981_magni/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5x\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380981_magni\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ELaborum illum omnis debitis quae rem quasi. Vero assumenda laboriosam minus animi nam accusamus impedit. Sit maiores voluptatem exercitationem recusandae aliquid ipsum aspernatur.\\nFugiat ullam dolor cumque quos debitis officia perferendis. Quasi cupiditate autem qui ipsam quas laborum. Laboriosam porro voluptate delectus nihil. At exercitationem quasi soluta architecto labore.\\nVitae eveniet ab itaque itaque possimus. Omnis voluptas aliquid blanditiis sequi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Esse incidunt modi veritatis.\", \"collapse_deleted_comments\": false, \"public_description\": \"Aperiam voluptate necessitatibus blanditiis quos officia saepe debitis.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAperiam voluptate necessitatibus blanditiis quos officia saepe debitis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Laborum illum omnis debitis quae rem quasi. Vero assumenda laboriosam minus animi nam accusamus impedit. Sit maiores voluptatem exercitationem recusandae aliquid ipsum aspernatur.\\nFugiat ullam dolor cumque quos debitis officia perferendis. Quasi cupiditate autem qui ipsam quas laborum. Laboriosam porro voluptate delectus nihil. At exercitationem quasi soluta architecto labore.\\nVitae eveniet ab itaque itaque possimus. Omnis voluptas aliquid blanditiis sequi.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5x\", \"created\": 1542380981.0, \"url\": \"/r/1542380981_magni/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380981.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2416" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "272.0" - ], - "x-ratelimit-reset": [ - "569" - ], - "x-ratelimit-used": [ - "28" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=cKqe15vNUIeNMWsSd6bHI6Xh2kR4A9tvv1hnDwqm%2B5SY%2BSk5f%2BwiPmXrr6WnL52h49G8rbrCoIMNl8Y4kOfWClGD4oc6LvQ6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380981_magni/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/aa/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380981_magni\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEt soluta eum illum suscipit error quos asperiores. Porro quasi animi odit ut porro fugiat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Et soluta eum illum suscipit error quos asperiores. Porro quasi animi odit ut porro fugiat.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"aa\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH3W6FCJJ009MBK960S1YB\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380981_magni\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380981_magni/comments/aa/distinctio_ad_et_qui_eos_corrupti_impedit/\", \"locked\": false, \"name\": \"t3_aa\", \"created\": 1542381015.0, \"url\": \"http://reddit.local/r/1542380981_magni/comments/aa/distinctio_ad_et_qui_eos_corrupti_impedit/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Distinctio ad et qui eos corrupti impedit.\", \"created_utc\": 1542381015.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1772" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "271.0" - ], - "x-ratelimit-reset": [ - "569" - ], - "x-ratelimit-used": [ - "29" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=32UfgRGhSOB9neLCbyce7Rn1bUttGY3hk6xZX9slEhOUsVYl6AN1aI4OztMM7icwSwPDEp436928MVsSa3GN9%2FZH%2Fg4POjUF" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/aa/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2316-r8eq6Z2Rg5oGb_mTqkFu331yAj8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=MvIIWSJ9rCqnpFiRdb; loidcreated=2018-11-16T15%3A09%3A37.287Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380981_magni/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5x\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380981_magni\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ELaborum illum omnis debitis quae rem quasi. Vero assumenda laboriosam minus animi nam accusamus impedit. Sit maiores voluptatem exercitationem recusandae aliquid ipsum aspernatur.\\nFugiat ullam dolor cumque quos debitis officia perferendis. Quasi cupiditate autem qui ipsam quas laborum. Laboriosam porro voluptate delectus nihil. At exercitationem quasi soluta architecto labore.\\nVitae eveniet ab itaque itaque possimus. Omnis voluptas aliquid blanditiis sequi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Esse incidunt modi veritatis.\", \"collapse_deleted_comments\": false, \"public_description\": \"Aperiam voluptate necessitatibus blanditiis quos officia saepe debitis.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAperiam voluptate necessitatibus blanditiis quos officia saepe debitis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Laborum illum omnis debitis quae rem quasi. Vero assumenda laboriosam minus animi nam accusamus impedit. Sit maiores voluptatem exercitationem recusandae aliquid ipsum aspernatur.\\nFugiat ullam dolor cumque quos debitis officia perferendis. Quasi cupiditate autem qui ipsam quas laborum. Laboriosam porro voluptate delectus nihil. At exercitationem quasi soluta architecto labore.\\nVitae eveniet ab itaque itaque possimus. Omnis voluptas aliquid blanditiis sequi.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5x\", \"created\": 1542380981.0, \"url\": \"/r/1542380981_magni/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380981.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2416" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "270.0" - ], - "x-ratelimit-reset": [ - "569" - ], - "x-ratelimit-used": [ - "30" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=MnUuKMmyBB3hZfNYOUc9ZwjCxBLk945eMqvDcmB2jgXE7ioO7E41aN3PlZcgcmFxAUBgopYfwNCapO%2FH550o24Wo1AfU0zKZ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380981_magni/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_list_posts_pagination_non_first_page.json b/cassettes/channels.views.posts_test.test_list_posts_pagination_non_first_page.json deleted file mode 100644 index 9b1500437e..0000000000 --- a/cassettes/channels.views.posts_test.test_list_posts_pagination_non_first_page.json +++ /dev/null @@ -1,4112 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:10:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH5ME12ZJN5NJNP6BAQTVF" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNrTQzQrOCY4wCnQqNjHQTXdxLS9M1k0ODwupyAp0VNJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9Csc/YLryxzzgo39AiwdAquKPdK8QyvKE9L8/COBGlKSS3LTE6Nz0wBmQzhKNUCAJlpcyy6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:10:35 GMT", - "loidcreated=2018-11-16T15%3A10%3A34.901Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:10:35 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH5ME12ZJN5NJNP6BAQTVF" - } - }, - { - "recorded_at": "2018-11-16T15:10:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH5QRJCGX8G9WPTPNTQG2X" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNrTUdXdMzirICzVyqkgy9Ck2LcrLCDRwLS03KbfIV9JRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9CsC3G1TDWPKM0M96qyjA8uDjAwtzD1NC2OSnIyAGlKSS3LTE6Nz0wBmQzhKNUCABUxKBy6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH5QRJCGX8G9WPTPNTQG2X" - } - }, - { - "recorded_at": "2018-11-16T15:10:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Delectus+suscipit+officiis+occaecati+earum+laudantium+laudantium.+Ipsam+natus+quaerat+voluptatem+ducimus+voluptatem+quo.+Voluptates+voluptatum+ullam+sit+id+exercitationem.%0AIllo+ea+magnam+culpa+sunt+corporis+eos+nemo.+Totam+alias+quae+recusandae+cupiditate+totam+optio+earum.+Aliquid+iste+culpa+et+modi+ducimus+sed+repellat.+Illum+sapiente+aliquid+cum.+Aut+veritatis+commodi+cum+dolorum+reiciendis+nostrum+est.&link_type=any&name=1542381038_repellat&public_description=Expedita+et+quo+ducimus+molestias.+Assumenda+amet+maiores+nam+totam.&title=Quos+repudiandae+a+repudiandae+deserunt.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2319-GAcjpnU2Bxb1Ls5rnhQ0Euw4w8o" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "657" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "562" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CWEH5ME12ZJN5NJNP6BAQTVF&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2319-GAcjpnU2Bxb1Ls5rnhQ0Euw4w8o" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542381038_repellat/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "559" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542381038_repellat/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542381038_repellat" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "78" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "559" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381038_repellat&text=Occaecati+deserunt+rem+amet+incidunt+id.+Doloribus+enim+ipsum+qui+unde+dicta+temporibus+eos.&title=Nesciunt+nostrum+quidem+fugit+eveniet+eveniet." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "228" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381038_repellat/comments/af/nesciunt_nostrum_quidem_fugit_eveniet_eveniet/\", \"id\": \"af\", \"name\": \"t3_af\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "175" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "559" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/af/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOccaecati deserunt rem amet incidunt id. Doloribus enim ipsum qui unde dicta temporibus eos.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Occaecati deserunt rem amet incidunt id. Doloribus enim ipsum qui unde dicta temporibus eos.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"af\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/af/nesciunt_nostrum_quidem_fugit_eveniet_eveniet/\", \"locked\": false, \"name\": \"t3_af\", \"created\": 1542381041.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/af/nesciunt_nostrum_quidem_fugit_eveniet_eveniet/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Nesciunt nostrum quidem fugit eveniet eveniet.\", \"created_utc\": 1542381041.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1798" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "559" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=riPaKEyMwcGlxO69JUnrOlC27n%2FllXUco2cwbqtHmGopRrb%2FAdb6ryZWSk%2FuPvYvsf9feYtpJTG40a1rG8%2BDJcAsPRRBtfkR" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/af/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381038_repellat&text=Consequuntur+nisi+maiores+eligendi+voluptatem+iste.+Dolorem+vero+sed+unde+reiciendis+aspernatur.&title=Exercitationem+fugiat+quos+voluptatum+corrupti." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "233" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381038_repellat/comments/ag/exercitationem_fugiat_quos_voluptatum_corrupti/\", \"id\": \"ag\", \"name\": \"t3_ag\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "176" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "555" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ag/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EConsequuntur nisi maiores eligendi voluptatem iste. Dolorem vero sed unde reiciendis aspernatur.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Consequuntur nisi maiores eligendi voluptatem iste. Dolorem vero sed unde reiciendis aspernatur.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ag\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/ag/exercitationem_fugiat_quos_voluptatum_corrupti/\", \"locked\": false, \"name\": \"t3_ag\", \"created\": 1542381045.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/ag/exercitationem_fugiat_quos_voluptatum_corrupti/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Exercitationem fugiat quos voluptatum corrupti.\", \"created_utc\": 1542381045.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1809" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "555" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=8UQwR2GHNffA1F77InjFjP4hWA06m42TemSGeLAxBh%2Bx6x2RLaeQXAL8dTH7v5uMUWC%2FQVmhFrx33MkgX%2FqKsgdYAUvuyJSJ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ag/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381038_repellat&text=Error+nulla+accusamus+dicta.+Dolorem+porro+dolore+aut+soluta+quibusdam+perferendis+tempora+nisi.&title=Cum+quam+expedita+cum+deserunt+explicabo." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "227" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381038_repellat/comments/ah/cum_quam_expedita_cum_deserunt_explicabo/\", \"id\": \"ah\", \"name\": \"t3_ah\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "170" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "552" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ah/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EError nulla accusamus dicta. Dolorem porro dolore aut soluta quibusdam perferendis tempora nisi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Error nulla accusamus dicta. Dolorem porro dolore aut soluta quibusdam perferendis tempora nisi.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ah\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/ah/cum_quam_expedita_cum_deserunt_explicabo/\", \"locked\": false, \"name\": \"t3_ah\", \"created\": 1542381048.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/ah/cum_quam_expedita_cum_deserunt_explicabo/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Cum quam expedita cum deserunt explicabo.\", \"created_utc\": 1542381048.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1791" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "552" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=873Rvn%2BxIqC65nPdgPD1BFSNP%2FsnY5jlWCyQKrlRYTAT7U6qDfFmygbQt%2BATdnJY2N0LgxXmdOddSqolqWMdMxHrBIOODiQv" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ah/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:51", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381038_repellat&text=Omnis+provident+voluptas+voluptates+a.+Exercitationem+soluta+est+a+quaerat+quos.&title=Ipsum+culpa+beatae+quam+corporis+cumque+ea." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "213" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381038_repellat/comments/ai/ipsum_culpa_beatae_quam_corporis_cumque_ea/\", \"id\": \"ai\", \"name\": \"t3_ai\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:51 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "549" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:51", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ai/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOmnis provident voluptas voluptates a. Exercitationem soluta est a quaerat quos.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Omnis provident voluptas voluptates a. Exercitationem soluta est a quaerat quos.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ai\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/ai/ipsum_culpa_beatae_quam_corporis_cumque_ea/\", \"locked\": false, \"name\": \"t3_ai\", \"created\": 1542381051.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/ai/ipsum_culpa_beatae_quam_corporis_cumque_ea/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Ipsum culpa beatae quam corporis cumque ea.\", \"created_utc\": 1542381051.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1765" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:51 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "549" - ], - "x-ratelimit-used": [ - "9" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=FD9fanT%2BoFBFnpZx%2B%2B9PU1nS4wcWDR%2FKW0jrYpiJywVfBkij4LtGKELhI6bnLFApVU4hPBcjjSh4qkxlFRYcX%2BMDfzW0nkNH" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ai/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381038_repellat&text=Vitae+impedit+ducimus+occaecati+natus.+Fugit+est+porro+vel+maxime+facere+ipsum+quia.&title=Placeat+non+corporis+illo+saepe+ab+hic." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "213" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381038_repellat/comments/aj/placeat_non_corporis_illo_saepe_ab_hic/\", \"id\": \"aj\", \"name\": \"t3_aj\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "168" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "546" - ], - "x-ratelimit-used": [ - "10" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/aj/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVitae impedit ducimus occaecati natus. Fugit est porro vel maxime facere ipsum quia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Vitae impedit ducimus occaecati natus. Fugit est porro vel maxime facere ipsum quia.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"aj\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/aj/placeat_non_corporis_illo_saepe_ab_hic/\", \"locked\": false, \"name\": \"t3_aj\", \"created\": 1542381054.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/aj/placeat_non_corporis_illo_saepe_ab_hic/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Placeat non corporis illo saepe ab hic.\", \"created_utc\": 1542381054.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1761" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "289.0" - ], - "x-ratelimit-reset": [ - "546" - ], - "x-ratelimit-used": [ - "11" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=09sRuSqCQ0PYpS9ZPpcvh6a8rzI4KTPofw0jDEWpVygLg38MIvwzNrPnnhvuYM0b%2FNjpZ6B%2ByVYGe%2Fo1xazmdjqMSbhujsUu" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/aj/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:57", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381038_repellat&text=Consequatur+qui+ex+ex+dolorum+temporibus+at.+Ratione+eligendi+nulla+ipsam.&title=Est+laborum+beatae+beatae." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "190" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381038_repellat/comments/ak/est_laborum_beatae_beatae/\", \"id\": \"ak\", \"name\": \"t3_ak\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "155" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:57 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "288.0" - ], - "x-ratelimit-reset": [ - "543" - ], - "x-ratelimit-used": [ - "12" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:10:57", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ak/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EConsequatur qui ex ex dolorum temporibus at. Ratione eligendi nulla ipsam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Consequatur qui ex ex dolorum temporibus at. Ratione eligendi nulla ipsam.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ak\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/ak/est_laborum_beatae_beatae/\", \"locked\": false, \"name\": \"t3_ak\", \"created\": 1542381057.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/ak/est_laborum_beatae_beatae/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Est laborum beatae beatae.\", \"created_utc\": 1542381057.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1702" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:10:57 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "287.0" - ], - "x-ratelimit-reset": [ - "543" - ], - "x-ratelimit-used": [ - "13" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=NlByvcb1jQlae0CI3T14i4lwoGGZl0doOe8sY%2BI0ZEtpzvcxLyj5BfNPCm2TZ3Kf4Grek3GrLSQypwE5KzVxKkKSB6FeFlQe" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ak/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381038_repellat&text=Reprehenderit+minus+porro+veniam.+Asperiores+corrupti+accusantium+excepturi+eum+est+est.&title=Sapiente+quas+officiis+nemo+facilis." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "214" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381038_repellat/comments/al/sapiente_quas_officiis_nemo_facilis/\", \"id\": \"al\", \"name\": \"t3_al\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "165" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "286.0" - ], - "x-ratelimit-reset": [ - "540" - ], - "x-ratelimit-used": [ - "14" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/al/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EReprehenderit minus porro veniam. Asperiores corrupti accusantium excepturi eum est est.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Reprehenderit minus porro veniam. Asperiores corrupti accusantium excepturi eum est est.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"al\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/al/sapiente_quas_officiis_nemo_facilis/\", \"locked\": false, \"name\": \"t3_al\", \"created\": 1542381060.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/al/sapiente_quas_officiis_nemo_facilis/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Sapiente quas officiis nemo facilis.\", \"created_utc\": 1542381060.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1760" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "285.0" - ], - "x-ratelimit-reset": [ - "540" - ], - "x-ratelimit-used": [ - "15" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=zLSGngzvimL2LgZjA7o4IsHBbuzJNeR%2FS7ySAOl%2Fmd3jtycoDIJWABnPz5fEsFa6GGu4%2B3668jpsG3wyxkTrHDU8C6ILA5DN" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/al/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381038_repellat&text=Iste+dolor+quia+et+molestiae+facere+ex+maiores.+Quam+velit+laborum+nisi+a+maiores+quia.&title=Quae+sunt+reiciendis+recusandae+pariatur." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "218" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381038_repellat/comments/am/quae_sunt_reiciendis_recusandae_pariatur/\", \"id\": \"am\", \"name\": \"t3_am\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "170" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "284.0" - ], - "x-ratelimit-reset": [ - "537" - ], - "x-ratelimit-used": [ - "16" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/am/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIste dolor quia et molestiae facere ex maiores. Quam velit laborum nisi a maiores quia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Iste dolor quia et molestiae facere ex maiores. Quam velit laborum nisi a maiores quia.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"am\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/am/quae_sunt_reiciendis_recusandae_pariatur/\", \"locked\": false, \"name\": \"t3_am\", \"created\": 1542381063.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/am/quae_sunt_reiciendis_recusandae_pariatur/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quae sunt reiciendis recusandae pariatur.\", \"created_utc\": 1542381063.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1773" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "283.0" - ], - "x-ratelimit-reset": [ - "536" - ], - "x-ratelimit-used": [ - "17" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=5aQHB%2Fx5NdZwxqOWM6VZyQAmSqo5uTqs1TqP%2FIdbsSLtRUcVYAYfYlaEBGr0kKktVcvIo6BlsTgBefPSh9DrdNht8l9LPLDa" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/am/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381038_repellat&text=Perspiciatis+dolorem+cupiditate+impedit+temporibus.+Cupiditate+excepturi+quae+ullam+totam+dolorum.&title=Adipisci+ab+odio+minima+non+harum+autem+officia." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "236" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381038_repellat/comments/an/adipisci_ab_odio_minima_non_harum_autem_officia/\", \"id\": \"an\", \"name\": \"t3_an\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "177" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "282.0" - ], - "x-ratelimit-reset": [ - "533" - ], - "x-ratelimit-used": [ - "18" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/an/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPerspiciatis dolorem cupiditate impedit temporibus. Cupiditate excepturi quae ullam totam dolorum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Perspiciatis dolorem cupiditate impedit temporibus. Cupiditate excepturi quae ullam totam dolorum.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"an\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/an/adipisci_ab_odio_minima_non_harum_autem_officia/\", \"locked\": false, \"name\": \"t3_an\", \"created\": 1542381067.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/an/adipisci_ab_odio_minima_non_harum_autem_officia/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Adipisci ab odio minima non harum autem officia.\", \"created_utc\": 1542381067.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1816" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "281.0" - ], - "x-ratelimit-reset": [ - "533" - ], - "x-ratelimit-used": [ - "19" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=B5ORCmONsyISQldSFaw8UaaVD7kFRsGCuAFvzAncjoETzOkPXYchm%2FrB6TIFuQpvg9g8HeXxqSn6qWdxRPsAj7REirkpKzze" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/an/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381038_repellat&text=Ducimus+fugiat+est+dolor+quis+suscipit+corrupti+blanditiis.+Quidem+beatae+fugit+occaecati.&title=Dolore+facere+ipsa+neque+nam+odit+id+praesentium." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "229" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381038_repellat/comments/ao/dolore_facere_ipsa_neque_nam_odit_id_praesentium/\", \"id\": \"ao\", \"name\": \"t3_ao\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "178" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "280.0" - ], - "x-ratelimit-reset": [ - "530" - ], - "x-ratelimit-used": [ - "20" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ao/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDucimus fugiat est dolor quis suscipit corrupti blanditiis. Quidem beatae fugit occaecati.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Ducimus fugiat est dolor quis suscipit corrupti blanditiis. Quidem beatae fugit occaecati.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ao\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/ao/dolore_facere_ipsa_neque_nam_odit_id_praesentium/\", \"locked\": false, \"name\": \"t3_ao\", \"created\": 1542381070.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/ao/dolore_facere_ipsa_neque_nam_odit_id_praesentium/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Dolore facere ipsa neque nam odit id praesentium.\", \"created_utc\": 1542381070.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1803" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "279.0" - ], - "x-ratelimit-reset": [ - "530" - ], - "x-ratelimit-used": [ - "21" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=YEUaN7jf0vRqqBatyurMpvl5AAV5L5ecTY%2B%2FRIW75ACby6ia0yX1%2BRcjKfIuAvL2yVoE8M%2BiYmqYvyFLB3K7CnHClZlE%2BsCE" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ao/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381038_repellat&text=Molestiae+neque+reiciendis+molestiae+illum+est+nam.+Mollitia+quibusdam+rerum+at+consectetur+nisi.&title=Itaque+commodi+ut+iure+quia+quibusdam+veniam." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "232" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381038_repellat/comments/ap/itaque_commodi_ut_iure_quia_quibusdam_veniam/\", \"id\": \"ap\", \"name\": \"t3_ap\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "174" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "278.0" - ], - "x-ratelimit-reset": [ - "527" - ], - "x-ratelimit-used": [ - "22" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ap/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMolestiae neque reiciendis molestiae illum est nam. Mollitia quibusdam rerum at consectetur nisi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Molestiae neque reiciendis molestiae illum est nam. Mollitia quibusdam rerum at consectetur nisi.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ap\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/ap/itaque_commodi_ut_iure_quia_quibusdam_veniam/\", \"locked\": false, \"name\": \"t3_ap\", \"created\": 1542381073.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/ap/itaque_commodi_ut_iure_quia_quibusdam_veniam/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Itaque commodi ut iure quia quibusdam veniam.\", \"created_utc\": 1542381073.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1805" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "277.0" - ], - "x-ratelimit-reset": [ - "527" - ], - "x-ratelimit-used": [ - "23" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=n6JGbtTf4rx73JRRc838sNoyofUwLUNoM3uKTqR49GdVzGDMmQ0sy7ASBntRUUAwKrv5Pn3QWwWNOSSgVDFGSWEdTZLQSo9s" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ap/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:16", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381038_repellat&text=Amet+illo+delectus+fugit+odio+voluptatibus.+Fuga+iste+autem+et+aperiam+rem+distinctio.&title=Ut+eius+consequuntur+cumque+cumque." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "211" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381038_repellat/comments/aq/ut_eius_consequuntur_cumque_cumque/\", \"id\": \"aq\", \"name\": \"t3_aq\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "164" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "276.0" - ], - "x-ratelimit-reset": [ - "524" - ], - "x-ratelimit-used": [ - "24" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:16", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/aq/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAmet illo delectus fugit odio voluptatibus. Fuga iste autem et aperiam rem distinctio.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Amet illo delectus fugit odio voluptatibus. Fuga iste autem et aperiam rem distinctio.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"aq\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/aq/ut_eius_consequuntur_cumque_cumque/\", \"locked\": false, \"name\": \"t3_aq\", \"created\": 1542381076.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/aq/ut_eius_consequuntur_cumque_cumque/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Ut eius consequuntur cumque cumque.\", \"created_utc\": 1542381076.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1753" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "275.0" - ], - "x-ratelimit-reset": [ - "524" - ], - "x-ratelimit-used": [ - "25" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=CtZdRCYENd87KA6nsDqRtHrYNQimm52hHm4s6n1soGVLDFf0aePC7l%2FYlmvB%2FFE%2BRqrg5w51dE71Qfre%2FDEYxVoi9EoeeRkM" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/aq/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381038_repellat&text=Maiores+quaerat+repellendus+cupiditate+nesciunt+quae+sed+incidunt.+Dolorum+dolorem+incidunt+error.&title=Unde+nemo+voluptate+velit+aliquid." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "222" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381038_repellat/comments/ar/unde_nemo_voluptate_velit_aliquid/\", \"id\": \"ar\", \"name\": \"t3_ar\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "163" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "274.0" - ], - "x-ratelimit-reset": [ - "521" - ], - "x-ratelimit-used": [ - "26" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ar/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMaiores quaerat repellendus cupiditate nesciunt quae sed incidunt. Dolorum dolorem incidunt error.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Maiores quaerat repellendus cupiditate nesciunt quae sed incidunt. Dolorum dolorem incidunt error.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ar\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/ar/unde_nemo_voluptate_velit_aliquid/\", \"locked\": false, \"name\": \"t3_ar\", \"created\": 1542381079.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/ar/unde_nemo_voluptate_velit_aliquid/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Unde nemo voluptate velit aliquid.\", \"created_utc\": 1542381079.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1774" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "273.0" - ], - "x-ratelimit-reset": [ - "521" - ], - "x-ratelimit-used": [ - "27" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=TUkZqeLMTzXpflF1tgDbh%2Ff6WFsfKN2Y0l%2BaZREPvqRbCKuk%2BTsNFMOjP2kJ%2FfzOcX5%2F3ijFX%2FqvECF7UwyYoUY4qvSiHJL%2F" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ar/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:22", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381038_repellat&text=Eum+quaerat+id+ducimus+tempora.+Fugit+voluptates+aspernatur+nam.&title=Incidunt+eos+sint+harum+inventore." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "188" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381038_repellat/comments/as/incidunt_eos_sint_harum_inventore/\", \"id\": \"as\", \"name\": \"t3_as\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "163" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:22 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "272.0" - ], - "x-ratelimit-reset": [ - "518" - ], - "x-ratelimit-used": [ - "28" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:22", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/as/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEum quaerat id ducimus tempora. Fugit voluptates aspernatur nam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Eum quaerat id ducimus tempora. Fugit voluptates aspernatur nam.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"as\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/as/incidunt_eos_sint_harum_inventore/\", \"locked\": false, \"name\": \"t3_as\", \"created\": 1542381082.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/as/incidunt_eos_sint_harum_inventore/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Incidunt eos sint harum inventore.\", \"created_utc\": 1542381082.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1706" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:22 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "271.0" - ], - "x-ratelimit-reset": [ - "518" - ], - "x-ratelimit-used": [ - "29" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=TMWJ0QIPcqkhHXcHcCL8cJQAlmHHH%2BwnF%2BhK8lkxjBTNwkNjCb8RYuU9PfjSPxHCsblxbFRp%2BQfNSgnUdUDvZy9bY7Sxakez" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/as/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381038_repellat&text=Facere+eaque+ipsam+ex+blanditiis.+A+dolore+mollitia+officiis+nam+ab+hic+occaecati+fugiat.&title=Perspiciatis+quia+possimus+ipsum+quaerat+quis." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "225" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381038_repellat/comments/at/perspiciatis_quia_possimus_ipsum_quaerat_quis/\", \"id\": \"at\", \"name\": \"t3_at\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "175" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "270.0" - ], - "x-ratelimit-reset": [ - "514" - ], - "x-ratelimit-used": [ - "30" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/at/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EFacere eaque ipsam ex blanditiis. A dolore mollitia officiis nam ab hic occaecati fugiat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Facere eaque ipsam ex blanditiis. A dolore mollitia officiis nam ab hic occaecati fugiat.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"at\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/at/perspiciatis_quia_possimus_ipsum_quaerat_quis/\", \"locked\": false, \"name\": \"t3_at\", \"created\": 1542381086.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/at/perspiciatis_quia_possimus_ipsum_quaerat_quis/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Perspiciatis quia possimus ipsum quaerat quis.\", \"created_utc\": 1542381086.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1792" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "269.0" - ], - "x-ratelimit-reset": [ - "514" - ], - "x-ratelimit-used": [ - "31" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ZS9ZTn55G4i2trQ015VyEto9z1h%2BZngbGYchxQI7aKNcNjlVU21JjWV%2Bom8%2FfzX4rwYh1WaYL3L%2FM37PdMHy8CAnOSpzMba4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/at/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542381038_repellat/hot?after=t3_ap&count=5&limit=5&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542381038_repellat\", \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDucimus fugiat est dolor quis suscipit corrupti blanditiis. Quidem beatae fugit occaecati.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Ducimus fugiat est dolor quis suscipit corrupti blanditiis. Quidem beatae fugit occaecati.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ao\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"name\": \"t3_ao\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/ao/dolore_facere_ipsa_neque_nam_odit_id_praesentium/\", \"locked\": false, \"stickied\": false, \"created\": 1542381070.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/ao/dolore_facere_ipsa_neque_nam_odit_id_praesentium/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Dolore facere ipsa neque nam odit id praesentium.\", \"created_utc\": 1542381070.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542381038_repellat\", \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPerspiciatis dolorem cupiditate impedit temporibus. Cupiditate excepturi quae ullam totam dolorum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Perspiciatis dolorem cupiditate impedit temporibus. Cupiditate excepturi quae ullam totam dolorum.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"an\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"name\": \"t3_an\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/an/adipisci_ab_odio_minima_non_harum_autem_officia/\", \"locked\": false, \"stickied\": false, \"created\": 1542381067.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/an/adipisci_ab_odio_minima_non_harum_autem_officia/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Adipisci ab odio minima non harum autem officia.\", \"created_utc\": 1542381067.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542381038_repellat\", \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIste dolor quia et molestiae facere ex maiores. Quam velit laborum nisi a maiores quia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Iste dolor quia et molestiae facere ex maiores. Quam velit laborum nisi a maiores quia.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"am\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"name\": \"t3_am\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/am/quae_sunt_reiciendis_recusandae_pariatur/\", \"locked\": false, \"stickied\": false, \"created\": 1542381063.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/am/quae_sunt_reiciendis_recusandae_pariatur/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quae sunt reiciendis recusandae pariatur.\", \"created_utc\": 1542381063.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542381038_repellat\", \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EReprehenderit minus porro veniam. Asperiores corrupti accusantium excepturi eum est est.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Reprehenderit minus porro veniam. Asperiores corrupti accusantium excepturi eum est est.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"al\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"name\": \"t3_al\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/al/sapiente_quas_officiis_nemo_facilis/\", \"locked\": false, \"stickied\": false, \"created\": 1542381060.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/al/sapiente_quas_officiis_nemo_facilis/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Sapiente quas officiis nemo facilis.\", \"created_utc\": 1542381060.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542381038_repellat\", \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EConsequatur qui ex ex dolorum temporibus at. Ratione eligendi nulla ipsam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Consequatur qui ex ex dolorum temporibus at. Ratione eligendi nulla ipsam.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ak\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"name\": \"t3_ak\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/ak/est_laborum_beatae_beatae/\", \"locked\": false, \"stickied\": false, \"created\": 1542381057.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/ak/est_laborum_beatae_beatae/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Est laborum beatae beatae.\", \"created_utc\": 1542381057.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": \"t3_ak\", \"before\": \"t3_ao\"}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "7906" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "268.0" - ], - "x-ratelimit-reset": [ - "511" - ], - "x-ratelimit-used": [ - "32" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=HaVyaMyguUbQDCctJB5OKdp%2Bron31T%2Fn%2BkZVTyn5NMDDICSe4CYAxT3vOEBCfcJVu24K1tert%2BVnjOqiE8t9ijOvz2xy73gt" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542381038_repellat/hot?after=t3_ap&count=5&limit=5&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ao/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDucimus fugiat est dolor quis suscipit corrupti blanditiis. Quidem beatae fugit occaecati.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Ducimus fugiat est dolor quis suscipit corrupti blanditiis. Quidem beatae fugit occaecati.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ao\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/ao/dolore_facere_ipsa_neque_nam_odit_id_praesentium/\", \"locked\": false, \"name\": \"t3_ao\", \"created\": 1542381070.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/ao/dolore_facere_ipsa_neque_nam_odit_id_praesentium/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Dolore facere ipsa neque nam odit id praesentium.\", \"created_utc\": 1542381070.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1803" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "267.0" - ], - "x-ratelimit-reset": [ - "511" - ], - "x-ratelimit-used": [ - "33" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ctguqnyCPDfJCgVoynNcTCOCcQI0FY6Hw38M387YnItJ7C3Ya4d1Hl1%2BWT%2BCpnKomlfpDEhlOGJqOjQ%2BnzWBfME3TGP0s0oU" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ao/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542381038_repellat/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5y\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542381038_repellat\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDelectus suscipit officiis occaecati earum laudantium laudantium. Ipsam natus quaerat voluptatem ducimus voluptatem quo. Voluptates voluptatum ullam sit id exercitationem.\\nIllo ea magnam culpa sunt corporis eos nemo. Totam alias quae recusandae cupiditate totam optio earum. Aliquid iste culpa et modi ducimus sed repellat. Illum sapiente aliquid cum. Aut veritatis commodi cum dolorum reiciendis nostrum est.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Quos repudiandae a repudiandae deserunt.\", \"collapse_deleted_comments\": false, \"public_description\": \"Expedita et quo ducimus molestias. Assumenda amet maiores nam totam.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita et quo ducimus molestias. Assumenda amet maiores nam totam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Delectus suscipit officiis occaecati earum laudantium laudantium. Ipsam natus quaerat voluptatem ducimus voluptatem quo. Voluptates voluptatum ullam sit id exercitationem.\\nIllo ea magnam culpa sunt corporis eos nemo. Totam alias quae recusandae cupiditate totam optio earum. Aliquid iste culpa et modi ducimus sed repellat. Illum sapiente aliquid cum. Aut veritatis commodi cum dolorum reiciendis nostrum est.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5y\", \"created\": 1542381038.0, \"url\": \"/r/1542381038_repellat/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542381038.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2321" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "266.0" - ], - "x-ratelimit-reset": [ - "511" - ], - "x-ratelimit-used": [ - "34" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=CGI3HD%2FfiXv%2BSAG3XPtlrhyntjT1V%2BjEaX6whpw4vGUNaJSFqL%2BKWYyTraknl5KIYEytf6gdKzniUwLAXpsUKJA4avrqSR2I" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542381038_repellat/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/an/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPerspiciatis dolorem cupiditate impedit temporibus. Cupiditate excepturi quae ullam totam dolorum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Perspiciatis dolorem cupiditate impedit temporibus. Cupiditate excepturi quae ullam totam dolorum.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"an\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/an/adipisci_ab_odio_minima_non_harum_autem_officia/\", \"locked\": false, \"name\": \"t3_an\", \"created\": 1542381067.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/an/adipisci_ab_odio_minima_non_harum_autem_officia/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Adipisci ab odio minima non harum autem officia.\", \"created_utc\": 1542381067.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1816" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "265.0" - ], - "x-ratelimit-reset": [ - "511" - ], - "x-ratelimit-used": [ - "35" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=2A7t0u%2FUMMMz4bOQddGqNtKi8JXpozuDwx0Bi5JEWR7JT3knKmGvkP2FV4lBPXm9ggQFA%2FPIneok2YUG3r7uwHnSHdZIx6YA" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/an/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542381038_repellat/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5y\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542381038_repellat\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDelectus suscipit officiis occaecati earum laudantium laudantium. Ipsam natus quaerat voluptatem ducimus voluptatem quo. Voluptates voluptatum ullam sit id exercitationem.\\nIllo ea magnam culpa sunt corporis eos nemo. Totam alias quae recusandae cupiditate totam optio earum. Aliquid iste culpa et modi ducimus sed repellat. Illum sapiente aliquid cum. Aut veritatis commodi cum dolorum reiciendis nostrum est.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Quos repudiandae a repudiandae deserunt.\", \"collapse_deleted_comments\": false, \"public_description\": \"Expedita et quo ducimus molestias. Assumenda amet maiores nam totam.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita et quo ducimus molestias. Assumenda amet maiores nam totam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Delectus suscipit officiis occaecati earum laudantium laudantium. Ipsam natus quaerat voluptatem ducimus voluptatem quo. Voluptates voluptatum ullam sit id exercitationem.\\nIllo ea magnam culpa sunt corporis eos nemo. Totam alias quae recusandae cupiditate totam optio earum. Aliquid iste culpa et modi ducimus sed repellat. Illum sapiente aliquid cum. Aut veritatis commodi cum dolorum reiciendis nostrum est.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5y\", \"created\": 1542381038.0, \"url\": \"/r/1542381038_repellat/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542381038.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2321" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "264.0" - ], - "x-ratelimit-reset": [ - "511" - ], - "x-ratelimit-used": [ - "36" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=5TZUvUabmCE3RJ5lbpbjA1lMLYP0xK3RJdwKt1W6TMbsctew3YdoXE3kHU2pEMC1cwIp%2Bwl5VPhcMrWozVwXgTIhQMYGEUoD" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542381038_repellat/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/am/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIste dolor quia et molestiae facere ex maiores. Quam velit laborum nisi a maiores quia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Iste dolor quia et molestiae facere ex maiores. Quam velit laborum nisi a maiores quia.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"am\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/am/quae_sunt_reiciendis_recusandae_pariatur/\", \"locked\": false, \"name\": \"t3_am\", \"created\": 1542381063.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/am/quae_sunt_reiciendis_recusandae_pariatur/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quae sunt reiciendis recusandae pariatur.\", \"created_utc\": 1542381063.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1773" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "263.0" - ], - "x-ratelimit-reset": [ - "511" - ], - "x-ratelimit-used": [ - "37" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=b%2FAg6DBzm1iFCAd6DmbQEVmgZqocJvgnU2Y3abXfykUfcChoGOZTClVBPxkhk5Dq5poF8VzlNxux%2B3EvSnCTuE2miX1EkVO7" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/am/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542381038_repellat/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5y\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542381038_repellat\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDelectus suscipit officiis occaecati earum laudantium laudantium. Ipsam natus quaerat voluptatem ducimus voluptatem quo. Voluptates voluptatum ullam sit id exercitationem.\\nIllo ea magnam culpa sunt corporis eos nemo. Totam alias quae recusandae cupiditate totam optio earum. Aliquid iste culpa et modi ducimus sed repellat. Illum sapiente aliquid cum. Aut veritatis commodi cum dolorum reiciendis nostrum est.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Quos repudiandae a repudiandae deserunt.\", \"collapse_deleted_comments\": false, \"public_description\": \"Expedita et quo ducimus molestias. Assumenda amet maiores nam totam.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita et quo ducimus molestias. Assumenda amet maiores nam totam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Delectus suscipit officiis occaecati earum laudantium laudantium. Ipsam natus quaerat voluptatem ducimus voluptatem quo. Voluptates voluptatum ullam sit id exercitationem.\\nIllo ea magnam culpa sunt corporis eos nemo. Totam alias quae recusandae cupiditate totam optio earum. Aliquid iste culpa et modi ducimus sed repellat. Illum sapiente aliquid cum. Aut veritatis commodi cum dolorum reiciendis nostrum est.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5y\", \"created\": 1542381038.0, \"url\": \"/r/1542381038_repellat/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542381038.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2321" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "262.0" - ], - "x-ratelimit-reset": [ - "511" - ], - "x-ratelimit-used": [ - "38" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=cAz3iL9DcFSGJ06tUgGjGWbGIvQv4zFhG%2BVma4te1pXwI909Lzbi4rWP5c9Zla2ZtvF%2FAyZI6kn%2FXDXHrrDVzEeOC7OqO2rp" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542381038_repellat/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/al/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EReprehenderit minus porro veniam. Asperiores corrupti accusantium excepturi eum est est.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Reprehenderit minus porro veniam. Asperiores corrupti accusantium excepturi eum est est.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"al\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/al/sapiente_quas_officiis_nemo_facilis/\", \"locked\": false, \"name\": \"t3_al\", \"created\": 1542381060.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/al/sapiente_quas_officiis_nemo_facilis/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Sapiente quas officiis nemo facilis.\", \"created_utc\": 1542381060.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1760" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "261.0" - ], - "x-ratelimit-reset": [ - "511" - ], - "x-ratelimit-used": [ - "39" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=dbfaBisO72%2BUg7nGT7A6R7fqMZeaasTynShyHvETjvGS3i2IIUs5f3Xz58SaUL8zVZIl6jLPeJJxiQApS6ue481aPuI07Odf" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/al/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542381038_repellat/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5y\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542381038_repellat\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDelectus suscipit officiis occaecati earum laudantium laudantium. Ipsam natus quaerat voluptatem ducimus voluptatem quo. Voluptates voluptatum ullam sit id exercitationem.\\nIllo ea magnam culpa sunt corporis eos nemo. Totam alias quae recusandae cupiditate totam optio earum. Aliquid iste culpa et modi ducimus sed repellat. Illum sapiente aliquid cum. Aut veritatis commodi cum dolorum reiciendis nostrum est.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Quos repudiandae a repudiandae deserunt.\", \"collapse_deleted_comments\": false, \"public_description\": \"Expedita et quo ducimus molestias. Assumenda amet maiores nam totam.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita et quo ducimus molestias. Assumenda amet maiores nam totam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Delectus suscipit officiis occaecati earum laudantium laudantium. Ipsam natus quaerat voluptatem ducimus voluptatem quo. Voluptates voluptatum ullam sit id exercitationem.\\nIllo ea magnam culpa sunt corporis eos nemo. Totam alias quae recusandae cupiditate totam optio earum. Aliquid iste culpa et modi ducimus sed repellat. Illum sapiente aliquid cum. Aut veritatis commodi cum dolorum reiciendis nostrum est.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5y\", \"created\": 1542381038.0, \"url\": \"/r/1542381038_repellat/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542381038.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2321" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "260.0" - ], - "x-ratelimit-reset": [ - "511" - ], - "x-ratelimit-used": [ - "40" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=vY7i3ec4gby71f5%2FHsr2D8XqM7WQCYi%2FNv8gqLBR0dvA2%2F5KentVVwCE04bm0dtYCfgoVdH6DaEZtzCAv0ERWcbyrezggOHD" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542381038_repellat/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ak/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381038_repellat\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EConsequatur qui ex ex dolorum temporibus at. Ratione eligendi nulla ipsam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Consequatur qui ex ex dolorum temporibus at. Ratione eligendi nulla ipsam.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ak\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH5ME12ZJN5NJNP6BAQTVF\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381038_repellat\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381038_repellat/comments/ak/est_laborum_beatae_beatae/\", \"locked\": false, \"name\": \"t3_ak\", \"created\": 1542381057.0, \"url\": \"http://reddit.local/r/1542381038_repellat/comments/ak/est_laborum_beatae_beatae/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Est laborum beatae beatae.\", \"created_utc\": 1542381057.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1702" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "259.0" - ], - "x-ratelimit-reset": [ - "511" - ], - "x-ratelimit-used": [ - "41" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=U9x51yTeud55vEkGDDYqwX%2B6z%2BAJm2RDeQSIKSn7EZa04w0BEHtBPJUqifVgGSHyJvgrjjB9sHDOry5tRpy1wm8AGKxScHtX" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ak/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2318-jSlSX2QBs40-gDEwqc-cWVTxjQA" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=CwhsCE5mMtKSMIt9Zg; loidcreated=2018-11-16T15%3A10%3A34.901Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542381038_repellat/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5y\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542381038_repellat\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDelectus suscipit officiis occaecati earum laudantium laudantium. Ipsam natus quaerat voluptatem ducimus voluptatem quo. Voluptates voluptatum ullam sit id exercitationem.\\nIllo ea magnam culpa sunt corporis eos nemo. Totam alias quae recusandae cupiditate totam optio earum. Aliquid iste culpa et modi ducimus sed repellat. Illum sapiente aliquid cum. Aut veritatis commodi cum dolorum reiciendis nostrum est.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Quos repudiandae a repudiandae deserunt.\", \"collapse_deleted_comments\": false, \"public_description\": \"Expedita et quo ducimus molestias. Assumenda amet maiores nam totam.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita et quo ducimus molestias. Assumenda amet maiores nam totam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Delectus suscipit officiis occaecati earum laudantium laudantium. Ipsam natus quaerat voluptatem ducimus voluptatem quo. Voluptates voluptatum ullam sit id exercitationem.\\nIllo ea magnam culpa sunt corporis eos nemo. Totam alias quae recusandae cupiditate totam optio earum. Aliquid iste culpa et modi ducimus sed repellat. Illum sapiente aliquid cum. Aut veritatis commodi cum dolorum reiciendis nostrum est.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5y\", \"created\": 1542381038.0, \"url\": \"/r/1542381038_repellat/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542381038.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2321" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "258.0" - ], - "x-ratelimit-reset": [ - "511" - ], - "x-ratelimit-used": [ - "42" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=JXTUo6QvuUwCnPf%2B8Pwv4ctyptdEHv5xufWyivr%2FzMlxSGo3M%2FdJ67cJSSQF0qEXpZyK9XV4CmgVPERXHvcV5tAZaELA%2BZb1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542381038_repellat/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_list_posts_pagination_non_offset_page.json b/cassettes/channels.views.posts_test.test_list_posts_pagination_non_offset_page.json deleted file mode 100644 index ca8b3448a8..0000000000 --- a/cassettes/channels.views.posts_test.test_list_posts_pagination_non_offset_page.json +++ /dev/null @@ -1,4112 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:11:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH7CQQJD0C95VKDNGXN434" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNjLQDXYvqgxNLkgNSikp84qM0A1Nyss21y2zLMqKVNJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9Cs8/TIiAz0cXK2yHf0L3H0DwnxcUoxcat09otKB2lKSS3LTE6Nz0wBmQzhKNUCAEJblwa6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=Dx0jQjrg1rEol676su; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:11:32 GMT", - "loidcreated=2018-11-16T15%3A11%3A32.572Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:11:32 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH7CQQJD0C95VKDNGXN434" - } - }, - { - "recorded_at": "2018-11-16T15:11:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH7FZWFKEE71ZQ4GP047KQ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNjLUDSr1LcgOzgzKtAw1LowKr0ryzTPNscjwdY7IV9JRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9Csy/F2jUwxyCo39Q9MT8z2yMgzdSnzqyoLzfD3BWlKSS3LTE6Nz0wBmQzhKNUCACRPM/S6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH7FZWFKEE71ZQ4GP047KQ" - } - }, - { - "recorded_at": "2018-11-16T15:11:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Iusto+illum+cumque+delectus+eos+eum+facilis+error.+Non+iste+deleniti+est+vitae+id+inventore.+Non+quibusdam+harum+id+quia+officia+reprehenderit.%0ADignissimos+nam+esse+esse+praesentium+temporibus+iure+vitae.+Quia+nihil+vero+libero.+Maiores+nemo+dicta+ut+sunt+praesentium.%0AOdit+esse+officiis+facere+voluptatem+praesentium+vero.+Beatae+deserunt+doloremque+iure+molestias+nemo+quasi.+Earum+soluta+iure+nisi+omnis+ipsum+similique+laborum+quibusdam.+Molestiae+accusamus+ducimus+maxime+deserunt+officia.&link_type=any&name=1542381096_voluptates&public_description=Officia+ipsam+iste+sint+quia+sed+fuga.&title=Aperiam+perferendis+laborum+dolores+eius.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2321-RuMpkSiRi9U3qZWzbMn5l8hMCXo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "717" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "504" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:39", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CWEH7CQQJD0C95VKDNGXN434&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2321-RuMpkSiRi9U3qZWzbMn5l8hMCXo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542381096_voluptates/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:39 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "501" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542381096_voluptates/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:39", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542381096_voluptates" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "80" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:39 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "501" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:39", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381096_voluptates&text=Molestias+ea+corporis+qui+magni.+Alias+maxime+vitae+quia+id+ad.&title=Nihil+eum+debitis+iste+autem+atque+at." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "193" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381096_voluptates/comments/au/nihil_eum_debitis_iste_autem_atque_at/\", \"id\": \"au\", \"name\": \"t3_au\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "169" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:39 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "501" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:39", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/au/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMolestias ea corporis qui magni. Alias maxime vitae quia id ad.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Molestias ea corporis qui magni. Alias maxime vitae quia id ad.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"au\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/au/nihil_eum_debitis_iste_autem_atque_at/\", \"locked\": false, \"name\": \"t3_au\", \"created\": 1542381099.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/au/nihil_eum_debitis_iste_autem_atque_at/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Nihil eum debitis iste autem atque at.\", \"created_utc\": 1542381099.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1724" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:39 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "501" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=7HJlC9zihC2nJEK6xwBzu81b60nIcS4kI%2FwUnMQ0M1k%2FOV410IQrNPRMZ7zbWjbHthmYn3pFumyvNaFN51UaUOL1%2FsLUDIPa" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/au/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381096_voluptates&text=Rerum+ut+nisi+placeat+laboriosam+sit+eos.+Temporibus+voluptas+assumenda+est+nam.&title=Odit+dicta+totam+odio+doloremque." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "205" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381096_voluptates/comments/av/odit_dicta_totam_odio_doloremque/\", \"id\": \"av\", \"name\": \"t3_av\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "164" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "498" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/av/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ERerum ut nisi placeat laboriosam sit eos. Temporibus voluptas assumenda est nam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Rerum ut nisi placeat laboriosam sit eos. Temporibus voluptas assumenda est nam.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"av\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/av/odit_dicta_totam_odio_doloremque/\", \"locked\": false, \"name\": \"t3_av\", \"created\": 1542381102.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/av/odit_dicta_totam_odio_doloremque/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Odit dicta totam odio doloremque.\", \"created_utc\": 1542381102.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1743" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "498" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=hQ5uISoYxY8toq8KsNQBb0nEgXuQEZ%2BX1hydrBgL5eQI2JmVLzsjhiHOAIYidcU18O%2B53zdbx1oEU1w0ePXANkpGxzDrXgHR" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/av/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381096_voluptates&text=Neque+suscipit+ratione+perferendis+explicabo.+A+sapiente+occaecati+mollitia+voluptatem+incidunt.&title=Neque+amet+fugiat+vero+error+nam+rem+quisquam." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "234" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381096_voluptates/comments/aw/neque_amet_fugiat_vero_error_nam_rem_quisquam/\", \"id\": \"aw\", \"name\": \"t3_aw\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "177" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "495" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/aw/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENeque suscipit ratione perferendis explicabo. A sapiente occaecati mollitia voluptatem incidunt.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Neque suscipit ratione perferendis explicabo. A sapiente occaecati mollitia voluptatem incidunt.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"aw\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/aw/neque_amet_fugiat_vero_error_nam_rem_quisquam/\", \"locked\": false, \"name\": \"t3_aw\", \"created\": 1542381105.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/aw/neque_amet_fugiat_vero_error_nam_rem_quisquam/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Neque amet fugiat vero error nam rem quisquam.\", \"created_utc\": 1542381105.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1814" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "495" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=a9tlrQpcTVfroIxO34N0kzQOu%2B8qf7km%2F%2BBY0tGsjkX1VPQWA23WP9t5DqRsUpm9ZdjcgjvxSy55IL2EznQPrFVgRgwvb%2Bo8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/aw/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381096_voluptates&text=Dolorum+minus+odit+inventore+necessitatibus+rem.+Enim+nostrum+doloremque+omnis+aut+fugit.&title=At+impedit+voluptas+temporibus." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "212" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381096_voluptates/comments/ax/at_impedit_voluptas_temporibus/\", \"id\": \"ax\", \"name\": \"t3_ax\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "162" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "492" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ax/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDolorum minus odit inventore necessitatibus rem. Enim nostrum doloremque omnis aut fugit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Dolorum minus odit inventore necessitatibus rem. Enim nostrum doloremque omnis aut fugit.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ax\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/ax/at_impedit_voluptas_temporibus/\", \"locked\": false, \"name\": \"t3_ax\", \"created\": 1542381108.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/ax/at_impedit_voluptas_temporibus/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"At impedit voluptas temporibus.\", \"created_utc\": 1542381108.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1755" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "492" - ], - "x-ratelimit-used": [ - "9" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ZjJf%2B7wl84lVr9KuSKppxKdlZs92utfZXB%2FMcOUE%2FikucdVDCwhxtD4c%2F0DCQhSexPoDHf0LEgzqobLbFJOcsp0sMifVES%2Bf" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ax/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:51", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381096_voluptates&text=Debitis+rerum+alias+culpa+quos+eos.+Impedit+sunt+aut+vitae+sit.&title=At+aliquid+beatae+unde+maiores+quaerat+nostrum." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "202" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381096_voluptates/comments/ay/at_aliquid_beatae_unde_maiores_quaerat_nostrum/\", \"id\": \"ay\", \"name\": \"t3_ay\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "178" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:51 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "489" - ], - "x-ratelimit-used": [ - "10" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ay/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDebitis rerum alias culpa quos eos. Impedit sunt aut vitae sit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Debitis rerum alias culpa quos eos. Impedit sunt aut vitae sit.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ay\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/ay/at_aliquid_beatae_unde_maiores_quaerat_nostrum/\", \"locked\": false, \"name\": \"t3_ay\", \"created\": 1542381111.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/ay/at_aliquid_beatae_unde_maiores_quaerat_nostrum/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"At aliquid beatae unde maiores quaerat nostrum.\", \"created_utc\": 1542381111.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1751" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "289.0" - ], - "x-ratelimit-reset": [ - "488" - ], - "x-ratelimit-used": [ - "11" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=cNKPjaebs69PT39fbHqJbWvQK4fptEbGik51W4j5EJUEzaMtdlUSQHPo5hZrTzwpuUBagVQCD%2BrWqe56lWcn0ApEo0M2fejR" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ay/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381096_voluptates&text=Corrupti+vel+temporibus+nemo+architecto.+Maiores+qui+commodi+dolores.+Nobis+corrupti+nemo+quo+eum.&title=Harum+culpa+possimus+quaerat+atque+similique." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "235" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381096_voluptates/comments/az/harum_culpa_possimus_quaerat_atque_similique/\", \"id\": \"az\", \"name\": \"t3_az\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "176" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "288.0" - ], - "x-ratelimit-reset": [ - "485" - ], - "x-ratelimit-used": [ - "12" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/az/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECorrupti vel temporibus nemo architecto. Maiores qui commodi dolores. Nobis corrupti nemo quo eum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Corrupti vel temporibus nemo architecto. Maiores qui commodi dolores. Nobis corrupti nemo quo eum.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"az\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/az/harum_culpa_possimus_quaerat_atque_similique/\", \"locked\": false, \"name\": \"t3_az\", \"created\": 1542381115.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/az/harum_culpa_possimus_quaerat_atque_similique/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Harum culpa possimus quaerat atque similique.\", \"created_utc\": 1542381115.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1815" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "287.0" - ], - "x-ratelimit-reset": [ - "485" - ], - "x-ratelimit-used": [ - "13" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=EiJO0gmyprcLrN0hOcPSJ1RXJufiRzxTx9lKGB79oINV5vHCYuZQr3ZOpm%2BvhXoNsMzA9eWrMJ%2F%2FL%2B%2Fmnt%2FJadtFvAY2Zz6J" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/az/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:58", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381096_voluptates&text=Praesentium+quisquam+nemo+facere+asperiores+eum.+Nesciunt+nulla+alias+debitis+vero.&title=Consectetur+similique+officia+magnam+temporibus." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "223" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381096_voluptates/comments/b0/consectetur_similique_officia_magnam_temporibus/\", \"id\": \"b0\", \"name\": \"t3_b0\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "179" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:58 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "286.0" - ], - "x-ratelimit-reset": [ - "482" - ], - "x-ratelimit-used": [ - "14" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:11:58", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/b0/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPraesentium quisquam nemo facere asperiores eum. Nesciunt nulla alias debitis vero.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Praesentium quisquam nemo facere asperiores eum. Nesciunt nulla alias debitis vero.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b0\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/b0/consectetur_similique_officia_magnam_temporibus/\", \"locked\": false, \"name\": \"t3_b0\", \"created\": 1542381118.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/b0/consectetur_similique_officia_magnam_temporibus/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Consectetur similique officia magnam temporibus.\", \"created_utc\": 1542381118.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1794" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:11:58 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "285.0" - ], - "x-ratelimit-reset": [ - "482" - ], - "x-ratelimit-used": [ - "15" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Xd5uK6Ld%2Bmr80awtsI8z2MMzycryujytkfLKUkEL4Zc3pJIIh80Ep399K2QJaOVLz%2Fc28JavRf%2FK1anhoqygs9FywdPcgYNt" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/b0/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:01", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381096_voluptates&text=Deserunt+doloribus+quaerat+dolore.+Itaque+error+hic+voluptate+maiores+deserunt+amet.&title=Illo+ducimus+soluta+repellendus+sed+aliquid." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "220" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381096_voluptates/comments/b1/illo_ducimus_soluta_repellendus_sed_aliquid/\", \"id\": \"b1\", \"name\": \"t3_b1\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "175" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:01 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "284.0" - ], - "x-ratelimit-reset": [ - "479" - ], - "x-ratelimit-used": [ - "16" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:01", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/b1/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDeserunt doloribus quaerat dolore. Itaque error hic voluptate maiores deserunt amet.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Deserunt doloribus quaerat dolore. Itaque error hic voluptate maiores deserunt amet.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b1\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/b1/illo_ducimus_soluta_repellendus_sed_aliquid/\", \"locked\": false, \"name\": \"t3_b1\", \"created\": 1542381121.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/b1/illo_ducimus_soluta_repellendus_sed_aliquid/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Illo ducimus soluta repellendus sed aliquid.\", \"created_utc\": 1542381121.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1784" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:01 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "283.0" - ], - "x-ratelimit-reset": [ - "479" - ], - "x-ratelimit-used": [ - "17" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=9YgGm8b2%2B7%2Bc1QJmqyv7nusBASe1SrmMwhw7IHW5V5OUNIC9pLuoCVTEiXIrwUj92p%2FzHIREDp7H3yxIVnmGIyMveayJr%2F5%2B" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/b1/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381096_voluptates&text=Adipisci+vero+vel+dicta.+Ut+tempora+occaecati+eius+dicta+deleniti+nisi.&title=Fugiat+aperiam+hic+perferendis+amet+labore." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "206" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381096_voluptates/comments/b2/fugiat_aperiam_hic_perferendis_amet_labore/\", \"id\": \"b2\", \"name\": \"t3_b2\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "174" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "282.0" - ], - "x-ratelimit-reset": [ - "476" - ], - "x-ratelimit-used": [ - "18" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/b2/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAdipisci vero vel dicta. Ut tempora occaecati eius dicta deleniti nisi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Adipisci vero vel dicta. Ut tempora occaecati eius dicta deleniti nisi.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b2\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/b2/fugiat_aperiam_hic_perferendis_amet_labore/\", \"locked\": false, \"name\": \"t3_b2\", \"created\": 1542381124.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/b2/fugiat_aperiam_hic_perferendis_amet_labore/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Fugiat aperiam hic perferendis amet labore.\", \"created_utc\": 1542381124.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1755" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "281.0" - ], - "x-ratelimit-reset": [ - "476" - ], - "x-ratelimit-used": [ - "19" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=kPFtwaVAjXFUI8S048i%2F37qu4WRp5DMprKIs4kg81atvFok8niUJrVzbUHmhRiazvHOxrr70%2FGa1BBxreVC%2BKhTRZ1LNqPXe" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/b2/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381096_voluptates&text=Ipsa+quisquam+autem+pariatur+non+quia.+Id+aliquid+temporibus+minus+explicabo+ipsum+dignissimos.&title=Laboriosam+a+ea+culpa+unde+alias+beatae." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "227" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381096_voluptates/comments/b3/laboriosam_a_ea_culpa_unde_alias_beatae/\", \"id\": \"b3\", \"name\": \"t3_b3\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "171" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "280.0" - ], - "x-ratelimit-reset": [ - "473" - ], - "x-ratelimit-used": [ - "20" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/b3/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIpsa quisquam autem pariatur non quia. Id aliquid temporibus minus explicabo ipsum dignissimos.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Ipsa quisquam autem pariatur non quia. Id aliquid temporibus minus explicabo ipsum dignissimos.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b3\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/b3/laboriosam_a_ea_culpa_unde_alias_beatae/\", \"locked\": false, \"name\": \"t3_b3\", \"created\": 1542381127.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/b3/laboriosam_a_ea_culpa_unde_alias_beatae/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Laboriosam a ea culpa unde alias beatae.\", \"created_utc\": 1542381127.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1794" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "279.0" - ], - "x-ratelimit-reset": [ - "473" - ], - "x-ratelimit-used": [ - "21" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=9Tq0xz%2FkaJzYk8cpl9AF93HMVjlml69IybNN2POEyYD8LusDBduMdVvQx0V908434bscbnLFBnZKgEvVcILME8kjOe5%2FwZdo" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/b3/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381096_voluptates&text=Sapiente+occaecati+blanditiis+aliquam+fugit.+Deserunt+excepturi+delectus+animi+facere+iste.&title=Explicabo+commodi+est+similique+ad+eius+saepe." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "229" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381096_voluptates/comments/b4/explicabo_commodi_est_similique_ad_eius_saepe/\", \"id\": \"b4\", \"name\": \"t3_b4\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "177" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "278.0" - ], - "x-ratelimit-reset": [ - "470" - ], - "x-ratelimit-used": [ - "22" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/b4/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESapiente occaecati blanditiis aliquam fugit. Deserunt excepturi delectus animi facere iste.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Sapiente occaecati blanditiis aliquam fugit. Deserunt excepturi delectus animi facere iste.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b4\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/b4/explicabo_commodi_est_similique_ad_eius_saepe/\", \"locked\": false, \"name\": \"t3_b4\", \"created\": 1542381130.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/b4/explicabo_commodi_est_similique_ad_eius_saepe/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Explicabo commodi est similique ad eius saepe.\", \"created_utc\": 1542381130.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1804" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "277.0" - ], - "x-ratelimit-reset": [ - "470" - ], - "x-ratelimit-used": [ - "23" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=vqtNaYgLJ%2BX7fGGhM7tMmAjTmq2hprZjhM3dQYulQPaZaJHsxO8NPcJYvrPo2C5Au4qeVhtQ6CdDNb3tWN%2F8TD99pDRJrjTR" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/b4/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381096_voluptates&text=Quas+quidem+eligendi+eos+autem+alias+nisi.+Earum+ratione+sunt+tempora+rem+recusandae.&title=Magni+sapiente+a+corporis." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "203" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381096_voluptates/comments/b5/magni_sapiente_a_corporis/\", \"id\": \"b5\", \"name\": \"t3_b5\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "157" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "276.0" - ], - "x-ratelimit-reset": [ - "467" - ], - "x-ratelimit-used": [ - "24" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/b5/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuas quidem eligendi eos autem alias nisi. Earum ratione sunt tempora rem recusandae.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quas quidem eligendi eos autem alias nisi. Earum ratione sunt tempora rem recusandae.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b5\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/b5/magni_sapiente_a_corporis/\", \"locked\": false, \"name\": \"t3_b5\", \"created\": 1542381133.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/b5/magni_sapiente_a_corporis/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Magni sapiente a corporis.\", \"created_utc\": 1542381133.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1732" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "275.0" - ], - "x-ratelimit-reset": [ - "467" - ], - "x-ratelimit-used": [ - "25" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=0%2FMXnMQFntPk%2B58Q7si0VDlZkpJ2qEM6nDvnz7H52UrA9%2FjWKK3IxaEAej7KmkZLTFWtr%2BpvIE89sel0Iar6UsEsQLT%2BbYbh" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/b5/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:17", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381096_voluptates&text=Ex+a+corrupti+nobis+porro+architecto+porro+sed.+Commodi+magni+officiis+perferendis+nihil+quia.&title=Ratione+accusantium+molestiae+harum+iure+optio." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "233" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381096_voluptates/comments/b6/ratione_accusantium_molestiae_harum_iure_optio/\", \"id\": \"b6\", \"name\": \"t3_b6\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "178" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:17 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "274.0" - ], - "x-ratelimit-reset": [ - "464" - ], - "x-ratelimit-used": [ - "26" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:17", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/b6/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEx a corrupti nobis porro architecto porro sed. Commodi magni officiis perferendis nihil quia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Ex a corrupti nobis porro architecto porro sed. Commodi magni officiis perferendis nihil quia.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b6\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/b6/ratione_accusantium_molestiae_harum_iure_optio/\", \"locked\": false, \"name\": \"t3_b6\", \"created\": 1542381136.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/b6/ratione_accusantium_molestiae_harum_iure_optio/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Ratione accusantium molestiae harum iure optio.\", \"created_utc\": 1542381136.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1813" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:17 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "273.0" - ], - "x-ratelimit-reset": [ - "463" - ], - "x-ratelimit-used": [ - "27" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=vzDudmI4LjPy13zE7OqMlgIFObrnfUPNX60aPVcYyO%2FmCfO68jXOK2pi7GcLwc9nZNg17Rb3cFA%2Fffik4P%2FEoMdJhi7ZdL%2B9" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/b6/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381096_voluptates&text=Non+eius+nisi+sunt+aliquid.+Impedit+quae+itaque+non+impedit.+Voluptas+maiores+illum+cum+vero.&title=Alias+architecto+illo+debitis+quasi." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "221" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381096_voluptates/comments/b7/alias_architecto_illo_debitis_quasi/\", \"id\": \"b7\", \"name\": \"t3_b7\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "167" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "272.0" - ], - "x-ratelimit-reset": [ - "460" - ], - "x-ratelimit-used": [ - "28" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/b7/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENon eius nisi sunt aliquid. Impedit quae itaque non impedit. Voluptas maiores illum cum vero.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Non eius nisi sunt aliquid. Impedit quae itaque non impedit. Voluptas maiores illum cum vero.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b7\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/b7/alias_architecto_illo_debitis_quasi/\", \"locked\": false, \"name\": \"t3_b7\", \"created\": 1542381140.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/b7/alias_architecto_illo_debitis_quasi/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Alias architecto illo debitis quasi.\", \"created_utc\": 1542381140.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1778" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "271.0" - ], - "x-ratelimit-reset": [ - "460" - ], - "x-ratelimit-used": [ - "29" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=gXSkP%2BmewRTkfyAZSwSexTcTCJB5sGjYpGY39yF9BRwcblQesjG4tzJEG41tRO4lDRpbFjzrZzF5fZTrqhtczf%2F%2FlWMfwKJU" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/b7/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542381096_voluptates&text=Cum+ex+commodi+excepturi+iusto+ea+at+repudiandae.+Quo+vitae+sequi+doloribus+at+architecto.&title=Eaque+nobis+corporis+sequi+nostrum+in." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "220" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542381096_voluptates/comments/b8/eaque_nobis_corporis_sequi_nostrum_in/\", \"id\": \"b8\", \"name\": \"t3_b8\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "169" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "270.0" - ], - "x-ratelimit-reset": [ - "457" - ], - "x-ratelimit-used": [ - "30" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/b8/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECum ex commodi excepturi iusto ea at repudiandae. Quo vitae sequi doloribus at architecto.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Cum ex commodi excepturi iusto ea at repudiandae. Quo vitae sequi doloribus at architecto.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b8\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/b8/eaque_nobis_corporis_sequi_nostrum_in/\", \"locked\": false, \"name\": \"t3_b8\", \"created\": 1542381143.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/b8/eaque_nobis_corporis_sequi_nostrum_in/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Eaque nobis corporis sequi nostrum in.\", \"created_utc\": 1542381143.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1778" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "269.0" - ], - "x-ratelimit-reset": [ - "457" - ], - "x-ratelimit-used": [ - "31" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=2P%2FrX40fdxjPMI3QiElxW2Ch6%2F%2BiwAZ1kfREnq9GCZHQtENyoFy8FmkO8frNAad5IwaRrxuOGzkFj4nkQd22fQ0VLILCJwDg" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/b8/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542381096_voluptates/hot?after=t3_b3&count=5&limit=5&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542381096_voluptates\", \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAdipisci vero vel dicta. Ut tempora occaecati eius dicta deleniti nisi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Adipisci vero vel dicta. Ut tempora occaecati eius dicta deleniti nisi.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b2\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"name\": \"t3_b2\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/b2/fugiat_aperiam_hic_perferendis_amet_labore/\", \"locked\": false, \"stickied\": false, \"created\": 1542381124.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/b2/fugiat_aperiam_hic_perferendis_amet_labore/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Fugiat aperiam hic perferendis amet labore.\", \"created_utc\": 1542381124.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542381096_voluptates\", \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDeserunt doloribus quaerat dolore. Itaque error hic voluptate maiores deserunt amet.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Deserunt doloribus quaerat dolore. Itaque error hic voluptate maiores deserunt amet.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b1\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"name\": \"t3_b1\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/b1/illo_ducimus_soluta_repellendus_sed_aliquid/\", \"locked\": false, \"stickied\": false, \"created\": 1542381121.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/b1/illo_ducimus_soluta_repellendus_sed_aliquid/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Illo ducimus soluta repellendus sed aliquid.\", \"created_utc\": 1542381121.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542381096_voluptates\", \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPraesentium quisquam nemo facere asperiores eum. Nesciunt nulla alias debitis vero.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Praesentium quisquam nemo facere asperiores eum. Nesciunt nulla alias debitis vero.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b0\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"name\": \"t3_b0\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/b0/consectetur_similique_officia_magnam_temporibus/\", \"locked\": false, \"stickied\": false, \"created\": 1542381118.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/b0/consectetur_similique_officia_magnam_temporibus/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Consectetur similique officia magnam temporibus.\", \"created_utc\": 1542381118.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542381096_voluptates\", \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECorrupti vel temporibus nemo architecto. Maiores qui commodi dolores. Nobis corrupti nemo quo eum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Corrupti vel temporibus nemo architecto. Maiores qui commodi dolores. Nobis corrupti nemo quo eum.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"az\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"name\": \"t3_az\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/az/harum_culpa_possimus_quaerat_atque_similique/\", \"locked\": false, \"stickied\": false, \"created\": 1542381115.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/az/harum_culpa_possimus_quaerat_atque_similique/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Harum culpa possimus quaerat atque similique.\", \"created_utc\": 1542381115.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542381096_voluptates\", \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDebitis rerum alias culpa quos eos. Impedit sunt aut vitae sit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Debitis rerum alias culpa quos eos. Impedit sunt aut vitae sit.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ay\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"name\": \"t3_ay\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/ay/at_aliquid_beatae_unde_maiores_quaerat_nostrum/\", \"locked\": false, \"stickied\": false, \"created\": 1542381111.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/ay/at_aliquid_beatae_unde_maiores_quaerat_nostrum/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"At aliquid beatae unde maiores quaerat nostrum.\", \"created_utc\": 1542381111.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": \"t3_ay\", \"before\": \"t3_b2\"}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "7951" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "268.0" - ], - "x-ratelimit-reset": [ - "454" - ], - "x-ratelimit-used": [ - "32" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=sJwfjviJH3p2uOS5%2Fz0B%2B%2BH4n%2FZTtbFLuoJQG0201WDDBn302saGoCKfPtBRpuQgl7DH%2FqdSxdZU1PiZCTsGLe%2Fj3a7I6BPL" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542381096_voluptates/hot?after=t3_b3&count=5&limit=5&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/b2/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAdipisci vero vel dicta. Ut tempora occaecati eius dicta deleniti nisi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Adipisci vero vel dicta. Ut tempora occaecati eius dicta deleniti nisi.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b2\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/b2/fugiat_aperiam_hic_perferendis_amet_labore/\", \"locked\": false, \"name\": \"t3_b2\", \"created\": 1542381124.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/b2/fugiat_aperiam_hic_perferendis_amet_labore/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Fugiat aperiam hic perferendis amet labore.\", \"created_utc\": 1542381124.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1755" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "267.0" - ], - "x-ratelimit-reset": [ - "454" - ], - "x-ratelimit-used": [ - "33" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=og7NpQmFCJHKuJc95FG%2BHEhKGCv5RSK2LFXGvRcIcNdKN37Q4Mj8kJWVxO8k1r%2BMnPFaVBsjy8EGOXyncuwxbr93wc6QJHGZ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/b2/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542381096_voluptates/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5z\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542381096_voluptates\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIusto illum cumque delectus eos eum facilis error. Non iste deleniti est vitae id inventore. Non quibusdam harum id quia officia reprehenderit.\\nDignissimos nam esse esse praesentium temporibus iure vitae. Quia nihil vero libero. Maiores nemo dicta ut sunt praesentium.\\nOdit esse officiis facere voluptatem praesentium vero. Beatae deserunt doloremque iure molestias nemo quasi. Earum soluta iure nisi omnis ipsum similique laborum quibusdam. Molestiae accusamus ducimus maxime deserunt officia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Aperiam perferendis laborum dolores eius.\", \"collapse_deleted_comments\": false, \"public_description\": \"Officia ipsam iste sint quia sed fuga.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOfficia ipsam iste sint quia sed fuga.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Iusto illum cumque delectus eos eum facilis error. Non iste deleniti est vitae id inventore. Non quibusdam harum id quia officia reprehenderit.\\nDignissimos nam esse esse praesentium temporibus iure vitae. Quia nihil vero libero. Maiores nemo dicta ut sunt praesentium.\\nOdit esse officiis facere voluptatem praesentium vero. Beatae deserunt doloremque iure molestias nemo quasi. Earum soluta iure nisi omnis ipsum similique laborum quibusdam. Molestiae accusamus ducimus maxime deserunt officia.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5z\", \"created\": 1542381096.0, \"url\": \"/r/1542381096_voluptates/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542381096.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2438" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "266.0" - ], - "x-ratelimit-reset": [ - "454" - ], - "x-ratelimit-used": [ - "34" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=%2FvHYNsNLDRqm2kd91YEZ30DoK1U7wvGtQxmvlGonz1iQF0hdMiUMMSYVfz5uP11gdI7nA4DGOVq0KPAJ2hNobq5gIv%2BFIJ14" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542381096_voluptates/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/b1/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDeserunt doloribus quaerat dolore. Itaque error hic voluptate maiores deserunt amet.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Deserunt doloribus quaerat dolore. Itaque error hic voluptate maiores deserunt amet.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b1\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/b1/illo_ducimus_soluta_repellendus_sed_aliquid/\", \"locked\": false, \"name\": \"t3_b1\", \"created\": 1542381121.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/b1/illo_ducimus_soluta_repellendus_sed_aliquid/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Illo ducimus soluta repellendus sed aliquid.\", \"created_utc\": 1542381121.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1784" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "265.0" - ], - "x-ratelimit-reset": [ - "454" - ], - "x-ratelimit-used": [ - "35" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=y8c84z1g6kYrUEfqytYXWzYXeMT2kKylmxZOhnB%2Bth7DedAZoYaR9NK5ktiZkBu1td3uDeB48VhfnSOy7CLQDFivxT%2BWRWtN" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/b1/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542381096_voluptates/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5z\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542381096_voluptates\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIusto illum cumque delectus eos eum facilis error. Non iste deleniti est vitae id inventore. Non quibusdam harum id quia officia reprehenderit.\\nDignissimos nam esse esse praesentium temporibus iure vitae. Quia nihil vero libero. Maiores nemo dicta ut sunt praesentium.\\nOdit esse officiis facere voluptatem praesentium vero. Beatae deserunt doloremque iure molestias nemo quasi. Earum soluta iure nisi omnis ipsum similique laborum quibusdam. Molestiae accusamus ducimus maxime deserunt officia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Aperiam perferendis laborum dolores eius.\", \"collapse_deleted_comments\": false, \"public_description\": \"Officia ipsam iste sint quia sed fuga.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOfficia ipsam iste sint quia sed fuga.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Iusto illum cumque delectus eos eum facilis error. Non iste deleniti est vitae id inventore. Non quibusdam harum id quia officia reprehenderit.\\nDignissimos nam esse esse praesentium temporibus iure vitae. Quia nihil vero libero. Maiores nemo dicta ut sunt praesentium.\\nOdit esse officiis facere voluptatem praesentium vero. Beatae deserunt doloremque iure molestias nemo quasi. Earum soluta iure nisi omnis ipsum similique laborum quibusdam. Molestiae accusamus ducimus maxime deserunt officia.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5z\", \"created\": 1542381096.0, \"url\": \"/r/1542381096_voluptates/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542381096.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2438" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "264.0" - ], - "x-ratelimit-reset": [ - "454" - ], - "x-ratelimit-used": [ - "36" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=jlZcxmjwPCCiXlPVAQBPCvoD%2FA%2BvYBx%2BZXIcrqe2Ol3935LaaFoLuEts%2BqNMXSZkN7rX9tpPGWj62FutSSJgazkSZjKWwnNN" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542381096_voluptates/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/b0/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPraesentium quisquam nemo facere asperiores eum. Nesciunt nulla alias debitis vero.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Praesentium quisquam nemo facere asperiores eum. Nesciunt nulla alias debitis vero.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"b0\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/b0/consectetur_similique_officia_magnam_temporibus/\", \"locked\": false, \"name\": \"t3_b0\", \"created\": 1542381118.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/b0/consectetur_similique_officia_magnam_temporibus/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Consectetur similique officia magnam temporibus.\", \"created_utc\": 1542381118.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1794" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "263.0" - ], - "x-ratelimit-reset": [ - "454" - ], - "x-ratelimit-used": [ - "37" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=rKpONZc5p1jbnbkBjFFftwz4LxHcvlq6Ias6u0vrVAIanGw1lsd5Ql9XSfZkMiUfRbbiyPtWl%2BmbZigyORnbu0KkEkbZ72fx" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/b0/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542381096_voluptates/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5z\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542381096_voluptates\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIusto illum cumque delectus eos eum facilis error. Non iste deleniti est vitae id inventore. Non quibusdam harum id quia officia reprehenderit.\\nDignissimos nam esse esse praesentium temporibus iure vitae. Quia nihil vero libero. Maiores nemo dicta ut sunt praesentium.\\nOdit esse officiis facere voluptatem praesentium vero. Beatae deserunt doloremque iure molestias nemo quasi. Earum soluta iure nisi omnis ipsum similique laborum quibusdam. Molestiae accusamus ducimus maxime deserunt officia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Aperiam perferendis laborum dolores eius.\", \"collapse_deleted_comments\": false, \"public_description\": \"Officia ipsam iste sint quia sed fuga.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOfficia ipsam iste sint quia sed fuga.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Iusto illum cumque delectus eos eum facilis error. Non iste deleniti est vitae id inventore. Non quibusdam harum id quia officia reprehenderit.\\nDignissimos nam esse esse praesentium temporibus iure vitae. Quia nihil vero libero. Maiores nemo dicta ut sunt praesentium.\\nOdit esse officiis facere voluptatem praesentium vero. Beatae deserunt doloremque iure molestias nemo quasi. Earum soluta iure nisi omnis ipsum similique laborum quibusdam. Molestiae accusamus ducimus maxime deserunt officia.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5z\", \"created\": 1542381096.0, \"url\": \"/r/1542381096_voluptates/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542381096.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2438" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "262.0" - ], - "x-ratelimit-reset": [ - "454" - ], - "x-ratelimit-used": [ - "38" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=SDkBoEk7w9HjdMpB%2Fq5NbLenqz%2B9m6bwBAf0kD%2BxFUPBqFgtPq8mvIUl64AJqsTUpGMkbhpVwt1AdVon6yvPjF%2FU20wQsBXU" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542381096_voluptates/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/az/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECorrupti vel temporibus nemo architecto. Maiores qui commodi dolores. Nobis corrupti nemo quo eum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Corrupti vel temporibus nemo architecto. Maiores qui commodi dolores. Nobis corrupti nemo quo eum.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"az\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/az/harum_culpa_possimus_quaerat_atque_similique/\", \"locked\": false, \"name\": \"t3_az\", \"created\": 1542381115.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/az/harum_culpa_possimus_quaerat_atque_similique/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Harum culpa possimus quaerat atque similique.\", \"created_utc\": 1542381115.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1815" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "261.0" - ], - "x-ratelimit-reset": [ - "454" - ], - "x-ratelimit-used": [ - "39" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=2Oga%2BGZN2veCp0%2FvHl3jPNlUXjMwtsO9RKAHF5tPf1wQjj%2B0%2FnSDGHfOf%2BSOwNXgLD2QrP7nPz8xsM9sFXfi%2FNU0DzpgVYp6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/az/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542381096_voluptates/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5z\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542381096_voluptates\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIusto illum cumque delectus eos eum facilis error. Non iste deleniti est vitae id inventore. Non quibusdam harum id quia officia reprehenderit.\\nDignissimos nam esse esse praesentium temporibus iure vitae. Quia nihil vero libero. Maiores nemo dicta ut sunt praesentium.\\nOdit esse officiis facere voluptatem praesentium vero. Beatae deserunt doloremque iure molestias nemo quasi. Earum soluta iure nisi omnis ipsum similique laborum quibusdam. Molestiae accusamus ducimus maxime deserunt officia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Aperiam perferendis laborum dolores eius.\", \"collapse_deleted_comments\": false, \"public_description\": \"Officia ipsam iste sint quia sed fuga.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOfficia ipsam iste sint quia sed fuga.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Iusto illum cumque delectus eos eum facilis error. Non iste deleniti est vitae id inventore. Non quibusdam harum id quia officia reprehenderit.\\nDignissimos nam esse esse praesentium temporibus iure vitae. Quia nihil vero libero. Maiores nemo dicta ut sunt praesentium.\\nOdit esse officiis facere voluptatem praesentium vero. Beatae deserunt doloremque iure molestias nemo quasi. Earum soluta iure nisi omnis ipsum similique laborum quibusdam. Molestiae accusamus ducimus maxime deserunt officia.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5z\", \"created\": 1542381096.0, \"url\": \"/r/1542381096_voluptates/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542381096.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2438" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "260.0" - ], - "x-ratelimit-reset": [ - "454" - ], - "x-ratelimit-used": [ - "40" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=dWde16biTjkYN7oCZdpPbOakd3YXefn9aShRN5MMqlcodcb9yrgDWWuulsjsj5enePHuSYCbOHMT1o2fYyrNGsL3MgESBw7h" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542381096_voluptates/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/ay/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542381096_voluptates\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDebitis rerum alias culpa quos eos. Impedit sunt aut vitae sit.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Debitis rerum alias culpa quos eos. Impedit sunt aut vitae sit.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"ay\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH7CQQJD0C95VKDNGXN434\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542381096_voluptates\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542381096_voluptates/comments/ay/at_aliquid_beatae_unde_maiores_quaerat_nostrum/\", \"locked\": false, \"name\": \"t3_ay\", \"created\": 1542381111.0, \"url\": \"http://reddit.local/r/1542381096_voluptates/comments/ay/at_aliquid_beatae_unde_maiores_quaerat_nostrum/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"At aliquid beatae unde maiores quaerat nostrum.\", \"created_utc\": 1542381111.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1751" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "259.0" - ], - "x-ratelimit-reset": [ - "454" - ], - "x-ratelimit-used": [ - "41" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=xfubAI%2F0DUYrcf4u%2BAre3AeWaSx336kKiH8x8qNlMdR1hnrjRKV1m9fzPbwZXLp4nE%2ByJF2%2B0NiQb9xKIt5XTTn2qZ06KFQ8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/ay/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:12:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2320-SGryUcpeRdtvJYX-Ubnk7-v9rjY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Dx0jQjrg1rEol676su; loidcreated=2018-11-16T15%3A11%3A32.572Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542381096_voluptates/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5z\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542381096_voluptates\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIusto illum cumque delectus eos eum facilis error. Non iste deleniti est vitae id inventore. Non quibusdam harum id quia officia reprehenderit.\\nDignissimos nam esse esse praesentium temporibus iure vitae. Quia nihil vero libero. Maiores nemo dicta ut sunt praesentium.\\nOdit esse officiis facere voluptatem praesentium vero. Beatae deserunt doloremque iure molestias nemo quasi. Earum soluta iure nisi omnis ipsum similique laborum quibusdam. Molestiae accusamus ducimus maxime deserunt officia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Aperiam perferendis laborum dolores eius.\", \"collapse_deleted_comments\": false, \"public_description\": \"Officia ipsam iste sint quia sed fuga.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOfficia ipsam iste sint quia sed fuga.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Iusto illum cumque delectus eos eum facilis error. Non iste deleniti est vitae id inventore. Non quibusdam harum id quia officia reprehenderit.\\nDignissimos nam esse esse praesentium temporibus iure vitae. Quia nihil vero libero. Maiores nemo dicta ut sunt praesentium.\\nOdit esse officiis facere voluptatem praesentium vero. Beatae deserunt doloremque iure molestias nemo quasi. Earum soluta iure nisi omnis ipsum similique laborum quibusdam. Molestiae accusamus ducimus maxime deserunt officia.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5z\", \"created\": 1542381096.0, \"url\": \"/r/1542381096_voluptates/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542381096.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2438" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:12:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "258.0" - ], - "x-ratelimit-reset": [ - "454" - ], - "x-ratelimit-used": [ - "42" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=yNoyElkWHP9E9F3znAomYnu61sylpUTtlUhnLaEfO7EVpWQykL6cF1gpvVA3G%2BhfdbcMRTk%2B07UFzb4RRbMhNaMHnHIeF317" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542381096_voluptates/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_list_posts_sorted[hot].json b/cassettes/channels.views.posts_test.test_list_posts_sorted[hot].json deleted file mode 100644 index 650026f870..0000000000 --- a/cassettes/channels.views.posts_test.test_list_posts_sorted[hot].json +++ /dev/null @@ -1,1943 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:07:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGZA3NRMPJANA8PPRYS84N" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNjDT9da1KPavKKgyyAv3MMws9PT2jnQMCXSOKgwpVtJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9CsC7LIysgxCogP8y2LDE4rSQtN9HPWjcwrdjNKB2lKSS3LTE6Nz0wBmQzhKNUCANdpq4C6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:07:07 GMT", - "loidcreated=2018-11-16T15%3A07%3A07.617Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:07:07 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGZA3NRMPJANA8PPRYS84N" - } - }, - { - "recorded_at": "2018-11-16T15:07:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGZDD3DHEYPM8GZGZGK8ND" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12Nyw6CMBREf4V0aTSpkkh0KZs2YSeJ6KYpl2u4Ci22SHzEf5fKzuVM5px5Mw2A3qveXtGwbcRWMU8WHkrR1JbfdnfS6eVkYCMpz/ctAptHDB8dOfSKAhGvOR+7n0D1zw6DpUTt0IWtBztVs5Acnkew/rs7pDI5JqLJRFvAq5BDsQRtclNlMkAVDgSoqArmKbDPF2MeP8u6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEGZDD3DHEYPM8GZGZGK8ND" - } - }, - { - "recorded_at": "2018-11-16T15:07:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Et+doloribus+assumenda+quidem.+Occaecati+excepturi+ratione+consequuntur.+Repellendus+eius+maxime+reiciendis+aspernatur+voluptatibus+dolores.+Architecto+facere+harum+beatae+dolorem+laborum+officiis+eius.%0ADucimus+quaerat+voluptatum+assumenda+dignissimos+accusantium.+Adipisci+omnis+delectus+sed+dolorem+facere+corporis+quasi.+Sequi+cupiditate+quos+neque+totam+ad+error.+Nihil+reprehenderit+laboriosam+labore+nemo.&link_type=any&name=1542380831_sequi&public_description=Atque+aspernatur+libero+vel+ullam+commodi+rem+iure.&title=Earum+repellat+ipsum+assumenda.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2307-scbHlho0qBuiaCjZnc9IiTTSmec" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "630" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "169" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CWEGZA3NRMPJANA8PPRYS84N&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2307-scbHlho0qBuiaCjZnc9IiTTSmec" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542380831_sequi/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "166" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380831_sequi/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542380831_sequi" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2306-K-8sOxpz0nWH1iqIKKYATQCZqTs" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "75" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "166" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380831_sequi&text=Expedita+suscipit+quae+impedit.+Ea+totam+et+saepe.+Et+odio+a+voluptate+voluptas+fugiat+quae.&title=Ad+magni+quis+maiores+deserunt." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2306-K-8sOxpz0nWH1iqIKKYATQCZqTs" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "210" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380831_sequi/comments/95/ad_magni_quis_maiores_deserunt/\", \"id\": \"95\", \"name\": \"t3_95\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "157" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "166" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2306-K-8sOxpz0nWH1iqIKKYATQCZqTs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/95/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380831_sequi\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita suscipit quae impedit. Ea totam et saepe. Et odio a voluptate voluptas fugiat quae.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Expedita suscipit quae impedit. Ea totam et saepe. Et odio a voluptate voluptas fugiat quae.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"95\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGZA3NRMPJANA8PPRYS84N\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380831_sequi\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5s\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380831_sequi/comments/95/ad_magni_quis_maiores_deserunt/\", \"locked\": false, \"name\": \"t3_95\", \"created\": 1542380834.0, \"url\": \"http://reddit.local/r/1542380831_sequi/comments/95/ad_magni_quis_maiores_deserunt/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Ad magni quis maiores deserunt.\", \"created_utc\": 1542380834.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1741" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "166" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=4skeFwq1dvPzCq5zxtzVZCYlO0S2oAPOI%2B%2FhxXsAHFJTT3sWAUsuvJfmz2vtjETUMEk2SIVnlfbaB1yKkq2RgHXyocW6p5Jx" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/95/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:17", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380831_sequi&text=Assumenda+eveniet+consequatur+eos+autem+quos.+Autem+architecto+iure+nesciunt+voluptatibus.&title=Dignissimos+at+repellat+explicabo+rem+earum." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2306-K-8sOxpz0nWH1iqIKKYATQCZqTs" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "221" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380831_sequi/comments/96/dignissimos_at_repellat_explicabo_rem_earum/\", \"id\": \"96\", \"name\": \"t3_96\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "170" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:17 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "163" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2306-K-8sOxpz0nWH1iqIKKYATQCZqTs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/96/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380831_sequi\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAssumenda eveniet consequatur eos autem quos. Autem architecto iure nesciunt voluptatibus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Assumenda eveniet consequatur eos autem quos. Autem architecto iure nesciunt voluptatibus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"96\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGZA3NRMPJANA8PPRYS84N\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380831_sequi\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5s\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380831_sequi/comments/96/dignissimos_at_repellat_explicabo_rem_earum/\", \"locked\": false, \"name\": \"t3_96\", \"created\": 1542380837.0, \"url\": \"http://reddit.local/r/1542380831_sequi/comments/96/dignissimos_at_repellat_explicabo_rem_earum/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Dignissimos at repellat explicabo rem earum.\", \"created_utc\": 1542380837.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1776" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:17 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "163" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=IWyYIiytN1qhgnQmwbh8Oi0uOccWCFLME5Tti9yZdLbvGjer4cFFP2jCnNQ2v29qL%2F9NUddQ4UWlZQksQBHrkmhhVJFVyQsD" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/96/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380831_sequi&text=Corrupti+at+dolorum+natus+neque+molestiae+veritatis.+Ab+ex+vero+beatae+vel+quaerat.&title=Sapiente+quidem+officiis+consectetur+amet." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2306-K-8sOxpz0nWH1iqIKKYATQCZqTs" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "212" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380831_sequi/comments/97/sapiente_quidem_officiis_consectetur_amet/\", \"id\": \"97\", \"name\": \"t3_97\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "168" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "160" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2306-K-8sOxpz0nWH1iqIKKYATQCZqTs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/97/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380831_sequi\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECorrupti at dolorum natus neque molestiae veritatis. Ab ex vero beatae vel quaerat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Corrupti at dolorum natus neque molestiae veritatis. Ab ex vero beatae vel quaerat.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"97\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGZA3NRMPJANA8PPRYS84N\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380831_sequi\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5s\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380831_sequi/comments/97/sapiente_quidem_officiis_consectetur_amet/\", \"locked\": false, \"name\": \"t3_97\", \"created\": 1542380840.0, \"url\": \"http://reddit.local/r/1542380831_sequi/comments/97/sapiente_quidem_officiis_consectetur_amet/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Sapiente quidem officiis consectetur amet.\", \"created_utc\": 1542380840.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1756" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "159" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=1ekSp4pLXWJKse2vI%2FJJy%2BRQadkXOhZCgtQeuKLLZhdqEZWepkdwX2eBy4cC3wqc6o2ct4ZRjU5EcF3Uzle%2BAF44HLqNsNqQ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/97/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380831_sequi&text=Quaerat+illum+explicabo+cumque+quo+hic.+Ratione+minima+officia+dolorum+blanditiis+ex+est.&title=Dolorum+voluptates+quisquam+ab+totam+occaecati." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2306-K-8sOxpz0nWH1iqIKKYATQCZqTs" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "223" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380831_sequi/comments/98/dolorum_voluptates_quisquam_ab_totam_occaecati/\", \"id\": \"98\", \"name\": \"t3_98\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "173" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "156" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2306-K-8sOxpz0nWH1iqIKKYATQCZqTs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/98/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380831_sequi\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuaerat illum explicabo cumque quo hic. Ratione minima officia dolorum blanditiis ex est.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quaerat illum explicabo cumque quo hic. Ratione minima officia dolorum blanditiis ex est.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"98\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGZA3NRMPJANA8PPRYS84N\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380831_sequi\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5s\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380831_sequi/comments/98/dolorum_voluptates_quisquam_ab_totam_occaecati/\", \"locked\": false, \"name\": \"t3_98\", \"created\": 1542380844.0, \"url\": \"http://reddit.local/r/1542380831_sequi/comments/98/dolorum_voluptates_quisquam_ab_totam_occaecati/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Dolorum voluptates quisquam ab totam occaecati.\", \"created_utc\": 1542380844.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1783" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "156" - ], - "x-ratelimit-used": [ - "9" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=yANf2nk6yZ9tkPsEh5oOw9tU1yjP7ui903Cqx%2FbPTP8owEhf49bWQx3PK%2B40kHZCJvb5BOC4ThZVx0zKxc4tdgi6oqkQM%2FGI" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/98/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2306-K-8sOxpz0nWH1iqIKKYATQCZqTs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380831_sequi/hot?count=0&limit=25&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380831_sequi\", \"subreddit\": \"1542380831_sequi\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuaerat illum explicabo cumque quo hic. Ratione minima officia dolorum blanditiis ex est.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quaerat illum explicabo cumque quo hic. Ratione minima officia dolorum blanditiis ex est.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"98\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGZA3NRMPJANA8PPRYS84N\", \"media\": null, \"name\": \"t3_98\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5s\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380831_sequi/comments/98/dolorum_voluptates_quisquam_ab_totam_occaecati/\", \"locked\": false, \"stickied\": false, \"created\": 1542380844.0, \"url\": \"http://reddit.local/r/1542380831_sequi/comments/98/dolorum_voluptates_quisquam_ab_totam_occaecati/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Dolorum voluptates quisquam ab totam occaecati.\", \"created_utc\": 1542380844.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380831_sequi\", \"subreddit\": \"1542380831_sequi\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECorrupti at dolorum natus neque molestiae veritatis. Ab ex vero beatae vel quaerat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Corrupti at dolorum natus neque molestiae veritatis. Ab ex vero beatae vel quaerat.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"97\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGZA3NRMPJANA8PPRYS84N\", \"media\": null, \"name\": \"t3_97\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5s\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380831_sequi/comments/97/sapiente_quidem_officiis_consectetur_amet/\", \"locked\": false, \"stickied\": false, \"created\": 1542380840.0, \"url\": \"http://reddit.local/r/1542380831_sequi/comments/97/sapiente_quidem_officiis_consectetur_amet/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Sapiente quidem officiis consectetur amet.\", \"created_utc\": 1542380840.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380831_sequi\", \"subreddit\": \"1542380831_sequi\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAssumenda eveniet consequatur eos autem quos. Autem architecto iure nesciunt voluptatibus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Assumenda eveniet consequatur eos autem quos. Autem architecto iure nesciunt voluptatibus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"96\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGZA3NRMPJANA8PPRYS84N\", \"media\": null, \"name\": \"t3_96\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5s\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380831_sequi/comments/96/dignissimos_at_repellat_explicabo_rem_earum/\", \"locked\": false, \"stickied\": false, \"created\": 1542380837.0, \"url\": \"http://reddit.local/r/1542380831_sequi/comments/96/dignissimos_at_repellat_explicabo_rem_earum/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Dignissimos at repellat explicabo rem earum.\", \"created_utc\": 1542380837.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380831_sequi\", \"subreddit\": \"1542380831_sequi\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita suscipit quae impedit. Ea totam et saepe. Et odio a voluptate voluptas fugiat quae.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Expedita suscipit quae impedit. Ea totam et saepe. Et odio a voluptate voluptas fugiat quae.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"95\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGZA3NRMPJANA8PPRYS84N\", \"media\": null, \"name\": \"t3_95\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5s\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380831_sequi/comments/95/ad_magni_quis_maiores_deserunt/\", \"locked\": false, \"stickied\": false, \"created\": 1542380834.0, \"url\": \"http://reddit.local/r/1542380831_sequi/comments/95/ad_magni_quis_maiores_deserunt/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Ad magni quis maiores deserunt.\", \"created_utc\": 1542380834.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "6311" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "153" - ], - "x-ratelimit-used": [ - "10" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=S8Nz9hhVcvv39pkHepNZFkw2yYerHZdoGSBNVCVZ1PfxHGJerty9dl44JKH%2BaKJ1FjZIdV5zbmsRo9urPRbkhxoWJ1m%2BsQc2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380831_sequi/hot?count=0&limit=25&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2306-K-8sOxpz0nWH1iqIKKYATQCZqTs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/98/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380831_sequi\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuaerat illum explicabo cumque quo hic. Ratione minima officia dolorum blanditiis ex est.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quaerat illum explicabo cumque quo hic. Ratione minima officia dolorum blanditiis ex est.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"98\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGZA3NRMPJANA8PPRYS84N\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380831_sequi\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5s\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380831_sequi/comments/98/dolorum_voluptates_quisquam_ab_totam_occaecati/\", \"locked\": false, \"name\": \"t3_98\", \"created\": 1542380844.0, \"url\": \"http://reddit.local/r/1542380831_sequi/comments/98/dolorum_voluptates_quisquam_ab_totam_occaecati/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Dolorum voluptates quisquam ab totam occaecati.\", \"created_utc\": 1542380844.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1783" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "289.0" - ], - "x-ratelimit-reset": [ - "153" - ], - "x-ratelimit-used": [ - "11" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=kY%2FfnUfm7oje%2BEKZMUzAEK%2Bw5hEwSnRb%2FbFNuTN7iHVSVvCcN5HFnVknsrwBwFdrFtrdBjcBkzB6xDrPxeu%2FBdzNm%2FKDgmvk" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/98/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2306-K-8sOxpz0nWH1iqIKKYATQCZqTs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380831_sequi/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5s\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380831_sequi\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEt doloribus assumenda quidem. Occaecati excepturi ratione consequuntur. Repellendus eius maxime reiciendis aspernatur voluptatibus dolores. Architecto facere harum beatae dolorem laborum officiis eius.\\nDucimus quaerat voluptatum assumenda dignissimos accusantium. Adipisci omnis delectus sed dolorem facere corporis quasi. Sequi cupiditate quos neque totam ad error. Nihil reprehenderit laboriosam labore nemo.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Earum repellat ipsum assumenda.\", \"collapse_deleted_comments\": false, \"public_description\": \"Atque aspernatur libero vel ullam commodi rem iure.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAtque aspernatur libero vel ullam commodi rem iure.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Et doloribus assumenda quidem. Occaecati excepturi ratione consequuntur. Repellendus eius maxime reiciendis aspernatur voluptatibus dolores. Architecto facere harum beatae dolorem laborum officiis eius.\\nDucimus quaerat voluptatum assumenda dignissimos accusantium. Adipisci omnis delectus sed dolorem facere corporis quasi. Sequi cupiditate quos neque totam ad error. Nihil reprehenderit laboriosam labore nemo.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5s\", \"created\": 1542380831.0, \"url\": \"/r/1542380831_sequi/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380831.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2276" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "288.0" - ], - "x-ratelimit-reset": [ - "153" - ], - "x-ratelimit-used": [ - "12" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ip28%2FHpxtvDe5olvtBIPmmfXOl1lCaP7LKO0RK7VlSaf9l3RPDYQQMq96iWI%2BYdf6ArlMf7sP3gFm3ykAHFlJaU9Fab9v0ZY" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380831_sequi/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2306-K-8sOxpz0nWH1iqIKKYATQCZqTs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/97/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380831_sequi\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECorrupti at dolorum natus neque molestiae veritatis. Ab ex vero beatae vel quaerat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Corrupti at dolorum natus neque molestiae veritatis. Ab ex vero beatae vel quaerat.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"97\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGZA3NRMPJANA8PPRYS84N\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380831_sequi\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5s\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380831_sequi/comments/97/sapiente_quidem_officiis_consectetur_amet/\", \"locked\": false, \"name\": \"t3_97\", \"created\": 1542380840.0, \"url\": \"http://reddit.local/r/1542380831_sequi/comments/97/sapiente_quidem_officiis_consectetur_amet/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Sapiente quidem officiis consectetur amet.\", \"created_utc\": 1542380840.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1756" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "287.0" - ], - "x-ratelimit-reset": [ - "153" - ], - "x-ratelimit-used": [ - "13" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=YFcvQwi7RUJ8GqZjpiv9mKhm8OKJvItZ7upX4RZf9lt%2Fggpt8V6RG6g4v6p1JQ9H8UriDjFCFK8c%2BUHCeEgpRy23BoFDSTom" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/97/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2306-K-8sOxpz0nWH1iqIKKYATQCZqTs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380831_sequi/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5s\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380831_sequi\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEt doloribus assumenda quidem. Occaecati excepturi ratione consequuntur. Repellendus eius maxime reiciendis aspernatur voluptatibus dolores. Architecto facere harum beatae dolorem laborum officiis eius.\\nDucimus quaerat voluptatum assumenda dignissimos accusantium. Adipisci omnis delectus sed dolorem facere corporis quasi. Sequi cupiditate quos neque totam ad error. Nihil reprehenderit laboriosam labore nemo.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Earum repellat ipsum assumenda.\", \"collapse_deleted_comments\": false, \"public_description\": \"Atque aspernatur libero vel ullam commodi rem iure.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAtque aspernatur libero vel ullam commodi rem iure.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Et doloribus assumenda quidem. Occaecati excepturi ratione consequuntur. Repellendus eius maxime reiciendis aspernatur voluptatibus dolores. Architecto facere harum beatae dolorem laborum officiis eius.\\nDucimus quaerat voluptatum assumenda dignissimos accusantium. Adipisci omnis delectus sed dolorem facere corporis quasi. Sequi cupiditate quos neque totam ad error. Nihil reprehenderit laboriosam labore nemo.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5s\", \"created\": 1542380831.0, \"url\": \"/r/1542380831_sequi/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380831.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2276" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "286.0" - ], - "x-ratelimit-reset": [ - "153" - ], - "x-ratelimit-used": [ - "14" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=qqs1w4CDcj091sS7dBwicQrZNCetku%2Bz0kN%2BdHGHkJWGjwADsccSf0rG46pYBKYcPytUm8xQWHpBMhJUVnWdd5DQsbfrVhrR" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380831_sequi/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2306-K-8sOxpz0nWH1iqIKKYATQCZqTs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/96/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380831_sequi\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAssumenda eveniet consequatur eos autem quos. Autem architecto iure nesciunt voluptatibus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Assumenda eveniet consequatur eos autem quos. Autem architecto iure nesciunt voluptatibus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"96\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGZA3NRMPJANA8PPRYS84N\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380831_sequi\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5s\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380831_sequi/comments/96/dignissimos_at_repellat_explicabo_rem_earum/\", \"locked\": false, \"name\": \"t3_96\", \"created\": 1542380837.0, \"url\": \"http://reddit.local/r/1542380831_sequi/comments/96/dignissimos_at_repellat_explicabo_rem_earum/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Dignissimos at repellat explicabo rem earum.\", \"created_utc\": 1542380837.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1776" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "285.0" - ], - "x-ratelimit-reset": [ - "153" - ], - "x-ratelimit-used": [ - "15" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=IQGguN1Sk8Ewu5aPjrjUyF8q0DWRbpBJ9MBzGS%2Fkzaju38yWNnAOQaQSmGhAnkFy1OaybYn9VrvtqB5d98s2zSz3G9zD0%2B%2FE" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/96/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2306-K-8sOxpz0nWH1iqIKKYATQCZqTs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380831_sequi/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5s\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380831_sequi\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEt doloribus assumenda quidem. Occaecati excepturi ratione consequuntur. Repellendus eius maxime reiciendis aspernatur voluptatibus dolores. Architecto facere harum beatae dolorem laborum officiis eius.\\nDucimus quaerat voluptatum assumenda dignissimos accusantium. Adipisci omnis delectus sed dolorem facere corporis quasi. Sequi cupiditate quos neque totam ad error. Nihil reprehenderit laboriosam labore nemo.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Earum repellat ipsum assumenda.\", \"collapse_deleted_comments\": false, \"public_description\": \"Atque aspernatur libero vel ullam commodi rem iure.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAtque aspernatur libero vel ullam commodi rem iure.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Et doloribus assumenda quidem. Occaecati excepturi ratione consequuntur. Repellendus eius maxime reiciendis aspernatur voluptatibus dolores. Architecto facere harum beatae dolorem laborum officiis eius.\\nDucimus quaerat voluptatum assumenda dignissimos accusantium. Adipisci omnis delectus sed dolorem facere corporis quasi. Sequi cupiditate quos neque totam ad error. Nihil reprehenderit laboriosam labore nemo.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5s\", \"created\": 1542380831.0, \"url\": \"/r/1542380831_sequi/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380831.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2276" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "284.0" - ], - "x-ratelimit-reset": [ - "153" - ], - "x-ratelimit-used": [ - "16" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=%2B2jxPuxJDlerFfUJb2yrKrN2kXEdTJBhi3EMEVpl7GLTO2%2Bkq3As1BEN4jOEtaagSvBBdQxxRo%2FqyN0cl8tk6IzXEXMH%2Ff1I" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380831_sequi/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2306-K-8sOxpz0nWH1iqIKKYATQCZqTs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/95/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380831_sequi\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EExpedita suscipit quae impedit. Ea totam et saepe. Et odio a voluptate voluptas fugiat quae.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Expedita suscipit quae impedit. Ea totam et saepe. Et odio a voluptate voluptas fugiat quae.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"95\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEGZA3NRMPJANA8PPRYS84N\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380831_sequi\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5s\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380831_sequi/comments/95/ad_magni_quis_maiores_deserunt/\", \"locked\": false, \"name\": \"t3_95\", \"created\": 1542380834.0, \"url\": \"http://reddit.local/r/1542380831_sequi/comments/95/ad_magni_quis_maiores_deserunt/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Ad magni quis maiores deserunt.\", \"created_utc\": 1542380834.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1741" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "283.0" - ], - "x-ratelimit-reset": [ - "153" - ], - "x-ratelimit-used": [ - "17" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=iFQVZ5zXxAlh%2BkbRxWkUVRQSikK76c8dMiE5z20BYUo022UrWlUcRRDdXbW837fFqynsBzNzbdHTBKihDllyZqFMx7vvKX4n" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/95/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2306-K-8sOxpz0nWH1iqIKKYATQCZqTs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=8g4WUdB1dQ6tboBHeS; loidcreated=2018-11-16T15%3A07%3A07.617Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380831_sequi/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5s\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380831_sequi\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEt doloribus assumenda quidem. Occaecati excepturi ratione consequuntur. Repellendus eius maxime reiciendis aspernatur voluptatibus dolores. Architecto facere harum beatae dolorem laborum officiis eius.\\nDucimus quaerat voluptatum assumenda dignissimos accusantium. Adipisci omnis delectus sed dolorem facere corporis quasi. Sequi cupiditate quos neque totam ad error. Nihil reprehenderit laboriosam labore nemo.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Earum repellat ipsum assumenda.\", \"collapse_deleted_comments\": false, \"public_description\": \"Atque aspernatur libero vel ullam commodi rem iure.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAtque aspernatur libero vel ullam commodi rem iure.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Et doloribus assumenda quidem. Occaecati excepturi ratione consequuntur. Repellendus eius maxime reiciendis aspernatur voluptatibus dolores. Architecto facere harum beatae dolorem laborum officiis eius.\\nDucimus quaerat voluptatum assumenda dignissimos accusantium. Adipisci omnis delectus sed dolorem facere corporis quasi. Sequi cupiditate quos neque totam ad error. Nihil reprehenderit laboriosam labore nemo.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5s\", \"created\": 1542380831.0, \"url\": \"/r/1542380831_sequi/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380831.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2276" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "282.0" - ], - "x-ratelimit-reset": [ - "153" - ], - "x-ratelimit-used": [ - "18" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=KcS2NeT4feuVrrO8RbSJ1gD7D6vw88eGERMGZZhKe9XCUKVSdPrg%2FwQEEDAy7g60muALGluE8QBatcqpkIE5w%2FqmVBQJQDBR" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380831_sequi/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_list_posts_sorted[new].json b/cassettes/channels.views.posts_test.test_list_posts_sorted[new].json deleted file mode 100644 index 727b1a6ca7..0000000000 --- a/cassettes/channels.views.posts_test.test_list_posts_sorted[new].json +++ /dev/null @@ -1,1943 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:07:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH0Q0XQ49S7PVDNH0AS5CA" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NQQ6CMBREr0K6NJKUogTdo2yIiUpw10D7wQa0pAVUjHeXLzuXM5n35k1yIcBa3uka7mTrEOZ71L0VyZiw5jFEbg9esE8Ppjmlu14UK7J0CDxbZcByhYQfUDp1PwHvXi2gpYDcgMGtFXquFpgMlBN4/buTR9bGZcZk3Xc8jMdQnC+ZjrzNukJIwqAEcCXRPAfy+QJvhjvrugAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=EBCBxZddYAnNZbcPi4; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:07:53 GMT", - "loidcreated=2018-11-16T15%3A07%3A53.622Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:07:53 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH0Q0XQ49S7PVDNH0AS5CA" - } - }, - { - "recorded_at": "2018-11-16T15:07:57", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH0T9W280DZW73XPA1MB1G" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12N0QqCMBiFX0V2GQ2cKxndhUIYRBgMwpuh84/WMsdmw4jePZd3XZ7D+b7zRrWU4JwYeg0PtIlQQgnBz9WA6/WYEHZqbiOzle5opYqSe4aWEYLRKAtOqEDQNI6n7icQw8tAsDRQW7Bh62Q/V4uQLFwm8Pp3R8hOi731h2OX8zMudF76u2mydMsD1IJXEoRqg3kO6PMFJFpTR7oAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:57 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH0T9W280DZW73XPA1MB1G" - } - }, - { - "recorded_at": "2018-11-16T15:07:57", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Hic+alias+reiciendis+nihil+consequatur+amet.+Alias+ut+ad+ea+quae+harum+sint+labore+itaque.+Impedit+dolor+perspiciatis+blanditiis.+Fugit+quaerat+quia+modi.%0ANostrum+vero+aliquam+optio+officia.+Soluta+neque+non+non+architecto.+In+assumenda+aspernatur+quos+ipsum+cum+itaque.&link_type=any&name=1542380877_totam&public_description=Necessitatibus+voluptatibus+animi+officiis+tempora+autem+eligendi+repellat.&title=Nihil+eos+praesentium+molestiae.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2311-u4t-a5x218Rbjx8rZkm3ZiIQUv8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "514" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:57 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "123" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CWEH0Q0XQ49S7PVDNH0AS5CA&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2311-u4t-a5x218Rbjx8rZkm3ZiIQUv8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542380877_totam/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "120" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380877_totam/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542380877_totam" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2310-mbMzM2lwvE-ue16GUOrlSUFucb4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "75" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "120" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380877_totam&text=Debitis+fugiat+repudiandae+iure+repellat+molestiae.+Quod+quibusdam+illum+eveniet+perspiciatis.&title=Vel+magni+vitae+nisi+vitae+sequi+rem+veniam." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2310-mbMzM2lwvE-ue16GUOrlSUFucb4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "225" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380877_totam/comments/9d/vel_magni_vitae_nisi_vitae_sequi_rem_veniam/\", \"id\": \"9d\", \"name\": \"t3_9d\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "170" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "120" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2310-mbMzM2lwvE-ue16GUOrlSUFucb4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9d/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380877_totam\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDebitis fugiat repudiandae iure repellat molestiae. Quod quibusdam illum eveniet perspiciatis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Debitis fugiat repudiandae iure repellat molestiae. Quod quibusdam illum eveniet perspiciatis.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9d\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH0Q0XQ49S7PVDNH0AS5CA\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380877_totam\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5u\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380877_totam/comments/9d/vel_magni_vitae_nisi_vitae_sequi_rem_veniam/\", \"locked\": false, \"name\": \"t3_9d\", \"created\": 1542380880.0, \"url\": \"http://reddit.local/r/1542380877_totam/comments/9d/vel_magni_vitae_nisi_vitae_sequi_rem_veniam/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Vel magni vitae nisi vitae sequi rem veniam.\", \"created_utc\": 1542380880.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1784" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "120" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=TkpNmOT4MdeGz5G52BnRQuwn9CkiwVH5WO%2FUosYvdCRHdPy9ZaYZhogGEObAdLfGMAtk1Cb%2FvDkrOvK3VuoMmg%2B2kDMQQC%2BK" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9d/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:03", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380877_totam&text=Beatae+minima+at+delectus.+Illo+magnam+et+consequatur+nam+facere+odio+ex.&title=Porro+odit+corporis+suscipit+eum+voluptatibus." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2310-mbMzM2lwvE-ue16GUOrlSUFucb4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "206" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380877_totam/comments/9e/porro_odit_corporis_suscipit_eum_voluptatibus/\", \"id\": \"9e\", \"name\": \"t3_9e\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:03 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "117" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:03", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2310-mbMzM2lwvE-ue16GUOrlSUFucb4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9e/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380877_totam\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EBeatae minima at delectus. Illo magnam et consequatur nam facere odio ex.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Beatae minima at delectus. Illo magnam et consequatur nam facere odio ex.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9e\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH0Q0XQ49S7PVDNH0AS5CA\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380877_totam\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5u\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380877_totam/comments/9e/porro_odit_corporis_suscipit_eum_voluptatibus/\", \"locked\": false, \"name\": \"t3_9e\", \"created\": 1542380883.0, \"url\": \"http://reddit.local/r/1542380877_totam/comments/9e/porro_odit_corporis_suscipit_eum_voluptatibus/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Porro odit corporis suscipit eum voluptatibus.\", \"created_utc\": 1542380883.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1748" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:03 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "117" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=EyZohby%2FqMkXCwJ4skvSmowGBBQa9d75spQUiKIHwfCmAt9K4nJmIh%2FcuibndftsZU40kGhafYlCLS%2BqlVwGgISl0Q9ZhhHb" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9e/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380877_totam&text=Quod+soluta+consequatur+nesciunt+eos+ullam.+Molestias+temporibus+amet+adipisci+doloremque.&title=Quis+amet+fugiat+non." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2310-mbMzM2lwvE-ue16GUOrlSUFucb4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "198" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380877_totam/comments/9f/quis_amet_fugiat_non/\", \"id\": \"9f\", \"name\": \"t3_9f\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "147" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "114" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2310-mbMzM2lwvE-ue16GUOrlSUFucb4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9f/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380877_totam\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuod soluta consequatur nesciunt eos ullam. Molestias temporibus amet adipisci doloremque.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quod soluta consequatur nesciunt eos ullam. Molestias temporibus amet adipisci doloremque.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9f\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH0Q0XQ49S7PVDNH0AS5CA\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380877_totam\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5u\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380877_totam/comments/9f/quis_amet_fugiat_non/\", \"locked\": false, \"name\": \"t3_9f\", \"created\": 1542380886.0, \"url\": \"http://reddit.local/r/1542380877_totam/comments/9f/quis_amet_fugiat_non/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quis amet fugiat non.\", \"created_utc\": 1542380886.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1707" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "114" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=q9Kvi4qwSw%2FaKcJWdoDCH8%2FVjUSpm%2BRBXEDxxU2XIZKSiW%2F1a%2B5mLxdJTXnXrarID5d0b9dWOUMsrsy%2BCFoMnWAIkLwhJ0KN" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9f/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380877_totam&text=Vero+id+voluptatem+dicta+ad.+Quas+et+expedita+autem+sequi+quasi+ipsum.+Magni+aspernatur+fuga+ipsam.&title=Quibusdam+accusantium+occaecati+tempora+corrupti." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2310-mbMzM2lwvE-ue16GUOrlSUFucb4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "235" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380877_totam/comments/9g/quibusdam_accusantium_occaecati_tempora_corrupti/\", \"id\": \"9g\", \"name\": \"t3_9g\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "175" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "110" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2310-mbMzM2lwvE-ue16GUOrlSUFucb4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9g/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380877_totam\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVero id voluptatem dicta ad. Quas et expedita autem sequi quasi ipsum. Magni aspernatur fuga ipsam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Vero id voluptatem dicta ad. Quas et expedita autem sequi quasi ipsum. Magni aspernatur fuga ipsam.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9g\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH0Q0XQ49S7PVDNH0AS5CA\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380877_totam\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5u\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380877_totam/comments/9g/quibusdam_accusantium_occaecati_tempora_corrupti/\", \"locked\": false, \"name\": \"t3_9g\", \"created\": 1542380890.0, \"url\": \"http://reddit.local/r/1542380877_totam/comments/9g/quibusdam_accusantium_occaecati_tempora_corrupti/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quibusdam accusantium occaecati tempora corrupti.\", \"created_utc\": 1542380890.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1809" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "110" - ], - "x-ratelimit-used": [ - "9" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Le7fMWLgS1nGpbdwzA3tKY7r5ziZlQNpGWsYv0pdSixBddZa8IVhwpiuD871zjAhoJo4A%2FoCWkri1LMtEZtd2AChMOPPxcpb" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9g/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2310-mbMzM2lwvE-ue16GUOrlSUFucb4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380877_totam/new?count=0&limit=25&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380877_totam\", \"subreddit\": \"1542380877_totam\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVero id voluptatem dicta ad. Quas et expedita autem sequi quasi ipsum. Magni aspernatur fuga ipsam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Vero id voluptatem dicta ad. Quas et expedita autem sequi quasi ipsum. Magni aspernatur fuga ipsam.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9g\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH0Q0XQ49S7PVDNH0AS5CA\", \"media\": null, \"name\": \"t3_9g\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5u\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380877_totam/comments/9g/quibusdam_accusantium_occaecati_tempora_corrupti/\", \"locked\": false, \"stickied\": false, \"created\": 1542380890.0, \"url\": \"http://reddit.local/r/1542380877_totam/comments/9g/quibusdam_accusantium_occaecati_tempora_corrupti/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quibusdam accusantium occaecati tempora corrupti.\", \"created_utc\": 1542380890.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380877_totam\", \"subreddit\": \"1542380877_totam\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuod soluta consequatur nesciunt eos ullam. Molestias temporibus amet adipisci doloremque.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quod soluta consequatur nesciunt eos ullam. Molestias temporibus amet adipisci doloremque.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9f\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH0Q0XQ49S7PVDNH0AS5CA\", \"media\": null, \"name\": \"t3_9f\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5u\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380877_totam/comments/9f/quis_amet_fugiat_non/\", \"locked\": false, \"stickied\": false, \"created\": 1542380886.0, \"url\": \"http://reddit.local/r/1542380877_totam/comments/9f/quis_amet_fugiat_non/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quis amet fugiat non.\", \"created_utc\": 1542380886.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380877_totam\", \"subreddit\": \"1542380877_totam\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EBeatae minima at delectus. Illo magnam et consequatur nam facere odio ex.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Beatae minima at delectus. Illo magnam et consequatur nam facere odio ex.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9e\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH0Q0XQ49S7PVDNH0AS5CA\", \"media\": null, \"name\": \"t3_9e\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5u\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380877_totam/comments/9e/porro_odit_corporis_suscipit_eum_voluptatibus/\", \"locked\": false, \"stickied\": false, \"created\": 1542380883.0, \"url\": \"http://reddit.local/r/1542380877_totam/comments/9e/porro_odit_corporis_suscipit_eum_voluptatibus/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Porro odit corporis suscipit eum voluptatibus.\", \"created_utc\": 1542380883.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380877_totam\", \"subreddit\": \"1542380877_totam\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDebitis fugiat repudiandae iure repellat molestiae. Quod quibusdam illum eveniet perspiciatis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Debitis fugiat repudiandae iure repellat molestiae. Quod quibusdam illum eveniet perspiciatis.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9d\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH0Q0XQ49S7PVDNH0AS5CA\", \"media\": null, \"name\": \"t3_9d\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5u\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380877_totam/comments/9d/vel_magni_vitae_nisi_vitae_sequi_rem_veniam/\", \"locked\": false, \"stickied\": false, \"created\": 1542380880.0, \"url\": \"http://reddit.local/r/1542380877_totam/comments/9d/vel_magni_vitae_nisi_vitae_sequi_rem_veniam/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Vel magni vitae nisi vitae sequi rem veniam.\", \"created_utc\": 1542380880.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "6303" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "107" - ], - "x-ratelimit-used": [ - "10" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Oyknu52pqCUTmMzTu8LYceCWxi4q2OOtdLUaT1iB%2BVrfx7Ar0TeKtL0q%2BEOtEflvUTcGZp8paegLKU%2FcVPHUacH2cP3i3lux" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380877_totam/new?count=0&limit=25&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2310-mbMzM2lwvE-ue16GUOrlSUFucb4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9g/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380877_totam\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVero id voluptatem dicta ad. Quas et expedita autem sequi quasi ipsum. Magni aspernatur fuga ipsam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Vero id voluptatem dicta ad. Quas et expedita autem sequi quasi ipsum. Magni aspernatur fuga ipsam.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9g\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH0Q0XQ49S7PVDNH0AS5CA\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380877_totam\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5u\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380877_totam/comments/9g/quibusdam_accusantium_occaecati_tempora_corrupti/\", \"locked\": false, \"name\": \"t3_9g\", \"created\": 1542380890.0, \"url\": \"http://reddit.local/r/1542380877_totam/comments/9g/quibusdam_accusantium_occaecati_tempora_corrupti/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quibusdam accusantium occaecati tempora corrupti.\", \"created_utc\": 1542380890.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1809" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "289.0" - ], - "x-ratelimit-reset": [ - "107" - ], - "x-ratelimit-used": [ - "11" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=EruPqCNH6wHsMIp1rY5B3FMYLaBHB8VzfDPwrX0glsdXsuUCTAH8KFujd%2BigEAXBbVaUJGbk287QmqkVUUvvxCDAiE91P4iM" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9g/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2310-mbMzM2lwvE-ue16GUOrlSUFucb4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380877_totam/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5u\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380877_totam\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EHic alias reiciendis nihil consequatur amet. Alias ut ad ea quae harum sint labore itaque. Impedit dolor perspiciatis blanditiis. Fugit quaerat quia modi.\\nNostrum vero aliquam optio officia. Soluta neque non non architecto. In assumenda aspernatur quos ipsum cum itaque.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Nihil eos praesentium molestiae.\", \"collapse_deleted_comments\": false, \"public_description\": \"Necessitatibus voluptatibus animi officiis tempora autem eligendi repellat.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENecessitatibus voluptatibus animi officiis tempora autem eligendi repellat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Hic alias reiciendis nihil consequatur amet. Alias ut ad ea quae harum sint labore itaque. Impedit dolor perspiciatis blanditiis. Fugit quaerat quia modi.\\nNostrum vero aliquam optio officia. Soluta neque non non architecto. In assumenda aspernatur quos ipsum cum itaque.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5u\", \"created\": 1542380877.0, \"url\": \"/r/1542380877_totam/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380877.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2043" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "288.0" - ], - "x-ratelimit-reset": [ - "107" - ], - "x-ratelimit-used": [ - "12" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Wbkee0UVRrVQgatZjmYL2fs58jgeAp9QfctJgzcsdIV1cCk%2Fo1pne%2BsHEATBaIXwJQRc4LhlpVb43t9X3TbNHI1g9P9q5GBy" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380877_totam/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2310-mbMzM2lwvE-ue16GUOrlSUFucb4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9f/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380877_totam\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuod soluta consequatur nesciunt eos ullam. Molestias temporibus amet adipisci doloremque.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quod soluta consequatur nesciunt eos ullam. Molestias temporibus amet adipisci doloremque.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9f\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH0Q0XQ49S7PVDNH0AS5CA\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380877_totam\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5u\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380877_totam/comments/9f/quis_amet_fugiat_non/\", \"locked\": false, \"name\": \"t3_9f\", \"created\": 1542380886.0, \"url\": \"http://reddit.local/r/1542380877_totam/comments/9f/quis_amet_fugiat_non/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quis amet fugiat non.\", \"created_utc\": 1542380886.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1707" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "287.0" - ], - "x-ratelimit-reset": [ - "107" - ], - "x-ratelimit-used": [ - "13" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=mvGOKsA17Mn75BP8JhzJcm8oq2cI3fD2o6QbjkPSo2GCFqcYPzIYfJpKnCqV%2BDLtVQ7gSBHR9OH6i2qH2j%2FgNX5otMjSQuSL" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9f/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2310-mbMzM2lwvE-ue16GUOrlSUFucb4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380877_totam/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5u\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380877_totam\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EHic alias reiciendis nihil consequatur amet. Alias ut ad ea quae harum sint labore itaque. Impedit dolor perspiciatis blanditiis. Fugit quaerat quia modi.\\nNostrum vero aliquam optio officia. Soluta neque non non architecto. In assumenda aspernatur quos ipsum cum itaque.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Nihil eos praesentium molestiae.\", \"collapse_deleted_comments\": false, \"public_description\": \"Necessitatibus voluptatibus animi officiis tempora autem eligendi repellat.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENecessitatibus voluptatibus animi officiis tempora autem eligendi repellat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Hic alias reiciendis nihil consequatur amet. Alias ut ad ea quae harum sint labore itaque. Impedit dolor perspiciatis blanditiis. Fugit quaerat quia modi.\\nNostrum vero aliquam optio officia. Soluta neque non non architecto. In assumenda aspernatur quos ipsum cum itaque.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5u\", \"created\": 1542380877.0, \"url\": \"/r/1542380877_totam/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380877.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2043" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "286.0" - ], - "x-ratelimit-reset": [ - "107" - ], - "x-ratelimit-used": [ - "14" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=B2ORrCbsb9oWCkYfAZpcD%2F%2FLqxxbb%2FgsdmdAcUP7TeEFgBAxLs82%2F598LxTwfkvC9P7S5%2F3f53mkvQKaV1vwbOfsJ9d1zJUH" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380877_totam/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2310-mbMzM2lwvE-ue16GUOrlSUFucb4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9e/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380877_totam\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EBeatae minima at delectus. Illo magnam et consequatur nam facere odio ex.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Beatae minima at delectus. Illo magnam et consequatur nam facere odio ex.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9e\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH0Q0XQ49S7PVDNH0AS5CA\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380877_totam\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5u\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380877_totam/comments/9e/porro_odit_corporis_suscipit_eum_voluptatibus/\", \"locked\": false, \"name\": \"t3_9e\", \"created\": 1542380883.0, \"url\": \"http://reddit.local/r/1542380877_totam/comments/9e/porro_odit_corporis_suscipit_eum_voluptatibus/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Porro odit corporis suscipit eum voluptatibus.\", \"created_utc\": 1542380883.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1748" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "285.0" - ], - "x-ratelimit-reset": [ - "107" - ], - "x-ratelimit-used": [ - "15" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=yL%2FTv1RFQrUgUcgYzpviuZpOp6ePFip4kax4FOvLEdWXxqb86HqAwZ70e61l4xbSXxBs7bAeyAHuc64lvrvoWFMowTtt9kwU" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9e/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2310-mbMzM2lwvE-ue16GUOrlSUFucb4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380877_totam/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5u\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380877_totam\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EHic alias reiciendis nihil consequatur amet. Alias ut ad ea quae harum sint labore itaque. Impedit dolor perspiciatis blanditiis. Fugit quaerat quia modi.\\nNostrum vero aliquam optio officia. Soluta neque non non architecto. In assumenda aspernatur quos ipsum cum itaque.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Nihil eos praesentium molestiae.\", \"collapse_deleted_comments\": false, \"public_description\": \"Necessitatibus voluptatibus animi officiis tempora autem eligendi repellat.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENecessitatibus voluptatibus animi officiis tempora autem eligendi repellat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Hic alias reiciendis nihil consequatur amet. Alias ut ad ea quae harum sint labore itaque. Impedit dolor perspiciatis blanditiis. Fugit quaerat quia modi.\\nNostrum vero aliquam optio officia. Soluta neque non non architecto. In assumenda aspernatur quos ipsum cum itaque.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5u\", \"created\": 1542380877.0, \"url\": \"/r/1542380877_totam/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380877.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2043" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "284.0" - ], - "x-ratelimit-reset": [ - "107" - ], - "x-ratelimit-used": [ - "16" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=mg22FJmGLeY3WKvuxFt0sLUsgmhWMZmwVS42l4M6b%2FMmTrUxQ0mTLE9SnYozAESlFXWQn1iQPfP9ziBy54cvgVCvFWNNKZVx" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380877_totam/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2310-mbMzM2lwvE-ue16GUOrlSUFucb4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9d/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380877_totam\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDebitis fugiat repudiandae iure repellat molestiae. Quod quibusdam illum eveniet perspiciatis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Debitis fugiat repudiandae iure repellat molestiae. Quod quibusdam illum eveniet perspiciatis.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9d\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH0Q0XQ49S7PVDNH0AS5CA\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380877_totam\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5u\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380877_totam/comments/9d/vel_magni_vitae_nisi_vitae_sequi_rem_veniam/\", \"locked\": false, \"name\": \"t3_9d\", \"created\": 1542380880.0, \"url\": \"http://reddit.local/r/1542380877_totam/comments/9d/vel_magni_vitae_nisi_vitae_sequi_rem_veniam/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Vel magni vitae nisi vitae sequi rem veniam.\", \"created_utc\": 1542380880.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1784" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "283.0" - ], - "x-ratelimit-reset": [ - "107" - ], - "x-ratelimit-used": [ - "17" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=t2KyTUha0x927S7JQp%2BW31ZU7CAqNYNyDRmUxK3XOCTgvvMCfCEbi6Bqm9%2Fe3x%2Bu8Vi6rNokXbuMfkOEdOGwkwuNs9xzBStG" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9d/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2310-mbMzM2lwvE-ue16GUOrlSUFucb4" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=EBCBxZddYAnNZbcPi4; loidcreated=2018-11-16T15%3A07%3A53.622Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380877_totam/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5u\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380877_totam\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EHic alias reiciendis nihil consequatur amet. Alias ut ad ea quae harum sint labore itaque. Impedit dolor perspiciatis blanditiis. Fugit quaerat quia modi.\\nNostrum vero aliquam optio officia. Soluta neque non non architecto. In assumenda aspernatur quos ipsum cum itaque.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Nihil eos praesentium molestiae.\", \"collapse_deleted_comments\": false, \"public_description\": \"Necessitatibus voluptatibus animi officiis tempora autem eligendi repellat.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENecessitatibus voluptatibus animi officiis tempora autem eligendi repellat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Hic alias reiciendis nihil consequatur amet. Alias ut ad ea quae harum sint labore itaque. Impedit dolor perspiciatis blanditiis. Fugit quaerat quia modi.\\nNostrum vero aliquam optio officia. Soluta neque non non architecto. In assumenda aspernatur quos ipsum cum itaque.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5u\", \"created\": 1542380877.0, \"url\": \"/r/1542380877_totam/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380877.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2043" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "282.0" - ], - "x-ratelimit-reset": [ - "107" - ], - "x-ratelimit-used": [ - "18" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=VQmbn2IbUPnMVw75tYffeD4n9hZS9GO8xCaHOyLNqmmMgZMW5WPIL5UIp9w6qJzqecliIKm2aSjLfM6a62VT8p3UVbDGmw%2BU" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380877_totam/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_list_posts_sorted[top].json b/cassettes/channels.views.posts_test.test_list_posts_sorted[top].json deleted file mode 100644 index 01a3d0f736..0000000000 --- a/cassettes/channels.views.posts_test.test_list_posts_sorted[top].json +++ /dev/null @@ -1,1943 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:07:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH00N5E0PR2CH2RXFJEVVC" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NQQuCMBzFv4rsGAmmbklHDy6S7JAEncba/uFUdGxmSfTdc3nr+B7v93tvxIUAa9nQN9ChnYfCKEj8klI/L4uqqEUcnR7qnLQbKpOc6CNaewheWhmwTDkiIkEwdz8BGyYNznIDbsC4rRX9Uq1cMnCfwervruqwynh4rafxglOS6YPGTbvvn9vYQRJGJYAp6cxLQJ8vQubatLoAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=an11LO1UWXFUkr6S4Q; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:07:31 GMT", - "loidcreated=2018-11-16T15%3A07%3A30.727Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:07:31 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH00N5E0PR2CH2RXFJEVVC" - } - }, - { - "recorded_at": "2018-11-16T15:07:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH03Y5CRV488MZ25G3E0WC" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NXQuCMBiF/4rsMhKG64O6kxIyIxhGUjdDtzccSa53K5Lov+fyrstzOM9z3qSUEqwVrr3CjSwDEjG6CEPI6/08abozKp2laYFxtZryXZRzMg4IvIxGsEJ7gs0o7bufQLjOgLdUUCKg31rZDtXIJ4RLD9Z/d4xnRXKEnG1hc8D1qeF3Fxn6COOJhxQ8tQShlTcPgXy+nnp66LoAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH03Y5CRV488MZ25G3E0WC" - } - }, - { - "recorded_at": "2018-11-16T15:07:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Ad+vel+ut+culpa+repudiandae.+Perspiciatis+libero+reiciendis+exercitationem+tenetur+enim+odit+nihil.%0AIllo+repellat+ipsam+consequatur+possimus+enim+porro+ex.+Quaerat+libero+possimus+ut+asperiores.+Distinctio+tempore+molestiae+minima+velit.+Officia+illum+ratione+dolorum+ipsum.%0ACulpa+error+aperiam+doloribus+dolores.+Nesciunt+ut+dicta+praesentium+dolore+quos+praesentium.+Et+fugiat+voluptate+sed+aliquam.&link_type=any&name=1542380854_mollitia&public_description=Odit+quo+eveniet+minus+vitae+quod.&title=Officiis+animi+tempora+aperiam+qui+quisquam+in.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2309--eShN7ElyZrdiKIIWrAbC5QL2SQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "624" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "146" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:37", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CWEH00N5E0PR2CH2RXFJEVVC&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2309--eShN7ElyZrdiKIIWrAbC5QL2SQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542380854_mollitia/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "143" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380854_mollitia/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:37", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542380854_mollitia" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2308-TGG-KTNhNjc43OuiS8l1Gd8K6pM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "78" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "143" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:37", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380854_mollitia&text=Natus+quasi+soluta+nisi+architecto+quo+nihil.+Labore+totam+quas+nostrum+aliquam+ex.&title=Occaecati+magnam+delectus+nisi." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2308-TGG-KTNhNjc43OuiS8l1Gd8K6pM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "204" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380854_mollitia/comments/99/occaecati_magnam_delectus_nisi/\", \"id\": \"99\", \"name\": \"t3_99\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "160" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "143" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:37", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2308-TGG-KTNhNjc43OuiS8l1Gd8K6pM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/99/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380854_mollitia\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENatus quasi soluta nisi architecto quo nihil. Labore totam quas nostrum aliquam ex.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Natus quasi soluta nisi architecto quo nihil. Labore totam quas nostrum aliquam ex.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"99\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH00N5E0PR2CH2RXFJEVVC\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380854_mollitia\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5t\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380854_mollitia/comments/99/occaecati_magnam_delectus_nisi/\", \"locked\": false, \"name\": \"t3_99\", \"created\": 1542380857.0, \"url\": \"http://reddit.local/r/1542380854_mollitia/comments/99/occaecati_magnam_delectus_nisi/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Occaecati magnam delectus nisi.\", \"created_utc\": 1542380857.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1735" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "143" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=hFf5U9TC8N30gRbTHCWKgD8oc6NbkEvm%2B1B%2B43D820d1VIoJCb8XdKwU%2FduHbAPl5IHJpEhCqvzR7bLWcjXuM9pLApd5Ivl9" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/99/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380854_mollitia&text=A+vel+accusamus+provident.+Corporis+dolor+labore+culpa.&title=At+atque+magnam+earum+ratione+omnis+culpa+rem." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2308-TGG-KTNhNjc43OuiS8l1Gd8K6pM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "191" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380854_mollitia/comments/9a/at_atque_magnam_earum_ratione_omnis_culpa_rem/\", \"id\": \"9a\", \"name\": \"t3_9a\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "175" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "140" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2308-TGG-KTNhNjc43OuiS8l1Gd8K6pM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9a/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380854_mollitia\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EA vel accusamus provident. Corporis dolor labore culpa.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"A vel accusamus provident. Corporis dolor labore culpa.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9a\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH00N5E0PR2CH2RXFJEVVC\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380854_mollitia\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5t\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380854_mollitia/comments/9a/at_atque_magnam_earum_ratione_omnis_culpa_rem/\", \"locked\": false, \"name\": \"t3_9a\", \"created\": 1542380860.0, \"url\": \"http://reddit.local/r/1542380854_mollitia/comments/9a/at_atque_magnam_earum_ratione_omnis_culpa_rem/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"At atque magnam earum ratione omnis culpa rem.\", \"created_utc\": 1542380860.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1724" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "140" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=V4sfM32vxApzWiNaww%2Fgb6OhrZKGDUnSt9ei%2FQSYAIML6031xm9OLr1Ggcya3Wg1E7D5cWREfBw1ZeWV%2BKOsshNGwvIZ2ntP" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9a/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:44", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380854_mollitia&text=Aspernatur+voluptatum+distinctio+nostrum+quos.+Beatae+tempora+quam+beatae+quaerat.&title=Quia+culpa+amet+quidem+illo." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2308-TGG-KTNhNjc43OuiS8l1Gd8K6pM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "200" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380854_mollitia/comments/9b/quia_culpa_amet_quidem_illo/\", \"id\": \"9b\", \"name\": \"t3_9b\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "157" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:44 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "136" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:44", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2308-TGG-KTNhNjc43OuiS8l1Gd8K6pM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9b/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380854_mollitia\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAspernatur voluptatum distinctio nostrum quos. Beatae tempora quam beatae quaerat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Aspernatur voluptatum distinctio nostrum quos. Beatae tempora quam beatae quaerat.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9b\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH00N5E0PR2CH2RXFJEVVC\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380854_mollitia\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5t\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380854_mollitia/comments/9b/quia_culpa_amet_quidem_illo/\", \"locked\": false, \"name\": \"t3_9b\", \"created\": 1542380864.0, \"url\": \"http://reddit.local/r/1542380854_mollitia/comments/9b/quia_culpa_amet_quidem_illo/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quia culpa amet quidem illo.\", \"created_utc\": 1542380864.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1724" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:44 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "136" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=K7ni9G7%2BimmmazJtL4zVrRbhm7fd2gForCHWodVrQP1JAlzqP00sSU4q66df8EMAL3fVP7pyBk11PqYsTCjzX4GFtyILjeTe" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9b/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:47", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380854_mollitia&text=Amet+ea+excepturi+minima+neque+illo.+Nobis+maxime+suscipit+dolor+earum+voluptas.&title=Laborum+quaerat+officiis+velit+explicabo+maiores." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2308-TGG-KTNhNjc43OuiS8l1Gd8K6pM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "219" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380854_mollitia/comments/9c/laborum_quaerat_officiis_velit_explicabo_maiores/\", \"id\": \"9c\", \"name\": \"t3_9c\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "178" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "133" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:47", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2308-TGG-KTNhNjc43OuiS8l1Gd8K6pM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9c/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380854_mollitia\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAmet ea excepturi minima neque illo. Nobis maxime suscipit dolor earum voluptas.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Amet ea excepturi minima neque illo. Nobis maxime suscipit dolor earum voluptas.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9c\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH00N5E0PR2CH2RXFJEVVC\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380854_mollitia\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5t\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380854_mollitia/comments/9c/laborum_quaerat_officiis_velit_explicabo_maiores/\", \"locked\": false, \"name\": \"t3_9c\", \"created\": 1542380867.0, \"url\": \"http://reddit.local/r/1542380854_mollitia/comments/9c/laborum_quaerat_officiis_velit_explicabo_maiores/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Laborum quaerat officiis velit explicabo maiores.\", \"created_utc\": 1542380867.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1783" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "133" - ], - "x-ratelimit-used": [ - "9" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Ab5N8OmREHKBeoW63wyt9reduGwE2QEcgrQ6R%2FeMKduWEmAZl%2FBCRaiFSZp%2BgUkmOORqaZdaYS5I6nZmboFpXSRrHgC2U0kS" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9c/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2308-TGG-KTNhNjc43OuiS8l1Gd8K6pM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380854_mollitia/top?count=0&t=all&limit=25&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380854_mollitia\", \"subreddit\": \"1542380854_mollitia\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAmet ea excepturi minima neque illo. Nobis maxime suscipit dolor earum voluptas.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Amet ea excepturi minima neque illo. Nobis maxime suscipit dolor earum voluptas.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9c\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH00N5E0PR2CH2RXFJEVVC\", \"media\": null, \"name\": \"t3_9c\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5t\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380854_mollitia/comments/9c/laborum_quaerat_officiis_velit_explicabo_maiores/\", \"locked\": false, \"stickied\": false, \"created\": 1542380867.0, \"url\": \"http://reddit.local/r/1542380854_mollitia/comments/9c/laborum_quaerat_officiis_velit_explicabo_maiores/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Laborum quaerat officiis velit explicabo maiores.\", \"created_utc\": 1542380867.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380854_mollitia\", \"subreddit\": \"1542380854_mollitia\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAspernatur voluptatum distinctio nostrum quos. Beatae tempora quam beatae quaerat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Aspernatur voluptatum distinctio nostrum quos. Beatae tempora quam beatae quaerat.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9b\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH00N5E0PR2CH2RXFJEVVC\", \"media\": null, \"name\": \"t3_9b\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5t\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380854_mollitia/comments/9b/quia_culpa_amet_quidem_illo/\", \"locked\": false, \"stickied\": false, \"created\": 1542380864.0, \"url\": \"http://reddit.local/r/1542380854_mollitia/comments/9b/quia_culpa_amet_quidem_illo/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quia culpa amet quidem illo.\", \"created_utc\": 1542380864.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380854_mollitia\", \"subreddit\": \"1542380854_mollitia\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EA vel accusamus provident. Corporis dolor labore culpa.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"A vel accusamus provident. Corporis dolor labore culpa.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9a\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH00N5E0PR2CH2RXFJEVVC\", \"media\": null, \"name\": \"t3_9a\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5t\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380854_mollitia/comments/9a/at_atque_magnam_earum_ratione_omnis_culpa_rem/\", \"locked\": false, \"stickied\": false, \"created\": 1542380860.0, \"url\": \"http://reddit.local/r/1542380854_mollitia/comments/9a/at_atque_magnam_earum_ratione_omnis_culpa_rem/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"At atque magnam earum ratione omnis culpa rem.\", \"created_utc\": 1542380860.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380854_mollitia\", \"subreddit\": \"1542380854_mollitia\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENatus quasi soluta nisi architecto quo nihil. Labore totam quas nostrum aliquam ex.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Natus quasi soluta nisi architecto quo nihil. Labore totam quas nostrum aliquam ex.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"99\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH00N5E0PR2CH2RXFJEVVC\", \"media\": null, \"name\": \"t3_99\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5t\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380854_mollitia/comments/99/occaecati_magnam_delectus_nisi/\", \"locked\": false, \"stickied\": false, \"created\": 1542380857.0, \"url\": \"http://reddit.local/r/1542380854_mollitia/comments/99/occaecati_magnam_delectus_nisi/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Occaecati magnam delectus nisi.\", \"created_utc\": 1542380857.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "6221" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "130" - ], - "x-ratelimit-used": [ - "10" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=n%2FgAsZ6Gha3b4%2BtzFdaJnh6Fltwy9Tuv9Blqvp83B5JyP5s3u4ql1dFA1kGIBjtROKz2iTy%2FrKimjUc4H7YT4%2Fvq2t06VKx9" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380854_mollitia/top?count=0&t=all&limit=25&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2308-TGG-KTNhNjc43OuiS8l1Gd8K6pM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9c/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380854_mollitia\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAmet ea excepturi minima neque illo. Nobis maxime suscipit dolor earum voluptas.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Amet ea excepturi minima neque illo. Nobis maxime suscipit dolor earum voluptas.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9c\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH00N5E0PR2CH2RXFJEVVC\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380854_mollitia\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5t\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380854_mollitia/comments/9c/laborum_quaerat_officiis_velit_explicabo_maiores/\", \"locked\": false, \"name\": \"t3_9c\", \"created\": 1542380867.0, \"url\": \"http://reddit.local/r/1542380854_mollitia/comments/9c/laborum_quaerat_officiis_velit_explicabo_maiores/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Laborum quaerat officiis velit explicabo maiores.\", \"created_utc\": 1542380867.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1783" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "289.0" - ], - "x-ratelimit-reset": [ - "130" - ], - "x-ratelimit-used": [ - "11" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=rjSgp1iniEgwULgJloTjfaREXX5%2FJVCkalwv%2FsWBsaw7k9NEuONoefAHXdAkl3bue5yzbaHGhg5q6acnyVX2G83D9KU01ezk" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9c/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2308-TGG-KTNhNjc43OuiS8l1Gd8K6pM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380854_mollitia/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5t\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380854_mollitia\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAd vel ut culpa repudiandae. Perspiciatis libero reiciendis exercitationem tenetur enim odit nihil.\\nIllo repellat ipsam consequatur possimus enim porro ex. Quaerat libero possimus ut asperiores. Distinctio tempore molestiae minima velit. Officia illum ratione dolorum ipsum.\\nCulpa error aperiam doloribus dolores. Nesciunt ut dicta praesentium dolore quos praesentium. Et fugiat voluptate sed aliquam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Officiis animi tempora aperiam qui quisquam in.\", \"collapse_deleted_comments\": false, \"public_description\": \"Odit quo eveniet minus vitae quod.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOdit quo eveniet minus vitae quod.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Ad vel ut culpa repudiandae. Perspiciatis libero reiciendis exercitationem tenetur enim odit nihil.\\nIllo repellat ipsam consequatur possimus enim porro ex. Quaerat libero possimus ut asperiores. Distinctio tempore molestiae minima velit. Officia illum ratione dolorum ipsum.\\nCulpa error aperiam doloribus dolores. Nesciunt ut dicta praesentium dolore quos praesentium. Et fugiat voluptate sed aliquam.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5t\", \"created\": 1542380854.0, \"url\": \"/r/1542380854_mollitia/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380854.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2246" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "288.0" - ], - "x-ratelimit-reset": [ - "130" - ], - "x-ratelimit-used": [ - "12" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=8fEQvm%2FDbpdZAcgLdAogaXpS1cEKzxJ9ESyeP%2FBLvYQi%2B5NdFPrX3DgWzS4JEDZdRClwDavdvQEtcLdvJicSdC5VzDdhIPka" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380854_mollitia/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2308-TGG-KTNhNjc43OuiS8l1Gd8K6pM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9b/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380854_mollitia\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAspernatur voluptatum distinctio nostrum quos. Beatae tempora quam beatae quaerat.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Aspernatur voluptatum distinctio nostrum quos. Beatae tempora quam beatae quaerat.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9b\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH00N5E0PR2CH2RXFJEVVC\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380854_mollitia\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5t\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380854_mollitia/comments/9b/quia_culpa_amet_quidem_illo/\", \"locked\": false, \"name\": \"t3_9b\", \"created\": 1542380864.0, \"url\": \"http://reddit.local/r/1542380854_mollitia/comments/9b/quia_culpa_amet_quidem_illo/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quia culpa amet quidem illo.\", \"created_utc\": 1542380864.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1724" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "287.0" - ], - "x-ratelimit-reset": [ - "130" - ], - "x-ratelimit-used": [ - "13" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=IXJlU1epE33SF22hwkVz%2BCLcqrVMjImbp9p5Z5w51ZnjEXnu1SQzmUZXBHJg5lx8dxEZ5kHrgnp1ocrQNx5DAaI9Lz1H8pH3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9b/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2308-TGG-KTNhNjc43OuiS8l1Gd8K6pM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380854_mollitia/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5t\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380854_mollitia\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAd vel ut culpa repudiandae. Perspiciatis libero reiciendis exercitationem tenetur enim odit nihil.\\nIllo repellat ipsam consequatur possimus enim porro ex. Quaerat libero possimus ut asperiores. Distinctio tempore molestiae minima velit. Officia illum ratione dolorum ipsum.\\nCulpa error aperiam doloribus dolores. Nesciunt ut dicta praesentium dolore quos praesentium. Et fugiat voluptate sed aliquam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Officiis animi tempora aperiam qui quisquam in.\", \"collapse_deleted_comments\": false, \"public_description\": \"Odit quo eveniet minus vitae quod.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOdit quo eveniet minus vitae quod.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Ad vel ut culpa repudiandae. Perspiciatis libero reiciendis exercitationem tenetur enim odit nihil.\\nIllo repellat ipsam consequatur possimus enim porro ex. Quaerat libero possimus ut asperiores. Distinctio tempore molestiae minima velit. Officia illum ratione dolorum ipsum.\\nCulpa error aperiam doloribus dolores. Nesciunt ut dicta praesentium dolore quos praesentium. Et fugiat voluptate sed aliquam.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5t\", \"created\": 1542380854.0, \"url\": \"/r/1542380854_mollitia/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380854.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2246" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "286.0" - ], - "x-ratelimit-reset": [ - "130" - ], - "x-ratelimit-used": [ - "14" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=vcO%2B3Z2Njr2oauuRhQrhnrnSGZodFU7DL0bOeWB%2B8g3Ngw5fvW4hKtRsVBAxqsnaYQKN8tyDU%2BnSbTZjM3%2B5LopcTKJ8KMK%2B" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380854_mollitia/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2308-TGG-KTNhNjc43OuiS8l1Gd8K6pM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9a/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380854_mollitia\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EA vel accusamus provident. Corporis dolor labore culpa.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"A vel accusamus provident. Corporis dolor labore culpa.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9a\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH00N5E0PR2CH2RXFJEVVC\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380854_mollitia\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5t\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380854_mollitia/comments/9a/at_atque_magnam_earum_ratione_omnis_culpa_rem/\", \"locked\": false, \"name\": \"t3_9a\", \"created\": 1542380860.0, \"url\": \"http://reddit.local/r/1542380854_mollitia/comments/9a/at_atque_magnam_earum_ratione_omnis_culpa_rem/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"At atque magnam earum ratione omnis culpa rem.\", \"created_utc\": 1542380860.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1724" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "285.0" - ], - "x-ratelimit-reset": [ - "130" - ], - "x-ratelimit-used": [ - "15" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=bP%2FfH9%2FNtXb3zjJ3YhWtEugIwHCQXCJYq8u7fH7Kl7lmwjwO3ED0RYtkiX%2FWsO1IYS7Sw7OMmnNbdXTTWlHYeA%2FKYjRj8xO1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9a/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2308-TGG-KTNhNjc43OuiS8l1Gd8K6pM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380854_mollitia/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5t\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380854_mollitia\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAd vel ut culpa repudiandae. Perspiciatis libero reiciendis exercitationem tenetur enim odit nihil.\\nIllo repellat ipsam consequatur possimus enim porro ex. Quaerat libero possimus ut asperiores. Distinctio tempore molestiae minima velit. Officia illum ratione dolorum ipsum.\\nCulpa error aperiam doloribus dolores. Nesciunt ut dicta praesentium dolore quos praesentium. Et fugiat voluptate sed aliquam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Officiis animi tempora aperiam qui quisquam in.\", \"collapse_deleted_comments\": false, \"public_description\": \"Odit quo eveniet minus vitae quod.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOdit quo eveniet minus vitae quod.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Ad vel ut culpa repudiandae. Perspiciatis libero reiciendis exercitationem tenetur enim odit nihil.\\nIllo repellat ipsam consequatur possimus enim porro ex. Quaerat libero possimus ut asperiores. Distinctio tempore molestiae minima velit. Officia illum ratione dolorum ipsum.\\nCulpa error aperiam doloribus dolores. Nesciunt ut dicta praesentium dolore quos praesentium. Et fugiat voluptate sed aliquam.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5t\", \"created\": 1542380854.0, \"url\": \"/r/1542380854_mollitia/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380854.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2246" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "284.0" - ], - "x-ratelimit-reset": [ - "130" - ], - "x-ratelimit-used": [ - "16" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=t9w34kWQz8HQGXytG%2BtjbTdXY8YG3PlRbHp0gFNDIKMu%2FYXCliyKbX59Y%2BXeK7selSVEcr2fYTfytNY5jfnec%2BTGlUemsdNd" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380854_mollitia/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2308-TGG-KTNhNjc43OuiS8l1Gd8K6pM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/99/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380854_mollitia\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENatus quasi soluta nisi architecto quo nihil. Labore totam quas nostrum aliquam ex.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Natus quasi soluta nisi architecto quo nihil. Labore totam quas nostrum aliquam ex.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"99\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH00N5E0PR2CH2RXFJEVVC\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380854_mollitia\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5t\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380854_mollitia/comments/99/occaecati_magnam_delectus_nisi/\", \"locked\": false, \"name\": \"t3_99\", \"created\": 1542380857.0, \"url\": \"http://reddit.local/r/1542380854_mollitia/comments/99/occaecati_magnam_delectus_nisi/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Occaecati magnam delectus nisi.\", \"created_utc\": 1542380857.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1735" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "283.0" - ], - "x-ratelimit-reset": [ - "130" - ], - "x-ratelimit-used": [ - "17" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=xXfhL%2Fn1ODqBsqZe3xds8VO3418ChdKbIFNu4m99N45XgKx9AxseMTXsU0JKrbeFzR7yqSzRkODCC5qBYS9%2BF5yCd%2BNsNdtF" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/99/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:07:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2308-TGG-KTNhNjc43OuiS8l1Gd8K6pM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=an11LO1UWXFUkr6S4Q; loidcreated=2018-11-16T15%3A07%3A30.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380854_mollitia/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5t\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380854_mollitia\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAd vel ut culpa repudiandae. Perspiciatis libero reiciendis exercitationem tenetur enim odit nihil.\\nIllo repellat ipsam consequatur possimus enim porro ex. Quaerat libero possimus ut asperiores. Distinctio tempore molestiae minima velit. Officia illum ratione dolorum ipsum.\\nCulpa error aperiam doloribus dolores. Nesciunt ut dicta praesentium dolore quos praesentium. Et fugiat voluptate sed aliquam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Officiis animi tempora aperiam qui quisquam in.\", \"collapse_deleted_comments\": false, \"public_description\": \"Odit quo eveniet minus vitae quod.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EOdit quo eveniet minus vitae quod.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Ad vel ut culpa repudiandae. Perspiciatis libero reiciendis exercitationem tenetur enim odit nihil.\\nIllo repellat ipsam consequatur possimus enim porro ex. Quaerat libero possimus ut asperiores. Distinctio tempore molestiae minima velit. Officia illum ratione dolorum ipsum.\\nCulpa error aperiam doloribus dolores. Nesciunt ut dicta praesentium dolore quos praesentium. Et fugiat voluptate sed aliquam.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5t\", \"created\": 1542380854.0, \"url\": \"/r/1542380854_mollitia/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380854.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2246" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:07:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "282.0" - ], - "x-ratelimit-reset": [ - "130" - ], - "x-ratelimit-used": [ - "18" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=NcAHNPERFcEbk9GJ2%2FVMftM0WM5bMiy62nC9qrHSk2IpOfEGFr52zl3YkmU5LJNxZpx6l60VLXOOBBErE0P2fGY74MdksCu1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380854_mollitia/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_list_posts_stickied.json b/cassettes/channels.views.posts_test.test_list_posts_stickied.json deleted file mode 100644 index 51c60ca013..0000000000 --- a/cassettes/channels.views.posts_test.test_list_posts_stickied.json +++ /dev/null @@ -1,2035 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:08:16", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH1DEM3FW5FFZKHZNZCGCM" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NQQ6CMBREr0K6NJJUCAguRYlRSVziqqm/H6hGW1swivHuUtm5nMm8N2/CAdBa1qoL3sjCI0E4C/w1p0VkdYEl869pt2yqqEtZD/dNQqYewaeWBi2TjghjSofuJ2DtS6OznJAbNG5rQY3VxCWD1QA2f3fbbLcKepGfM3HY81ipeZ3UVQ7HEhwk8CEBmRTOPAby+QI6v8m+ugAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:16 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:08:16 GMT", - "loidcreated=2018-11-16T15%3A08%3A16.612Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:08:16 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH1DEM3FW5FFZKHZNZCGCM" - } - }, - { - "recorded_at": "2018-11-16T15:08:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH1GPXJRG341F2AD1Z297B" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12Nyw6CMBREf4V0aTSpltTHjriiiS5Qw7Kp5QKNBZq2io/471LYuZzJnDMfJKQE57jvbtCiXYRWZEkWh0rqC16zdlPuSaI5PfVp4wUjFqN5hOBplAXHVSAIxXjoRgH3LwPBcgVhwYatk91UzUKyUA5g/XdX5bGJxfHNMm3ufZZSH2+dTvJzM94V8FASuCqCeQro+wOwPtULugAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEH1GPXJRG341F2AD1Z297B" - } - }, - { - "recorded_at": "2018-11-16T15:08:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Mollitia+commodi+ut+quam+aliquam.+Beatae+quas+magnam+veritatis+numquam+laborum+sed+repellat.+Soluta+dolor+libero+nulla+ipsa+accusamus+hic+optio.+Autem+adipisci+deserunt+ipsam+sint+vero.%0AFugit+deleniti+amet+corporis.+Repellendus+ab+molestias+illo.+Laboriosam+amet+corporis+ipsa+unde+mollitia.+Qui+fuga+qui+ab+iusto+laudantium.&link_type=any&name=1542380900_impedit&public_description=Voluptates+fugit+ab+delectus+ex+saepe+veritatis+molestias.&title=Repudiandae+culpa+molestias+non+libero+deleniti.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2313-MgclU07Jn8fC3Al_6SwImtaJ3r0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "570" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "100" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CWEH1DEM3FW5FFZKHZNZCGCM&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2313-MgclU07Jn8fC3Al_6SwImtaJ3r0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542380900_impedit/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "97" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380900_impedit/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542380900_impedit" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2312-Ea0M5spMeX_-m9uBhf5u9_zcqH8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "77" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "97" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380900_impedit&text=Nemo+atque+dolore+aut+sed+quos.+Sint+aliquam+magnam+dolores.&title=Nostrum+assumenda+optio+aspernatur." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2312-Ea0M5spMeX_-m9uBhf5u9_zcqH8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "184" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380900_impedit/comments/9h/nostrum_assumenda_optio_aspernatur/\", \"id\": \"9h\", \"name\": \"t3_9h\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "163" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "97" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2312-Ea0M5spMeX_-m9uBhf5u9_zcqH8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9h/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380900_impedit\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENemo atque dolore aut sed quos. Sint aliquam magnam dolores.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Nemo atque dolore aut sed quos. Sint aliquam magnam dolores.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9h\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH1DEM3FW5FFZKHZNZCGCM\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380900_impedit\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5v\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380900_impedit/comments/9h/nostrum_assumenda_optio_aspernatur/\", \"locked\": false, \"name\": \"t3_9h\", \"created\": 1542380903.0, \"url\": \"http://reddit.local/r/1542380900_impedit/comments/9h/nostrum_assumenda_optio_aspernatur/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Nostrum assumenda optio aspernatur.\", \"created_utc\": 1542380903.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1697" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "97" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=SXydhEewcKvj%2F0boINSJiqrolvolDg1j5KT0cngKPb%2Frl8GtkPYdP4Q7EppfDOlncGzsdG0PS0Qb8L7%2BDjRSvksfxkG9DC4N" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9h/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380900_impedit&text=Minus+tempora+laborum+accusantium+necessitatibus+vel.+Adipisci+totam+aspernatur+iure+possimus+vero.&title=Asperiores+illum+doloremque+vero." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2312-Ea0M5spMeX_-m9uBhf5u9_zcqH8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "221" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380900_impedit/comments/9i/asperiores_illum_doloremque_vero/\", \"id\": \"9i\", \"name\": \"t3_9i\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "161" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "94" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2312-Ea0M5spMeX_-m9uBhf5u9_zcqH8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9i/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380900_impedit\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMinus tempora laborum accusantium necessitatibus vel. Adipisci totam aspernatur iure possimus vero.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Minus tempora laborum accusantium necessitatibus vel. Adipisci totam aspernatur iure possimus vero.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9i\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH1DEM3FW5FFZKHZNZCGCM\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380900_impedit\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5v\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380900_impedit/comments/9i/asperiores_illum_doloremque_vero/\", \"locked\": false, \"name\": \"t3_9i\", \"created\": 1542380906.0, \"url\": \"http://reddit.local/r/1542380900_impedit/comments/9i/asperiores_illum_doloremque_vero/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Asperiores illum doloremque vero.\", \"created_utc\": 1542380906.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1769" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "94" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=dvUgqguLiNfu20pLyuNG3zAIW4oSTa5JUwRnvMk0zNEGpj6Pho9ZS3TWY6pCevGrf%2BUPViZVlp3Atr3jThlc08M1Z1GjQO6K" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9i/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380900_impedit&text=Quidem+laboriosam+assumenda+error+laudantium.+Nisi+amet+voluptatibus+vel+id+cum+occaecati.&title=Fuga+ab+qui+dignissimos+quo+nisi+odit." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2312-Ea0M5spMeX_-m9uBhf5u9_zcqH8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "217" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380900_impedit/comments/9j/fuga_ab_qui_dignissimos_quo_nisi_odit/\", \"id\": \"9j\", \"name\": \"t3_9j\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "166" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "91" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2312-Ea0M5spMeX_-m9uBhf5u9_zcqH8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9j/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380900_impedit\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuidem laboriosam assumenda error laudantium. Nisi amet voluptatibus vel id cum occaecati.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quidem laboriosam assumenda error laudantium. Nisi amet voluptatibus vel id cum occaecati.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9j\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH1DEM3FW5FFZKHZNZCGCM\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380900_impedit\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5v\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380900_impedit/comments/9j/fuga_ab_qui_dignissimos_quo_nisi_odit/\", \"locked\": false, \"name\": \"t3_9j\", \"created\": 1542380909.0, \"url\": \"http://reddit.local/r/1542380900_impedit/comments/9j/fuga_ab_qui_dignissimos_quo_nisi_odit/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Fuga ab qui dignissimos quo nisi odit.\", \"created_utc\": 1542380909.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1766" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "91" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=NgROB%2FQ0pY856p00J%2FjlQg6M6hVQ8V6hPnzI4FrrSI%2BTqHTEiQ5yVerNODimOLl3feqbbHzHqx252hDSTL8%2BlatHefPjb5kf" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9j/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542380900_impedit&text=Animi+deleniti+occaecati+quasi.+Esse+nulla+provident+adipisci+minus.&title=Distinctio+rem+recusandae+assumenda+modi." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2312-Ea0M5spMeX_-m9uBhf5u9_zcqH8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "198" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542380900_impedit/comments/9k/distinctio_rem_recusandae_assumenda_modi/\", \"id\": \"9k\", \"name\": \"t3_9k\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "169" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "88" - ], - "x-ratelimit-used": [ - "8" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2312-Ea0M5spMeX_-m9uBhf5u9_zcqH8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9k/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380900_impedit\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAnimi deleniti occaecati quasi. Esse nulla provident adipisci minus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Animi deleniti occaecati quasi. Esse nulla provident adipisci minus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9k\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH1DEM3FW5FFZKHZNZCGCM\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380900_impedit\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5v\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380900_impedit/comments/9k/distinctio_rem_recusandae_assumenda_modi/\", \"locked\": false, \"name\": \"t3_9k\", \"created\": 1542380912.0, \"url\": \"http://reddit.local/r/1542380900_impedit/comments/9k/distinctio_rem_recusandae_assumenda_modi/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Distinctio rem recusandae assumenda modi.\", \"created_utc\": 1542380912.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1731" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "87" - ], - "x-ratelimit-used": [ - "9" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=sKKolO3ykkElYJ25g6Oary9DeOrw40O%2FDCi8EZ5790tSJQlFlEbv170f3Ulpi8JBcSeiDC5P3q6HGdwgzRRkQ2cC%2FH4nbW3N" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9k/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t3_9j&state=True" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2313-MgclU07Jn8fC3Al_6SwImtaJ3r0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "33" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/set_subreddit_sticky/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "84" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/set_subreddit_sticky/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2312-Ea0M5spMeX_-m9uBhf5u9_zcqH8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380900_impedit/hot?count=0&limit=25&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380900_impedit\", \"subreddit\": \"1542380900_impedit\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuidem laboriosam assumenda error laudantium. Nisi amet voluptatibus vel id cum occaecati.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quidem laboriosam assumenda error laudantium. Nisi amet voluptatibus vel id cum occaecati.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9j\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH1DEM3FW5FFZKHZNZCGCM\", \"media\": null, \"name\": \"t3_9j\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5v\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380900_impedit/comments/9j/fuga_ab_qui_dignissimos_quo_nisi_odit/\", \"locked\": false, \"stickied\": true, \"created\": 1542380909.0, \"url\": \"http://reddit.local/r/1542380900_impedit/comments/9j/fuga_ab_qui_dignissimos_quo_nisi_odit/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Fuga ab qui dignissimos quo nisi odit.\", \"created_utc\": 1542380909.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380900_impedit\", \"subreddit\": \"1542380900_impedit\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAnimi deleniti occaecati quasi. Esse nulla provident adipisci minus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Animi deleniti occaecati quasi. Esse nulla provident adipisci minus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9k\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH1DEM3FW5FFZKHZNZCGCM\", \"media\": null, \"name\": \"t3_9k\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5v\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380900_impedit/comments/9k/distinctio_rem_recusandae_assumenda_modi/\", \"locked\": false, \"stickied\": false, \"created\": 1542380912.0, \"url\": \"http://reddit.local/r/1542380900_impedit/comments/9k/distinctio_rem_recusandae_assumenda_modi/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Distinctio rem recusandae assumenda modi.\", \"created_utc\": 1542380912.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380900_impedit\", \"subreddit\": \"1542380900_impedit\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMinus tempora laborum accusantium necessitatibus vel. Adipisci totam aspernatur iure possimus vero.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Minus tempora laborum accusantium necessitatibus vel. Adipisci totam aspernatur iure possimus vero.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9i\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH1DEM3FW5FFZKHZNZCGCM\", \"media\": null, \"name\": \"t3_9i\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5v\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380900_impedit/comments/9i/asperiores_illum_doloremque_vero/\", \"locked\": false, \"stickied\": false, \"created\": 1542380906.0, \"url\": \"http://reddit.local/r/1542380900_impedit/comments/9i/asperiores_illum_doloremque_vero/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Asperiores illum doloremque vero.\", \"created_utc\": 1542380906.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542380900_impedit\", \"subreddit\": \"1542380900_impedit\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENemo atque dolore aut sed quos. Sint aliquam magnam dolores.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Nemo atque dolore aut sed quos. Sint aliquam magnam dolores.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9h\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH1DEM3FW5FFZKHZNZCGCM\", \"media\": null, \"name\": \"t3_9h\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"removal_reason\": null, \"hidden\": false, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5v\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"mod_reports\": [], \"archived\": false, \"media_embed\": {}, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380900_impedit/comments/9h/nostrum_assumenda_optio_aspernatur/\", \"locked\": false, \"stickied\": false, \"created\": 1542380903.0, \"url\": \"http://reddit.local/r/1542380900_impedit/comments/9h/nostrum_assumenda_optio_aspernatur/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Nostrum assumenda optio aspernatur.\", \"created_utc\": 1542380903.0, \"link_flair_text\": null, \"distinguished\": null, \"num_comments\": 0, \"visited\": false, \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "6217" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "84" - ], - "x-ratelimit-used": [ - "10" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=dzgCkrGbn%2FuMwOq1zmK0MwT5lo4XjZhLioF2auOd9HYfa%2BlJdaGmG6%2FgiUsecFohyuvAwc9ZTkndVI%2FIEvRZrUTNUXDpm16n" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380900_impedit/hot?count=0&limit=25&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2312-Ea0M5spMeX_-m9uBhf5u9_zcqH8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9j/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380900_impedit\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuidem laboriosam assumenda error laudantium. Nisi amet voluptatibus vel id cum occaecati.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Quidem laboriosam assumenda error laudantium. Nisi amet voluptatibus vel id cum occaecati.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9j\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH1DEM3FW5FFZKHZNZCGCM\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380900_impedit\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5v\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": true, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380900_impedit/comments/9j/fuga_ab_qui_dignissimos_quo_nisi_odit/\", \"locked\": false, \"name\": \"t3_9j\", \"created\": 1542380909.0, \"url\": \"http://reddit.local/r/1542380900_impedit/comments/9j/fuga_ab_qui_dignissimos_quo_nisi_odit/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Fuga ab qui dignissimos quo nisi odit.\", \"created_utc\": 1542380909.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1765" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "289.0" - ], - "x-ratelimit-reset": [ - "84" - ], - "x-ratelimit-used": [ - "11" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=J0ywopPTHIWThycp33Y8qdIODrScthyJJgpCRvAsQ4kl2ULI8uRluh1wgqYOtezcPFcblXSKYY8ZS29Vychy%2F5yJwGgmAkoB" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9j/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2312-Ea0M5spMeX_-m9uBhf5u9_zcqH8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380900_impedit/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5v\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380900_impedit\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMollitia commodi ut quam aliquam. Beatae quas magnam veritatis numquam laborum sed repellat. Soluta dolor libero nulla ipsa accusamus hic optio. Autem adipisci deserunt ipsam sint vero.\\nFugit deleniti amet corporis. Repellendus ab molestias illo. Laboriosam amet corporis ipsa unde mollitia. Qui fuga qui ab iusto laudantium.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Repudiandae culpa molestias non libero deleniti.\", \"collapse_deleted_comments\": false, \"public_description\": \"Voluptates fugit ab delectus ex saepe veritatis molestias.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptates fugit ab delectus ex saepe veritatis molestias.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Mollitia commodi ut quam aliquam. Beatae quas magnam veritatis numquam laborum sed repellat. Soluta dolor libero nulla ipsa accusamus hic optio. Autem adipisci deserunt ipsam sint vero.\\nFugit deleniti amet corporis. Repellendus ab molestias illo. Laboriosam amet corporis ipsa unde mollitia. Qui fuga qui ab iusto laudantium.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5v\", \"created\": 1542380900.0, \"url\": \"/r/1542380900_impedit/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380900.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2139" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "288.0" - ], - "x-ratelimit-reset": [ - "84" - ], - "x-ratelimit-used": [ - "12" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=7tePRxzRCdPtIP74PZujWaFccvXXZ0CCjNasNvHrCPQ9t6RuKBrRIrWPLzTGkHcgBuNUy5JKYtPcY58BSuH8udYf%2BptgwDPs" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380900_impedit/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2312-Ea0M5spMeX_-m9uBhf5u9_zcqH8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9k/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380900_impedit\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAnimi deleniti occaecati quasi. Esse nulla provident adipisci minus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Animi deleniti occaecati quasi. Esse nulla provident adipisci minus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9k\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH1DEM3FW5FFZKHZNZCGCM\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380900_impedit\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5v\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380900_impedit/comments/9k/distinctio_rem_recusandae_assumenda_modi/\", \"locked\": false, \"name\": \"t3_9k\", \"created\": 1542380912.0, \"url\": \"http://reddit.local/r/1542380900_impedit/comments/9k/distinctio_rem_recusandae_assumenda_modi/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Distinctio rem recusandae assumenda modi.\", \"created_utc\": 1542380912.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1731" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "287.0" - ], - "x-ratelimit-reset": [ - "84" - ], - "x-ratelimit-used": [ - "13" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=svl3RaK3VZ%2BwUvCtASJYK6AAQhgIC783PpzGKkhcKrnhKGFNekf8xxWB9knwKZBMK3NZThr2qY7LUJ%2BLqa7hdfhEh70THDSx" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9k/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2312-Ea0M5spMeX_-m9uBhf5u9_zcqH8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380900_impedit/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5v\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380900_impedit\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMollitia commodi ut quam aliquam. Beatae quas magnam veritatis numquam laborum sed repellat. Soluta dolor libero nulla ipsa accusamus hic optio. Autem adipisci deserunt ipsam sint vero.\\nFugit deleniti amet corporis. Repellendus ab molestias illo. Laboriosam amet corporis ipsa unde mollitia. Qui fuga qui ab iusto laudantium.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Repudiandae culpa molestias non libero deleniti.\", \"collapse_deleted_comments\": false, \"public_description\": \"Voluptates fugit ab delectus ex saepe veritatis molestias.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptates fugit ab delectus ex saepe veritatis molestias.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Mollitia commodi ut quam aliquam. Beatae quas magnam veritatis numquam laborum sed repellat. Soluta dolor libero nulla ipsa accusamus hic optio. Autem adipisci deserunt ipsam sint vero.\\nFugit deleniti amet corporis. Repellendus ab molestias illo. Laboriosam amet corporis ipsa unde mollitia. Qui fuga qui ab iusto laudantium.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5v\", \"created\": 1542380900.0, \"url\": \"/r/1542380900_impedit/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380900.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2139" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "286.0" - ], - "x-ratelimit-reset": [ - "84" - ], - "x-ratelimit-used": [ - "14" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=NIm0Ysyl7LHsocquQLxlB8RSjkHEqeo7xMLJ0ZjP0iwMzsroKZy4oQ1zOxSxCk1i6Z%2FpT%2B%2FMSXG3WNL0xPKKYaTLSVHmNt2G" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380900_impedit/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2312-Ea0M5spMeX_-m9uBhf5u9_zcqH8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9i/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380900_impedit\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMinus tempora laborum accusantium necessitatibus vel. Adipisci totam aspernatur iure possimus vero.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Minus tempora laborum accusantium necessitatibus vel. Adipisci totam aspernatur iure possimus vero.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9i\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH1DEM3FW5FFZKHZNZCGCM\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380900_impedit\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5v\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380900_impedit/comments/9i/asperiores_illum_doloremque_vero/\", \"locked\": false, \"name\": \"t3_9i\", \"created\": 1542380906.0, \"url\": \"http://reddit.local/r/1542380900_impedit/comments/9i/asperiores_illum_doloremque_vero/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Asperiores illum doloremque vero.\", \"created_utc\": 1542380906.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1769" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "285.0" - ], - "x-ratelimit-reset": [ - "84" - ], - "x-ratelimit-used": [ - "15" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=BNYCWNQE%2BCMRS1%2Fa4NSBDrnk9GZWJo2PqWEFaGjWv4QTHs5hPPRNtPcDIPavd4Z7a6BjqrouqUpstNxB7EecY7nvfFbcrKKM" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9i/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2312-Ea0M5spMeX_-m9uBhf5u9_zcqH8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380900_impedit/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5v\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380900_impedit\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMollitia commodi ut quam aliquam. Beatae quas magnam veritatis numquam laborum sed repellat. Soluta dolor libero nulla ipsa accusamus hic optio. Autem adipisci deserunt ipsam sint vero.\\nFugit deleniti amet corporis. Repellendus ab molestias illo. Laboriosam amet corporis ipsa unde mollitia. Qui fuga qui ab iusto laudantium.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Repudiandae culpa molestias non libero deleniti.\", \"collapse_deleted_comments\": false, \"public_description\": \"Voluptates fugit ab delectus ex saepe veritatis molestias.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptates fugit ab delectus ex saepe veritatis molestias.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Mollitia commodi ut quam aliquam. Beatae quas magnam veritatis numquam laborum sed repellat. Soluta dolor libero nulla ipsa accusamus hic optio. Autem adipisci deserunt ipsam sint vero.\\nFugit deleniti amet corporis. Repellendus ab molestias illo. Laboriosam amet corporis ipsa unde mollitia. Qui fuga qui ab iusto laudantium.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5v\", \"created\": 1542380900.0, \"url\": \"/r/1542380900_impedit/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380900.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2139" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "284.0" - ], - "x-ratelimit-reset": [ - "84" - ], - "x-ratelimit-used": [ - "16" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=wzRscZijcAPnY%2BN%2F%2Bg7NDFQzyxH4AxZ%2FWlkDmiXMjkRgSEc3CV8fiznq7rFd8esdCGX0PF%2FqTJop1es%2F05G0UZjcOm40cmZm" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380900_impedit/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2312-Ea0M5spMeX_-m9uBhf5u9_zcqH8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/9h/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542380900_impedit\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENemo atque dolore aut sed quos. Sint aliquam magnam dolores.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Nemo atque dolore aut sed quos. Sint aliquam magnam dolores.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"9h\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEH1DEM3FW5FFZKHZNZCGCM\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542380900_impedit\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_5v\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542380900_impedit/comments/9h/nostrum_assumenda_optio_aspernatur/\", \"locked\": false, \"name\": \"t3_9h\", \"created\": 1542380903.0, \"url\": \"http://reddit.local/r/1542380900_impedit/comments/9h/nostrum_assumenda_optio_aspernatur/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Nostrum assumenda optio aspernatur.\", \"created_utc\": 1542380903.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1697" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "283.0" - ], - "x-ratelimit-reset": [ - "84" - ], - "x-ratelimit-used": [ - "17" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=HYlFlV9SuIudvUD%2FidHYFlM31j4Q1eBkopT3mb9D%2FYXtRSl1o1zAkFM0JpPaA8PzHwiiYunHFnjdAhJEeKn57Q%2BJyJoRrnkp" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/9h/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:08:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2312-Ea0M5spMeX_-m9uBhf5u9_zcqH8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=6K4ebE2NSyc3IKeBg1; loidcreated=2018-11-16T15%3A08%3A16.612Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542380900_impedit/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"5v\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542380900_impedit\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMollitia commodi ut quam aliquam. Beatae quas magnam veritatis numquam laborum sed repellat. Soluta dolor libero nulla ipsa accusamus hic optio. Autem adipisci deserunt ipsam sint vero.\\nFugit deleniti amet corporis. Repellendus ab molestias illo. Laboriosam amet corporis ipsa unde mollitia. Qui fuga qui ab iusto laudantium.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Repudiandae culpa molestias non libero deleniti.\", \"collapse_deleted_comments\": false, \"public_description\": \"Voluptates fugit ab delectus ex saepe veritatis molestias.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVoluptates fugit ab delectus ex saepe veritatis molestias.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Mollitia commodi ut quam aliquam. Beatae quas magnam veritatis numquam laborum sed repellat. Soluta dolor libero nulla ipsa accusamus hic optio. Autem adipisci deserunt ipsam sint vero.\\nFugit deleniti amet corporis. Repellendus ab molestias illo. Laboriosam amet corporis ipsa unde mollitia. Qui fuga qui ab iusto laudantium.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_5v\", \"created\": 1542380900.0, \"url\": \"/r/1542380900_impedit/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542380900.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2139" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:08:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "282.0" - ], - "x-ratelimit-reset": [ - "84" - ], - "x-ratelimit-used": [ - "18" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=MvqwoyG%2BC4gMVbrbOosKOMkcAhD%2FaKf9zRL3cjj3VvW3O%2F436JUUiHkqytRaI%2Bh%2By2v%2BW7vA29mmYCs6MMCMn6FXQUVa71ya" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542380900_impedit/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_patch_article_validate_cover_image.json b/cassettes/channels.views.posts_test.test_patch_article_validate_cover_image.json deleted file mode 100644 index 80c79bf636..0000000000 --- a/cassettes/channels.views.posts_test.test_patch_article_validate_cover_image.json +++ /dev/null @@ -1,418 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-12-20T12:32:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CZ5SMM4HWVZBKX8W7MQFGYVT" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNNMtKMjyrXSt9LPI9HQqK400cQpI0630znANdM9X0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYFGPr4p+cF+5m5+oSb+ztG+ieFmHhGZYfHV5qA9KSklmUmp8ZnpoAMhnCUagFkqwphuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 20 Dec 2018 12:32:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=v2C9EBpitrJsUnAaBR; Domain=reddit.local; Max-Age=63072000; Path=/; expires=Sat, 19-Dec-2020 12:32:30 GMT", - "loidcreated=2018-12-20T12%3A32%3A30.312Z; Domain=reddit.local; Max-Age=63072000; Path=/; expires=Sat, 19-Dec-2020 12:32:30 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CZ5SMM4HWVZBKX8W7MQFGYVT" - } - }, - { - "recorded_at": "2018-12-20T12:32:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=v2C9EBpitrJsUnAaBR; loidcreated=2018-12-20T12%3A32%3A30.312Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CZ5SMQDTAK99K3GVEYFDTQY0" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNsQ6CMBiEX4V0NDapqEUdDcZBNlw6NaX9ixW1pD8SifHdpTKZm+5y392bKK0BUXa+gQfZJSRdZLRY8yYvFY4qVjUT59NRIk1lLzZknhB4tS4ASheBJWdszH687IYW4kgFKkCIXdR+imbRBbAjePl/w9LT/HYdtndmrbGHSvDMZPUenywyBnqnQToThydDPl8kIzW5uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 20 Dec 2018 12:32:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CZ5SMQDTAK99K3GVEYFDTQY0" - } - }, - { - "recorded_at": "2018-12-20T12:32:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Impedit+recusandae+et+totam.+Rem+odit+iure+doloremque+cupiditate+in.+Provident+repellat+ex+ratione+minus+distinctio+eum+dicta.+Minus+aut+ad+dignissimos+sunt+nemo+odit+ex+qui.%0AVoluptate+labore+inventore+animi.+Magni+provident+possimus+molestiae+corrupti+eos.%0ADolores+excepturi+architecto+odio+laudantium+aliquam+ipsum+asperiores+aliquam.+Nesciunt+labore+reprehenderit+tenetur+cupiditate+impedit+consectetur+labore+error.+Labore+nostrum+consequuntur+numquam+perspiciatis+tempore+eius.&link_type=any&name=1545309153_7_optio&public_description=Assumenda+libero+illum+laboriosam+aperiam+assumenda+hic.&title=Eveniet+voluptatum+maiores+inventore+in+iusto.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 217-L56kDSasasaL4g0YTKG_s-2_vY8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "725" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=v2C9EBpitrJsUnAaBR; loidcreated=2018-12-20T12%3A32%3A30.312Z" - ], - "User-Agent": [ - "MIT-Open: 0.58.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 20 Dec 2018 12:32:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "446" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-12-20T12:32:37", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CZ5SMM4HWVZBKX8W7MQFGYVT&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 217-L56kDSasasaL4g0YTKG_s-2_vY8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=v2C9EBpitrJsUnAaBR; loidcreated=2018-12-20T12%3A32%3A30.312Z" - ], - "User-Agent": [ - "MIT-Open: 0.58.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1545309153_7_optio/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 20 Dec 2018 12:32:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "443" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1545309153_7_optio/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-12-20T12:32:37", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1545309153_7_optio" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 216-ppjMyEyN8iIBvuY4BPf-yKhEQGo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "77" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=v2C9EBpitrJsUnAaBR; loidcreated=2018-12-20T12%3A32%3A30.312Z" - ], - "User-Agent": [ - "MIT-Open: 0.58.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Thu, 20 Dec 2018 12:32:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "443" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_post_anonymous.json b/cassettes/channels.views.posts_test.test_post_anonymous.json deleted file mode 100644 index 21e7b446cc..0000000000 --- a/cassettes/channels.views.posts_test.test_post_anonymous.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "http_interactions": [], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_post_create_post_new_meta.json b/cassettes/channels.views.posts_test.test_post_create_post_new_meta.json deleted file mode 100644 index d8abf5ecc1..0000000000 --- a/cassettes/channels.views.posts_test.test_post_create_post_new_meta.json +++ /dev/null @@ -1,688 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T22:35:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBS1SD0TWP40SAQHC1Z8JGQ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULI00A0N8MzOTPQ18S8IdzIwNg7K9jYz8wspdq5MzFbSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolrnmZ3mlOqZnhuQGV5rklZj7eBkEurrk6PpapIO0pKSWZSanxmemgMyFcJRqAcmUKPy2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:35:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=w5Dl26wwTIoIw78H3i; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:35:25 GMT", - "loidcreated=2020-07-28T22%3A35%3A25.393Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:35:25 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBS1SD0TWP40SAQHC1Z8JGQ" - } - }, - { - "recorded_at": "2020-07-28T22:35:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=w5Dl26wwTIoIw78H3i; loidcreated=2020-07-28T22%3A35%3A25.393Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBS1WXZCWYCME136DPP9SZF" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNywrCMBREf6VkKQrVhkrcuRC12CIobkNMr3gpNU9sqvjvNnblcg5zZt5ESAnOca8aeJBVQth85gOWXZeFSjVtejDlcb/EcGZ1XlAyTQgEjRYcx9jP8jQd2E/nvtcQN64gLNjYdVKNaBKThdsg3v/OuHenakEpf222RpvLTjBX9KhMu45KDU+UwLGOu2Mgny+RgRXctgAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:35:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBS1WXZCWYCME136DPP9SZF" - } - }, - { - "recorded_at": "2020-07-28T22:35:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Court+return+break+address+final+act.+Bring+physical+cost+set+among.%0ANumber+but+follow+space+pick.+Chair+heart+around+once+cover+once+system.+Technology+program+activity+receive+American+nor+door.%0AMorning+have+leader+travel.+I+arrive+ok+item+water.+Door+major+ever+major+his+activity+decide.%0ACommunity+work+success+performance+morning+participant+affect.+Should+manager+card+spring.%0AProduction+clearly+network+building+able+message.&link_type=any&name=1595975729_1_special&public_description=Present+student+voice+certainly+child+social+wall+shake.&title=Yard+beyond+final+order+stock.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 91-txiMww3xNokm0LqMPI7ixT9d6J4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "665" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=w5Dl26wwTIoIw78H3i; loidcreated=2020-07-28T22%3A35%3A25.393Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:35:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "271" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:35:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBS1SD0TWP40SAQHC1Z8JGQ&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 91-txiMww3xNokm0LqMPI7ixT9d6J4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=w5Dl26wwTIoIw78H3i; loidcreated=2020-07-28T22%3A35%3A25.393Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595975729_1_special/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:35:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "268" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595975729_1_special/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:35:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595975729_1_special" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 90-UPIkiaM4OpWB033RkK66NTsCyak" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=w5Dl26wwTIoIw78H3i; loidcreated=2020-07-28T22%3A35%3A25.393Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:35:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "268" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:35:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=link&resubmit=True&sendreplies=True&sr=1595975729_1_special&title=url+title+%F0%9F%90%A8&url=http%3A%2F%2Ffake" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 90-UPIkiaM4OpWB033RkK66NTsCyak" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "129" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=w5Dl26wwTIoIw78H3i; loidcreated=2020-07-28T22%3A35%3A25.393Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595975729_1_special/comments/14/url_title/\", \"id\": \"14\", \"name\": \"t3_14\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "140" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:35:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "266" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:35:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 90-UPIkiaM4OpWB033RkK66NTsCyak" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=w5Dl26wwTIoIw78H3i; loidcreated=2020-07-28T22%3A35%3A25.393Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/14/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595975729_1_special\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"14\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBS1SD0TWP40SAQHC1Z8JGQ\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"fake\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_z\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": false, \"hide_score\": false, \"permalink\": \"/r/1595975729_1_special/comments/14/url_title/\", \"locked\": false, \"name\": \"t3_14\", \"created\": 1595975734.0, \"url\": \"http://fake\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"url title \\ud83d\\udc28\", \"created_utc\": 1595975734.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1327" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:35:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "266" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=4Z%2BzgSPc%2FhlzdzkEUHR0Q6w13ABzsX7KWKSGKL5gRr2W71kq7o4Zf2sdH2IgM4toakffE%2FycEAB1NXYUo6R3Gf4QXXX%2B7OOD" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/14/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:35:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 90-UPIkiaM4OpWB033RkK66NTsCyak" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=w5Dl26wwTIoIw78H3i; loidcreated=2020-07-28T22%3A35%3A25.393Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595975729_1_special/about/moderators/?user=01EEBS1SD0TWP40SAQHC1Z8JGQ&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:35:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "266" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=GOVBn2uYPPuA798%2FdLJ%2BvVElVWrsLnV4A29SSdewOGXH2SeFOrtmlIqWwmdXJrzB8FjFsJj15ajHiyEp8Xnad%2FnmeAKFKy1j" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595975729_1_special/about/moderators/?user=01EEBS1SD0TWP40SAQHC1Z8JGQ&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_post_create_post_no_thumbnail.json b/cassettes/channels.views.posts_test.test_post_create_post_no_thumbnail.json deleted file mode 100644 index b331906e2a..0000000000 --- a/cassettes/channels.views.posts_test.test_post_create_post_no_thumbnail.json +++ /dev/null @@ -1,688 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T22:30:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBRSAAADXC3T1N25DKFD7YK" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULKw0PXJDy0pCbc00s3yiXD28jOxsChOCix2LjJz8lXSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolulmGfpGRRr5ZpakO2emVwVHBpUElJqXlhQ4hoK0pKSWZSanxmemgMyFcJRqAZ+amA22AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:30:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=NwHNSVCRa8iztHbjUm; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:30:48 GMT", - "loidcreated=2020-07-28T22%3A30%3A47.793Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:30:48 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBRSAAADXC3T1N25DKFD7YK" - } - }, - { - "recorded_at": "2020-07-28T22:30:51", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=NwHNSVCRa8iztHbjUm; loidcreated=2020-07-28T22%3A30%3A47.793Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBRSDMMKF8PZFBHR3291WER" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNsQ6CMBiEX4V0NJpgJKW6wuLAADJUl6YtP1oaLWmxosZ3l8rkeF/uu3sjLiU4xwaj4YZ2ESLbFb0L4m2evUpRULoeq64uMqhMmR7RMkIw9sqCYyr0NziOJ/bT2fDsIWwI4BZs6DppZrQIyUI7iZf/s9QJfvYaX2vIO/84JNqeMBF7ngSlAa8kMNWE3Tmgzxf6R9DItgAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:30:51 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBRSDMMKF8PZFBHR3291WER" - } - }, - { - "recorded_at": "2020-07-28T22:30:51", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Ok+scientist+politics+section+political+let.%0ADifferent+wonder+agree+garden.+Of+citizen+part+buy.+More+themselves+painting+several+go+sort+measure.+Factor+rock+article+trip+form+walk+minute.%0AThreat+share+candidate+current+late+those+understand.+Explain+pressure+everything+choice+tonight+base+though.%0AWonder+way+building+day+page.+Not+indicate+possible+both+table+five.%0AMake+different+now+claim+fall.%0APerhaps+by+keep+lay+behind+produce+computer.+My+physical+letter.+Different+street+support+imagine.&link_type=any&name=1595975451_2_military&public_description=Human+operation+whom+house+pretty+sign.+Line+career+food+indicate+shoulder.&title=Father+green+stock+return+more+remember+charge.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 89-Xub8vrDCzQbMXX1xRjTMCeRoQ7Y" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "770" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=NwHNSVCRa8iztHbjUm; loidcreated=2020-07-28T22%3A30%3A47.793Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:30:51 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "549" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:30:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBRSAAADXC3T1N25DKFD7YK&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 89-Xub8vrDCzQbMXX1xRjTMCeRoQ7Y" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=NwHNSVCRa8iztHbjUm; loidcreated=2020-07-28T22%3A30%3A47.793Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595975451_2_military/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:30:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "546" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595975451_2_military/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:30:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595975451_2_military" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 88-LoUttW92-jLXCJN488sbQsCr6BM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "80" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=NwHNSVCRa8iztHbjUm; loidcreated=2020-07-28T22%3A30%3A47.793Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:30:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "546" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:30:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=link&resubmit=True&sendreplies=True&sr=1595975451_2_military&title=url+title+%F0%9F%90%A8&url=http%3A%2F%2Ffake" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 88-LoUttW92-jLXCJN488sbQsCr6BM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "130" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=NwHNSVCRa8iztHbjUm; loidcreated=2020-07-28T22%3A30%3A47.793Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595975451_2_military/comments/13/url_title/\", \"id\": \"13\", \"name\": \"t3_13\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "141" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:30:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "546" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:30:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 88-LoUttW92-jLXCJN488sbQsCr6BM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=NwHNSVCRa8iztHbjUm; loidcreated=2020-07-28T22%3A30%3A47.793Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/13/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595975451_2_military\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"13\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBRSAAADXC3T1N25DKFD7YK\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"fake\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_y\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": false, \"hide_score\": false, \"permalink\": \"/r/1595975451_2_military/comments/13/url_title/\", \"locked\": false, \"name\": \"t3_13\", \"created\": 1595975454.0, \"url\": \"http://fake\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"url title \\ud83d\\udc28\", \"created_utc\": 1595975454.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1329" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:30:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "546" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=zo%2BIuxwxGSdr75pwiH3ZrwjJ7cDU8V9eHuU8%2BcPr4zIl6aeuusO93gkRKZALreNKWGv5Y6Oh4AJqsqYLWjtJ31b9qW8khSQx" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/13/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:30:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 88-LoUttW92-jLXCJN488sbQsCr6BM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=NwHNSVCRa8iztHbjUm; loidcreated=2020-07-28T22%3A30%3A47.793Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595975451_2_military/about/moderators/?user=01EEBRSAAADXC3T1N25DKFD7YK&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:30:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "546" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=nK3Iyczk9fSH36j9lrLq2AV1DfbSg%2BCykgHICidQqOkPKb3TAeKWHLzrvfFrr%2Fttd6mEv2XFks64QFaAA3b6CIleWhaShLHU" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595975451_2_military/about/moderators/?user=01EEBRSAAADXC3T1N25DKFD7YK&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_subscribe_post[False-False-0-1].json b/cassettes/channels.views.posts_test.test_subscribe_post[False-False-0-1].json deleted file mode 100644 index ea4729ccc0..0000000000 --- a/cassettes/channels.views.posts_test.test_subscribe_post[False-False-0-1].json +++ /dev/null @@ -1,958 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:15:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJBPNHW3W5FNR2ZGXDEJWK" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDKytNB1MraosHDUNYjK8/UzrTJOMvJw0a3yK8gxCw1U0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZVFZWUlWf5ePtZ5vkHpxgHlZdZmhYblxjmBHmC9KSklmUmp8ZnpoAMhnCUagF3K8T8uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=xQw8y5jlhkcIQXMoF7; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:15:25 GMT", - "loidcreated=2018-08-24T18%3A15%3A25.082Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:15:25 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJBPNHW3W5FNR2ZGXDEJWK" - } - }, - { - "recorded_at": "2018-08-24T18:15:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Saepe+quae+molestiae+perferendis+deserunt+necessitatibus+architecto.+Est+error+corporis+doloribus+distinctio+cupiditate+quae.+Adipisci+commodi+qui+ea+deserunt+labore.+Id+vel+non+quia+culpa.%0ADolores+quasi+minima+numquam+deleniti+rem.+Minima+perferendis+quae+eveniet+deleniti+voluptates.+Deserunt+illum+sit+vero+ipsum+officiis+quasi+id+quidem.&link_type=any&name=1535134525_quo&public_description=A+iure+quia+ex+sit+voluptates.+Cupiditate+reiciendis+ad+velit+quo+perspiciatis.&title=Odit+corporis+dolor+architecto+ducimus.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 298-B38x8A-0ZnMN5z3b2HD-zNpl6UQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "594" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=xQw8y5jlhkcIQXMoF7; loidcreated=2018-08-24T18%3A15%3A25.082Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "275" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=xQw8y5jlhkcIQXMoF7; loidcreated=2018-08-24T18%3A15%3A25.082Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJBX10XSED0SKX3TPVTF8Z" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDKytNQtzfSM9HYPy/A0Copwc0rPCM1wtcw0NfKJcMpX0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLa5e4SY+EYF5Xr7hbtEhXtkFLjlOPnmGaUblLiC9KSklmUmp8ZnpoAMhnCUagHDlAc3uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJBX10XSED0SKX3TPVTF8Z" - } - }, - { - "recorded_at": "2018-08-24T18:15:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPJBX10XSED0SKX3TPVTF8Z&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 298-B38x8A-0ZnMN5z3b2HD-zNpl6UQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=xQw8y5jlhkcIQXMoF7; loidcreated=2018-08-24T18%3A15%3A25.082Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535134525_quo/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "269" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535134525_quo/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535134525_quo" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 299-uiIYKGVhI2RXFBghUhE9i52LXBo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "73" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=xQw8y5jlhkcIQXMoF7; loidcreated=2018-08-24T18%3A15%3A25.082Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "269" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535134525_quo&text=Minima+dolores+natus+impedit+corporis+placeat.+Quasi+quaerat+alias+totam+nam+harum+eveniet+rerum.&title=Perferendis+consequuntur+error+commodi+sint." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 299-uiIYKGVhI2RXFBghUhE9i52LXBo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "226" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=xQw8y5jlhkcIQXMoF7; loidcreated=2018-08-24T18%3A15%3A25.082Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535134525_quo/comments/47/perferendis_consequuntur_error_commodi_sint/\", \"id\": \"47\", \"name\": \"t3_47\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "168" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "268" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 299-uiIYKGVhI2RXFBghUhE9i52LXBo" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=xQw8y5jlhkcIQXMoF7; loidcreated=2018-08-24T18%3A15%3A25.082Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/47/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134525_quo\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMinima dolores natus impedit corporis placeat. Quasi quaerat alias totam nam harum eveniet rerum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Minima dolores natus impedit corporis placeat. Quasi quaerat alias totam nam harum eveniet rerum.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"47\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPJBX10XSED0SKX3TPVTF8Z\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134525_quo\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134525_quo/comments/47/perferendis_consequuntur_error_commodi_sint/\", \"locked\": false, \"name\": \"t3_47\", \"created\": 1535134532.0, \"url\": \"http://reddit.local/r/1535134525_quo/comments/47/perferendis_consequuntur_error_commodi_sint/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Perferendis consequuntur error commodi sint.\", \"created_utc\": 1535134532.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1782" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "268" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=hkV%2BiYkcLmAufRaxd8V6xSLrRLZXOTepGM%2FXrjqkAxsvmJaPu22M%2BUrrV5ytKFmyf7nnBNmuNZU1Z4%2B1%2Bwl%2Bbip7h%2FYhWpf0" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/47/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Deleniti+molestiae+quas+fugiat+adipisci+ipsam.+Totam+fugit+assumenda+neque+nemo.&thing_id=t3_47" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 299-uiIYKGVhI2RXFBghUhE9i52LXBo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "114" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=xQw8y5jlhkcIQXMoF7; loidcreated=2018-08-24T18%3A15%3A25.082Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_2p\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_47\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3c\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CNPJBX10XSED0SKX3TPVTF8Z\", \"parent_id\": \"t3_47\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Deleniti molestiae quas fugiat adipisci ipsam. Totam fugit assumenda neque nemo.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDeleniti molestiae quas fugiat adipisci ipsam. Totam fugit assumenda neque nemo.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134525_quo\", \"score_hidden\": false, \"name\": \"t1_3c\", \"created\": 1535134535.0, \"author_flair_text\": null, \"created_utc\": 1535134535.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "960" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "265" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 298-B38x8A-0ZnMN5z3b2HD-zNpl6UQ" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=xQw8y5jlhkcIQXMoF7; loidcreated=2018-08-24T18%3A15%3A25.082Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/47/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134525_quo\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMinima dolores natus impedit corporis placeat. Quasi quaerat alias totam nam harum eveniet rerum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Minima dolores natus impedit corporis placeat. Quasi quaerat alias totam nam harum eveniet rerum.\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"47\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [], \"author\": \"01CNPJBX10XSED0SKX3TPVTF8Z\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134525_quo\", \"hidden\": false, \"num_comments\": 1, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134525_quo/comments/47/perferendis_consequuntur_error_commodi_sint/\", \"locked\": false, \"name\": \"t3_47\", \"created\": 1535134532.0, \"url\": \"http://reddit.local/r/1535134525_quo/comments/47/perferendis_consequuntur_error_commodi_sint/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Perferendis consequuntur error commodi sint.\", \"created_utc\": 1535134532.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_2p\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_47\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3c\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01CNPJBX10XSED0SKX3TPVTF8Z\", \"parent_id\": \"t3_47\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Deleniti molestiae quas fugiat adipisci ipsam. Totam fugit assumenda neque nemo.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDeleniti molestiae quas fugiat adipisci ipsam. Totam fugit assumenda neque nemo.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134525_quo\", \"score_hidden\": false, \"name\": \"t1_3c\", \"created\": 1535134535.0, \"author_flair_text\": null, \"created_utc\": 1535134535.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2684" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "262" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=HkJJ2jY0YNmuFFqwQQgJJC1d39ZcIePK%2Bq2qEDOQVSCe%2BGEgnBp0KA19PuWf4A5LA10Reo1SnTSvqcsCaO%2Bi5dyjlXOin3AJ" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/47/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 298-B38x8A-0ZnMN5z3b2HD-zNpl6UQ" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=xQw8y5jlhkcIQXMoF7; loidcreated=2018-08-24T18%3A15%3A25.082Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/47/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134525_quo\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EMinima dolores natus impedit corporis placeat. Quasi quaerat alias totam nam harum eveniet rerum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Minima dolores natus impedit corporis placeat. Quasi quaerat alias totam nam harum eveniet rerum.\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"47\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [], \"author\": \"01CNPJBX10XSED0SKX3TPVTF8Z\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134525_quo\", \"hidden\": false, \"num_comments\": 1, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2p\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134525_quo/comments/47/perferendis_consequuntur_error_commodi_sint/\", \"locked\": false, \"name\": \"t3_47\", \"created\": 1535134532.0, \"url\": \"http://reddit.local/r/1535134525_quo/comments/47/perferendis_consequuntur_error_commodi_sint/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Perferendis consequuntur error commodi sint.\", \"created_utc\": 1535134532.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_2p\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_47\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3c\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01CNPJBX10XSED0SKX3TPVTF8Z\", \"parent_id\": \"t3_47\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Deleniti molestiae quas fugiat adipisci ipsam. Totam fugit assumenda neque nemo.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDeleniti molestiae quas fugiat adipisci ipsam. Totam fugit assumenda neque nemo.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134525_quo\", \"score_hidden\": false, \"name\": \"t1_3c\", \"created\": 1535134535.0, \"author_flair_text\": null, \"created_utc\": 1535134535.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2684" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "262" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=OEUqZXM%2Bt%2BbgQHMwkDuVB%2B6%2FT2aZnkLohQZNGd2OJCeylHT%2BIAD25KeaQ8qq4z2ElOFFbrVrDV6TGgdsnbu01VicvlfRZIV1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/47/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 298-B38x8A-0ZnMN5z3b2HD-zNpl6UQ" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=xQw8y5jlhkcIQXMoF7; loidcreated=2018-08-24T18%3A15%3A25.082Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535134525_quo/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"2p\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535134525_quo\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESaepe quae molestiae perferendis deserunt necessitatibus architecto. Est error corporis doloribus distinctio cupiditate quae. Adipisci commodi qui ea deserunt labore. Id vel non quia culpa.\\nDolores quasi minima numquam deleniti rem. Minima perferendis quae eveniet deleniti voluptates. Deserunt illum sit vero ipsum officiis quasi id quidem.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Odit corporis dolor architecto ducimus.\", \"collapse_deleted_comments\": false, \"public_description\": \"A iure quia ex sit voluptates. Cupiditate reiciendis ad velit quo perspiciatis.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EA iure quia ex sit voluptates. Cupiditate reiciendis ad velit quo perspiciatis.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Saepe quae molestiae perferendis deserunt necessitatibus architecto. Est error corporis doloribus distinctio cupiditate quae. Adipisci commodi qui ea deserunt labore. Id vel non quia culpa.\\nDolores quasi minima numquam deleniti rem. Minima perferendis quae eveniet deleniti voluptates. Deserunt illum sit vero ipsum officiis quasi id quidem.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 4, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_2p\", \"created\": 1535134525.0, \"url\": \"/r/1535134525_quo/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535134525.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2192" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "262" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=eNtqSydJPtPo8jcMEhVJNP%2FjURBvkb3LDsPJYLru%2Bo481p8UaQoMJhK5nRLXP9Zla%2FLgfVcwN8xBAwiUtQu5dqtUwKyMRot4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535134525_quo/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_subscribe_post[False-True-1-2].json b/cassettes/channels.views.posts_test.test_subscribe_post[False-True-1-2].json deleted file mode 100644 index 6862dc7452..0000000000 --- a/cassettes/channels.views.posts_test.test_subscribe_post[False-True-1-2].json +++ /dev/null @@ -1,958 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:15:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJB6MV6D858J1RG6KEMYVC" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDKyNNM1LA9KNkqLDA+Iz3UsL/WLyHJx9w4zywooMitW0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZVhKQWWYb5epmHBHuHJKYF5LpEVOYEe4WXx+eD9KSklmUmp8ZnpoAMhnCUagGC6b5ZuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:08 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=vCwXd2mtV1jHhyxUtT; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:15:08 GMT", - "loidcreated=2018-08-24T18%3A15%3A08.671Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:15:08 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJB6MV6D858J1RG6KEMYVC" - } - }, - { - "recorded_at": "2018-08-24T18:15:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Quae+commodi+sapiente+rem+facilis+ipsum+veniam.+Quibusdam+ea+id+nesciunt+dicta+commodi.+Officiis+facilis+nihil+excepturi+impedit+impedit+dolor+atque+molestias.+Perferendis+porro+esse+placeat+temporibus+eligendi+repudiandae+impedit.+Iusto+ut+suscipit+omnis+iste+voluptate+ratione+tempora.&link_type=any&name=1535134508_facilis&public_description=Amet+reprehenderit+ab+numquam+odio.+Quia+id+debitis+pariatur.+Omnis+beatae+at+odio+odio+sunt.&title=Doloribus+tempora+beatae+illo+quia.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 296-1wRc2fYWP_mAwuNXjDGKV6jPr6s" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "552" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=vCwXd2mtV1jHhyxUtT; loidcreated=2018-08-24T18%3A15%3A08.671Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:09 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "291" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=vCwXd2mtV1jHhyxUtT; loidcreated=2018-08-24T18%3A15%3A08.671Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJBCZMNXF2SH6REXCMEEPY" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDKyNNcNDnR0ynH2KjSvNCsvz0s1zA9z8QxNyo13CslW0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLb5V4QH5JtaBPpll2QnmxtVpKUE+5mF5Yf5eoNtS0kty0xOjc9MARkM4SjVAgC69KM/uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJBCZMNXF2SH6REXCMEEPY" - } - }, - { - "recorded_at": "2018-08-24T18:15:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPJBCZMNXF2SH6REXCMEEPY&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 296-1wRc2fYWP_mAwuNXjDGKV6jPr6s" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=vCwXd2mtV1jHhyxUtT; loidcreated=2018-08-24T18%3A15%3A08.671Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535134508_facilis/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "285" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535134508_facilis/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535134508_facilis" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 297-SQABlCJq7y6wwne1oVDIUbm_BTk" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "77" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=vCwXd2mtV1jHhyxUtT; loidcreated=2018-08-24T18%3A15%3A08.671Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "285" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535134508_facilis&text=Dignissimos+dignissimos+quas+consequatur+facilis.+Repellat+consequuntur+earum+eligendi+quo+dolor.&title=Quisquam+ipsum+dolorum+minus+officiis." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 297-SQABlCJq7y6wwne1oVDIUbm_BTk" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "224" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=vCwXd2mtV1jHhyxUtT; loidcreated=2018-08-24T18%3A15%3A08.671Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535134508_facilis/comments/46/quisquam_ipsum_dolorum_minus_officiis/\", \"id\": \"46\", \"name\": \"t3_46\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "166" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "285" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 297-SQABlCJq7y6wwne1oVDIUbm_BTk" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=vCwXd2mtV1jHhyxUtT; loidcreated=2018-08-24T18%3A15%3A08.671Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/46/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134508_facilis\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDignissimos dignissimos quas consequatur facilis. Repellat consequuntur earum eligendi quo dolor.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Dignissimos dignissimos quas consequatur facilis. Repellat consequuntur earum eligendi quo dolor.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"46\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPJBCZMNXF2SH6REXCMEEPY\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134508_facilis\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2o\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134508_facilis/comments/46/quisquam_ipsum_dolorum_minus_officiis/\", \"locked\": false, \"name\": \"t3_46\", \"created\": 1535134515.0, \"url\": \"http://reddit.local/r/1535134508_facilis/comments/46/quisquam_ipsum_dolorum_minus_officiis/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quisquam ipsum dolorum minus officiis.\", \"created_utc\": 1535134515.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1780" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "285" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=p78Gz1kz33Jp2OeE1IcEYqwipaDmMw%2FfCUuRVVc2jwlt521PgSvxjPIUkRKY5ZQAG3BIS0Tb8ialwhoFFHCJhXeNGGIImiM0" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/46/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Aperiam+nisi+et+excepturi+molestias+quisquam.+Mollitia+rerum+eveniet+nobis+velit+in.&thing_id=t3_46" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 297-SQABlCJq7y6wwne1oVDIUbm_BTk" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "118" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=vCwXd2mtV1jHhyxUtT; loidcreated=2018-08-24T18%3A15%3A08.671Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_2o\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_46\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3b\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CNPJBCZMNXF2SH6REXCMEEPY\", \"parent_id\": \"t3_46\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Aperiam nisi et excepturi molestias quisquam. Mollitia rerum eveniet nobis velit in.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAperiam nisi et excepturi molestias quisquam. Mollitia rerum eveniet nobis velit in.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134508_facilis\", \"score_hidden\": false, \"name\": \"t1_3b\", \"created\": 1535134518.0, \"author_flair_text\": null, \"created_utc\": 1535134518.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "972" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "282" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 296-1wRc2fYWP_mAwuNXjDGKV6jPr6s" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=vCwXd2mtV1jHhyxUtT; loidcreated=2018-08-24T18%3A15%3A08.671Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/46/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134508_facilis\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDignissimos dignissimos quas consequatur facilis. Repellat consequuntur earum eligendi quo dolor.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Dignissimos dignissimos quas consequatur facilis. Repellat consequuntur earum eligendi quo dolor.\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"46\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [], \"author\": \"01CNPJBCZMNXF2SH6REXCMEEPY\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134508_facilis\", \"hidden\": false, \"num_comments\": 1, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2o\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134508_facilis/comments/46/quisquam_ipsum_dolorum_minus_officiis/\", \"locked\": false, \"name\": \"t3_46\", \"created\": 1535134515.0, \"url\": \"http://reddit.local/r/1535134508_facilis/comments/46/quisquam_ipsum_dolorum_minus_officiis/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quisquam ipsum dolorum minus officiis.\", \"created_utc\": 1535134515.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_2o\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_46\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3b\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01CNPJBCZMNXF2SH6REXCMEEPY\", \"parent_id\": \"t3_46\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Aperiam nisi et excepturi molestias quisquam. Mollitia rerum eveniet nobis velit in.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAperiam nisi et excepturi molestias quisquam. Mollitia rerum eveniet nobis velit in.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134508_facilis\", \"score_hidden\": false, \"name\": \"t1_3b\", \"created\": 1535134518.0, \"author_flair_text\": null, \"created_utc\": 1535134518.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2694" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "279" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=krDPjf%2BDYPD1LZK5%2BiafHGfpJlobS1nr%2BZCvLM0xmRD%2B7yGObSQmMZqQeCyuSJljw48cFrUJ0tNXdL2Lp9%2B7knhdT6v3YoRr" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/46/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 296-1wRc2fYWP_mAwuNXjDGKV6jPr6s" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=vCwXd2mtV1jHhyxUtT; loidcreated=2018-08-24T18%3A15%3A08.671Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/46/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134508_facilis\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EDignissimos dignissimos quas consequatur facilis. Repellat consequuntur earum eligendi quo dolor.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Dignissimos dignissimos quas consequatur facilis. Repellat consequuntur earum eligendi quo dolor.\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"46\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [], \"author\": \"01CNPJBCZMNXF2SH6REXCMEEPY\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134508_facilis\", \"hidden\": false, \"num_comments\": 1, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2o\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134508_facilis/comments/46/quisquam_ipsum_dolorum_minus_officiis/\", \"locked\": false, \"name\": \"t3_46\", \"created\": 1535134515.0, \"url\": \"http://reddit.local/r/1535134508_facilis/comments/46/quisquam_ipsum_dolorum_minus_officiis/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quisquam ipsum dolorum minus officiis.\", \"created_utc\": 1535134515.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_2o\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_46\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3b\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01CNPJBCZMNXF2SH6REXCMEEPY\", \"parent_id\": \"t3_46\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Aperiam nisi et excepturi molestias quisquam. Mollitia rerum eveniet nobis velit in.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAperiam nisi et excepturi molestias quisquam. Mollitia rerum eveniet nobis velit in.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134508_facilis\", \"score_hidden\": false, \"name\": \"t1_3b\", \"created\": 1535134518.0, \"author_flair_text\": null, \"created_utc\": 1535134518.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2694" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "279" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=OkHyJFweGbO%2Bc1MBoHR5vInAI6nW050DvIVJPuQvZVLMqNlYcJJNCZEq24QCEZS73wJSPSP3tyc9MUJl4loIB4jLpjTz%2BV1M" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/46/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:22", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 296-1wRc2fYWP_mAwuNXjDGKV6jPr6s" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=vCwXd2mtV1jHhyxUtT; loidcreated=2018-08-24T18%3A15%3A08.671Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535134508_facilis/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"2o\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535134508_facilis\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuae commodi sapiente rem facilis ipsum veniam. Quibusdam ea id nesciunt dicta commodi. Officiis facilis nihil excepturi impedit impedit dolor atque molestias. Perferendis porro esse placeat temporibus eligendi repudiandae impedit. Iusto ut suscipit omnis iste voluptate ratione tempora.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Doloribus tempora beatae illo quia.\", \"collapse_deleted_comments\": false, \"public_description\": \"Amet reprehenderit ab numquam odio. Quia id debitis pariatur. Omnis beatae at odio odio sunt.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAmet reprehenderit ab numquam odio. Quia id debitis pariatur. Omnis beatae at odio odio sunt.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Quae commodi sapiente rem facilis ipsum veniam. Quibusdam ea id nesciunt dicta commodi. Officiis facilis nihil excepturi impedit impedit dolor atque molestias. Perferendis porro esse placeat temporibus eligendi repudiandae impedit. Iusto ut suscipit omnis iste voluptate ratione tempora.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 4, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_2o\", \"created\": 1535134509.0, \"url\": \"/r/1535134508_facilis/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535134509.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2114" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:22 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "279" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=pCKI7BTTX1uJzmw5%2FqBmPCVMunrvLth4obea9IP0TW1cwbHiDz%2FMvpWsDw67E6IaosmN4JLpVH20Lk22AtbUZCAVBEP1%2FF5R" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535134508_facilis/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_subscribe_post[True-False-1-1].json b/cassettes/channels.views.posts_test.test_subscribe_post[True-False-1-1].json deleted file mode 100644 index bdf3cd1d6b..0000000000 --- a/cassettes/channels.views.posts_test.test_subscribe_post[True-False-1-1].json +++ /dev/null @@ -1,958 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:14:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJA6NVC06BCEBG0XKZAMHS" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDKyNNLNC3E2cE32DnA3q3TLKAwIqso0qtTNKY4qLPVU0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLal6xaUmZQG5fgXVVomWeS5BOc4WaYYFhmGB7qC9KSklmUmp8ZnpoAMhnCUagGblx7CuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:14:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=hJVkahM0TukaaljOqU; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:14:36 GMT", - "loidcreated=2018-08-24T18%3A14%3A35.918Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:14:36 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJA6NVC06BCEBG0XKZAMHS" - } - }, - { - "recorded_at": "2018-08-24T18:14:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Aut+recusandae+debitis+deserunt+nesciunt+facere+perferendis.+Sint+voluptatum+ut+voluptatibus+fugit+provident+dolor.+Quibusdam+architecto+consequuntur+ipsam+alias+illum+ut+quam+delectus.+Perferendis+beatae+beatae+ullam.%0ALaudantium+quod+adipisci+id+itaque+debitis+dolorem+assumenda.+Quod+voluptate+perferendis+ab+recusandae+harum+enim+labore+perferendis.+Maiores+dolorum+et+labore+in+cupiditate+ea.+Corrupti+officiis+aperiam+error+voluptatibus.&link_type=any&name=1535134476_labore&public_description=Velit+id+soluta+perferendis.+Nam+doloremque+atque+temporibus+amet+asperiores+modi.&title=Harum+voluptates+unde+sunt+nisi+soluta.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 292-nTC0EcKPG6yFhqPRzi2y-lsZquI" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "701" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=hJVkahM0TukaaljOqU; loidcreated=2018-08-24T18%3A14%3A35.918Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:14:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "324" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:14:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=hJVkahM0TukaaljOqU; loidcreated=2018-08-24T18%3A14%3A35.918Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJACZ7A3EPJD9YV1KEGQ03" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNwQqCQBRFf0VmGQU2A1otByGQIhfV5GrQ58uGIu3NkEb07zm5ankP99z7ZgUAWqtdc8U7WwWML8UsRpMdVEr1CXITHbm8UcezOcAjZ9OAYd8aQquNF0QUhgP7+dq9WvQjJRaE5LsWmhFNfCI8D+Ll/21jOyvKhdr32S6ppVMi3vJUrknV3qnwaQC1qfzwGNjnC5dbKqO4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:14:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJACZ7A3EPJD9YV1KEGQ03" - } - }, - { - "recorded_at": "2018-08-24T18:14:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPJACZ7A3EPJD9YV1KEGQ03&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 292-nTC0EcKPG6yFhqPRzi2y-lsZquI" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=hJVkahM0TukaaljOqU; loidcreated=2018-08-24T18%3A14%3A35.918Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535134476_labore/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:14:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "318" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535134476_labore/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:14:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535134476_labore" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 293-7eiPUWJrgXcYi6V2Blrw2P1ccqY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "76" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=hJVkahM0TukaaljOqU; loidcreated=2018-08-24T18%3A14%3A35.918Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:14:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "318" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:14:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535134476_labore&text=Vitae+nemo+at+modi+deserunt.+Asperiores+laborum+vero+eum+aut+accusamus+voluptas+rerum+eos.&title=Consectetur+voluptatibus+eos+rerum+et." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 293-7eiPUWJrgXcYi6V2Blrw2P1ccqY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "216" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=hJVkahM0TukaaljOqU; loidcreated=2018-08-24T18%3A14%3A35.918Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535134476_labore/comments/44/consectetur_voluptatibus_eos_rerum_et/\", \"id\": \"44\", \"name\": \"t3_44\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "165" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:14:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "318" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:14:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 293-7eiPUWJrgXcYi6V2Blrw2P1ccqY" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=hJVkahM0TukaaljOqU; loidcreated=2018-08-24T18%3A14%3A35.918Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/44/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134476_labore\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVitae nemo at modi deserunt. Asperiores laborum vero eum aut accusamus voluptas rerum eos.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Vitae nemo at modi deserunt. Asperiores laborum vero eum aut accusamus voluptas rerum eos.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"44\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPJACZ7A3EPJD9YV1KEGQ03\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134476_labore\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2m\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134476_labore/comments/44/consectetur_voluptatibus_eos_rerum_et/\", \"locked\": false, \"name\": \"t3_44\", \"created\": 1535134482.0, \"url\": \"http://reddit.local/r/1535134476_labore/comments/44/consectetur_voluptatibus_eos_rerum_et/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Consectetur voluptatibus eos rerum et.\", \"created_utc\": 1535134482.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1762" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:14:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "318" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=LNX2OmWcLxe%2BMS2a%2FjFrqad6sQ%2B%2FjJbJVmhec2wGuUTOVrR%2B%2FSbrFcfEOkjLhx%2FRdI4yIYrmssobtF1t2AVxZcFdXbarHj%2B5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/44/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:14:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Quam+veniam+minus+tempora+dolore+consectetur+exercitationem.+Neque+alias+nemo+asperiores+non.&thing_id=t3_44" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 293-7eiPUWJrgXcYi6V2Blrw2P1ccqY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "127" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=hJVkahM0TukaaljOqU; loidcreated=2018-08-24T18%3A14%3A35.918Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_2m\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_44\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"39\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CNPJACZ7A3EPJD9YV1KEGQ03\", \"parent_id\": \"t3_44\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Quam veniam minus tempora dolore consectetur exercitationem. Neque alias nemo asperiores non.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuam veniam minus tempora dolore consectetur exercitationem. Neque alias nemo asperiores non.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134476_labore\", \"score_hidden\": false, \"name\": \"t1_39\", \"created\": 1535134485.0, \"author_flair_text\": null, \"created_utc\": 1535134485.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "989" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:14:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "315" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:14:49", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 292-nTC0EcKPG6yFhqPRzi2y-lsZquI" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=hJVkahM0TukaaljOqU; loidcreated=2018-08-24T18%3A14%3A35.918Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/44/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134476_labore\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVitae nemo at modi deserunt. Asperiores laborum vero eum aut accusamus voluptas rerum eos.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Vitae nemo at modi deserunt. Asperiores laborum vero eum aut accusamus voluptas rerum eos.\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"44\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [], \"author\": \"01CNPJACZ7A3EPJD9YV1KEGQ03\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134476_labore\", \"hidden\": false, \"num_comments\": 1, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2m\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134476_labore/comments/44/consectetur_voluptatibus_eos_rerum_et/\", \"locked\": false, \"name\": \"t3_44\", \"created\": 1535134482.0, \"url\": \"http://reddit.local/r/1535134476_labore/comments/44/consectetur_voluptatibus_eos_rerum_et/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Consectetur voluptatibus eos rerum et.\", \"created_utc\": 1535134482.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_2m\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_44\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"39\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01CNPJACZ7A3EPJD9YV1KEGQ03\", \"parent_id\": \"t3_44\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Quam veniam minus tempora dolore consectetur exercitationem. Neque alias nemo asperiores non.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuam veniam minus tempora dolore consectetur exercitationem. Neque alias nemo asperiores non.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134476_labore\", \"score_hidden\": false, \"name\": \"t1_39\", \"created\": 1535134485.0, \"author_flair_text\": null, \"created_utc\": 1535134485.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2693" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:14:49 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "311" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=rJjjGxT%2BafheoWs5K%2FuYRta588qP%2B7AooisdtUGaPUpF6Np1SSR822AorTgyD5RRHPVuGMRdO0xYeT1hS%2FA86sjsTP9Za50E" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/44/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:14:49", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 292-nTC0EcKPG6yFhqPRzi2y-lsZquI" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=hJVkahM0TukaaljOqU; loidcreated=2018-08-24T18%3A14%3A35.918Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/44/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134476_labore\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVitae nemo at modi deserunt. Asperiores laborum vero eum aut accusamus voluptas rerum eos.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Vitae nemo at modi deserunt. Asperiores laborum vero eum aut accusamus voluptas rerum eos.\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"44\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [], \"author\": \"01CNPJACZ7A3EPJD9YV1KEGQ03\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134476_labore\", \"hidden\": false, \"num_comments\": 1, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2m\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134476_labore/comments/44/consectetur_voluptatibus_eos_rerum_et/\", \"locked\": false, \"name\": \"t3_44\", \"created\": 1535134482.0, \"url\": \"http://reddit.local/r/1535134476_labore/comments/44/consectetur_voluptatibus_eos_rerum_et/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Consectetur voluptatibus eos rerum et.\", \"created_utc\": 1535134482.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_2m\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_44\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"39\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01CNPJACZ7A3EPJD9YV1KEGQ03\", \"parent_id\": \"t3_44\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Quam veniam minus tempora dolore consectetur exercitationem. Neque alias nemo asperiores non.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuam veniam minus tempora dolore consectetur exercitationem. Neque alias nemo asperiores non.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134476_labore\", \"score_hidden\": false, \"name\": \"t1_39\", \"created\": 1535134485.0, \"author_flair_text\": null, \"created_utc\": 1535134485.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2693" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:14:49 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "311" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=mP3p%2B2cSBWSMe%2BlJWCcE9WO3YgxzVVyqg2jyGf4862qXWAt4Nlj%2BbUispgeqmtpbeZOPg2vBSc45duMMM6GxxpligpbKsWUH" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/44/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:14:49", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 292-nTC0EcKPG6yFhqPRzi2y-lsZquI" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=hJVkahM0TukaaljOqU; loidcreated=2018-08-24T18%3A14%3A35.918Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535134476_labore/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"2m\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535134476_labore\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAut recusandae debitis deserunt nesciunt facere perferendis. Sint voluptatum ut voluptatibus fugit provident dolor. Quibusdam architecto consequuntur ipsam alias illum ut quam delectus. Perferendis beatae beatae ullam.\\nLaudantium quod adipisci id itaque debitis dolorem assumenda. Quod voluptate perferendis ab recusandae harum enim labore perferendis. Maiores dolorum et labore in cupiditate ea. Corrupti officiis aperiam error voluptatibus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Harum voluptates unde sunt nisi soluta.\", \"collapse_deleted_comments\": false, \"public_description\": \"Velit id soluta perferendis. Nam doloremque atque temporibus amet asperiores modi.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVelit id soluta perferendis. Nam doloremque atque temporibus amet asperiores modi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Aut recusandae debitis deserunt nesciunt facere perferendis. Sint voluptatum ut voluptatibus fugit provident dolor. Quibusdam architecto consequuntur ipsam alias illum ut quam delectus. Perferendis beatae beatae ullam.\\nLaudantium quod adipisci id itaque debitis dolorem assumenda. Quod voluptate perferendis ab recusandae harum enim labore perferendis. Maiores dolorum et labore in cupiditate ea. Corrupti officiis aperiam error voluptatibus.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 1, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_2m\", \"created\": 1535134476.0, \"url\": \"/r/1535134476_labore/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535134476.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2406" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:14:49 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "311" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=4soq2oBF5z6r1nTUhqcSXOdupcCyn1wnohGs%2BC796Bmsy6vd9DlMtC%2Bvb5wHNqxnFFW5sibQ2nUOxrUj3wgHvKVPZblX1xsi" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535134476_labore/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_subscribe_post[True-True-2-2].json b/cassettes/channels.views.posts_test.test_subscribe_post[True-True-2-2].json deleted file mode 100644 index f2b3cbe53e..0000000000 --- a/cassettes/channels.views.posts_test.test_subscribe_post[True-True-2-2].json +++ /dev/null @@ -1,958 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:14:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJAPJG5HNFR391J3Y96FAS" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNywrCMBREf6VkKRaCsY+4FKkIdmdwGWJ628ZiE3Lro4j/bmNXLucwZ+ZNlNaAKAfbQU82EVnxdUx35nAqWsb3tpBZIlinrzop02fckGVE4OWMB5QmCCyldGI/Xw6jgzByAeXBhy5qO6NFSB7qSWz/31xjxcjP9I5H1pf0hl5s88zlqDA4FTyMBmmqMDwH8vkCN1B/iLgAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:14:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=u0EKRONpBezPtJumCT; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:14:52 GMT", - "loidcreated=2018-08-24T18%3A14%3A52.212Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:14:52 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJAPJG5HNFR391J3Y96FAS" - } - }, - { - "recorded_at": "2018-08-24T18:14:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Quaerat+neque+cum+consequatur+animi+sequi.+Aperiam+necessitatibus+fugit+sint+dignissimos.+In+minima+atque+aliquid+provident+ratione+error.+Itaque+rem+cumque+sint+molestias+minima+aut.%0ANemo+impedit+doloremque+eaque+odio.+Laborum+distinctio+quia+totam+ut+nesciunt+assumenda+est.+Soluta+dicta+laudantium+doloremque+quaerat+beatae.&link_type=any&name=1535134492_saepe&public_description=Perferendis+eligendi+omnis+a+quidem.+Laborum+modi+itaque+qui+officia+vel.&title=Ipsa+cum+corporis+praesentium+fugit+tempore+vero.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 294-0DiITFh39GoF_75U3kcjc5M6w-g" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "586" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=u0EKRONpBezPtJumCT; loidcreated=2018-08-24T18%3A14%3A52.212Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:14:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "308" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:14:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=u0EKRONpBezPtJumCT; loidcreated=2018-08-24T18%3A14%3A52.212Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJAWXK2C51C1MKPJDXXWP1" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDKyNNUtivSucswKtXDRLbVwNEt2K/HyCNH18S3JNC1W0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZ5ZJYGV5jkumW4GRgWeqUU5AUWBJqkG0QFBJSD9KSklmUmp8ZnpoAMhnCUagFPRpEHuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:14:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJAWXK2C51C1MKPJDXXWP1" - } - }, - { - "recorded_at": "2018-08-24T18:14:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPJAWXK2C51C1MKPJDXXWP1&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 294-0DiITFh39GoF_75U3kcjc5M6w-g" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=u0EKRONpBezPtJumCT; loidcreated=2018-08-24T18%3A14%3A52.212Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535134492_saepe/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:14:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "301" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535134492_saepe/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:14:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535134492_saepe" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 295-rYKzAjU8D-u8A6cFtJHT-LMti5s" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "75" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=u0EKRONpBezPtJumCT; loidcreated=2018-08-24T18%3A14%3A52.212Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:14:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "301" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:14:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535134492_saepe&text=Qui+totam+distinctio+dolorum+accusantium.+Nobis+blanditiis+aliquid+atque+est.&title=Provident+eius+voluptates+sequi." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 295-rYKzAjU8D-u8A6cFtJHT-LMti5s" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "196" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=u0EKRONpBezPtJumCT; loidcreated=2018-08-24T18%3A14%3A52.212Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535134492_saepe/comments/45/provident_eius_voluptates_sequi/\", \"id\": \"45\", \"name\": \"t3_45\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "158" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:14:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "301" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:14:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 295-rYKzAjU8D-u8A6cFtJHT-LMti5s" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=u0EKRONpBezPtJumCT; loidcreated=2018-08-24T18%3A14%3A52.212Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/45/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134492_saepe\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQui totam distinctio dolorum accusantium. Nobis blanditiis aliquid atque est.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Qui totam distinctio dolorum accusantium. Nobis blanditiis aliquid atque est.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"45\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPJAWXK2C51C1MKPJDXXWP1\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134492_saepe\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134492_saepe/comments/45/provident_eius_voluptates_sequi/\", \"locked\": false, \"name\": \"t3_45\", \"created\": 1535134499.0, \"url\": \"http://reddit.local/r/1535134492_saepe/comments/45/provident_eius_voluptates_sequi/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Provident eius voluptates sequi.\", \"created_utc\": 1535134499.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1714" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:14:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "301" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=AVLRiKBnKphyzu4WkmJ6vKL9%2Bax18Qq47aL6l0iwCBZpn9EZ%2BVlq04u7qtySD0%2FHoe8gTSE%2F5EpXXhF%2BKB%2FcOeIg6VakDSJu" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/45/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Modi+beatae+soluta+nihil+optio+nihil.+Voluptas+sint+molestiae+quos+cupiditate+voluptatibus.&thing_id=t3_45" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 295-rYKzAjU8D-u8A6cFtJHT-LMti5s" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "125" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=u0EKRONpBezPtJumCT; loidcreated=2018-08-24T18%3A14%3A52.212Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_2n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_45\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3a\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CNPJAWXK2C51C1MKPJDXXWP1\", \"parent_id\": \"t3_45\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Modi beatae soluta nihil optio nihil. Voluptas sint molestiae quos cupiditate voluptatibus.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EModi beatae soluta nihil optio nihil. Voluptas sint molestiae quos cupiditate voluptatibus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134492_saepe\", \"score_hidden\": false, \"name\": \"t1_3a\", \"created\": 1535134502.0, \"author_flair_text\": null, \"created_utc\": 1535134502.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "984" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "298" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 294-0DiITFh39GoF_75U3kcjc5M6w-g" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=u0EKRONpBezPtJumCT; loidcreated=2018-08-24T18%3A14%3A52.212Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/45/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134492_saepe\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQui totam distinctio dolorum accusantium. Nobis blanditiis aliquid atque est.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Qui totam distinctio dolorum accusantium. Nobis blanditiis aliquid atque est.\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"45\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [], \"author\": \"01CNPJAWXK2C51C1MKPJDXXWP1\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134492_saepe\", \"hidden\": false, \"num_comments\": 1, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134492_saepe/comments/45/provident_eius_voluptates_sequi/\", \"locked\": false, \"name\": \"t3_45\", \"created\": 1535134499.0, \"url\": \"http://reddit.local/r/1535134492_saepe/comments/45/provident_eius_voluptates_sequi/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Provident eius voluptates sequi.\", \"created_utc\": 1535134499.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_2n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_45\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3a\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01CNPJAWXK2C51C1MKPJDXXWP1\", \"parent_id\": \"t3_45\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Modi beatae soluta nihil optio nihil. Voluptas sint molestiae quos cupiditate voluptatibus.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EModi beatae soluta nihil optio nihil. Voluptas sint molestiae quos cupiditate voluptatibus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134492_saepe\", \"score_hidden\": false, \"name\": \"t1_3a\", \"created\": 1535134502.0, \"author_flair_text\": null, \"created_utc\": 1535134502.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2640" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "295" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=JSeJ%2Fwena7DVv6%2B3289M748wWEkUhTnoqimlfssVsk1tLnStGZUD6GwesTtkp9dSQSKcI32n7asVYthM8O0Dl1s4mJLFTxFg" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/45/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 294-0DiITFh39GoF_75U3kcjc5M6w-g" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=u0EKRONpBezPtJumCT; loidcreated=2018-08-24T18%3A14%3A52.212Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/45/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134492_saepe\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQui totam distinctio dolorum accusantium. Nobis blanditiis aliquid atque est.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Qui totam distinctio dolorum accusantium. Nobis blanditiis aliquid atque est.\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"45\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [], \"author\": \"01CNPJAWXK2C51C1MKPJDXXWP1\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134492_saepe\", \"hidden\": false, \"num_comments\": 1, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2n\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134492_saepe/comments/45/provident_eius_voluptates_sequi/\", \"locked\": false, \"name\": \"t3_45\", \"created\": 1535134499.0, \"url\": \"http://reddit.local/r/1535134492_saepe/comments/45/provident_eius_voluptates_sequi/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Provident eius voluptates sequi.\", \"created_utc\": 1535134499.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_2n\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_45\", \"likes\": null, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3a\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [], \"author\": \"01CNPJAWXK2C51C1MKPJDXXWP1\", \"parent_id\": \"t3_45\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Modi beatae soluta nihil optio nihil. Voluptas sint molestiae quos cupiditate voluptatibus.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EModi beatae soluta nihil optio nihil. Voluptas sint molestiae quos cupiditate voluptatibus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134492_saepe\", \"score_hidden\": false, \"name\": \"t1_3a\", \"created\": 1535134502.0, \"author_flair_text\": null, \"created_utc\": 1535134502.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": 0, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2640" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "295" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=c5XS5sOcUfMzzK1JnLu6pbYKfe%2B7pto%2Bm3E0dYpgBC7gW9Lgi%2F3kve48cMVl%2FaQ6%2FdZF5AkawSFcXhwK%2B4InqUrmAYPn4NwF" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/45/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 294-0DiITFh39GoF_75U3kcjc5M6w-g" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=u0EKRONpBezPtJumCT; loidcreated=2018-08-24T18%3A14%3A52.212Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535134492_saepe/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"2n\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535134492_saepe\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EQuaerat neque cum consequatur animi sequi. Aperiam necessitatibus fugit sint dignissimos. In minima atque aliquid provident ratione error. Itaque rem cumque sint molestias minima aut.\\nNemo impedit doloremque eaque odio. Laborum distinctio quia totam ut nesciunt assumenda est. Soluta dicta laudantium doloremque quaerat beatae.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Ipsa cum corporis praesentium fugit tempore vero.\", \"collapse_deleted_comments\": false, \"public_description\": \"Perferendis eligendi omnis a quidem. Laborum modi itaque qui officia vel.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPerferendis eligendi omnis a quidem. Laborum modi itaque qui officia vel.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Quaerat neque cum consequatur animi sequi. Aperiam necessitatibus fugit sint dignissimos. In minima atque aliquid provident ratione error. Itaque rem cumque sint molestias minima aut.\\nNemo impedit doloremque eaque odio. Laborum distinctio quia totam ut nesciunt assumenda est. Soluta dicta laudantium doloremque quaerat beatae.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 2, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_2n\", \"created\": 1535134492.0, \"url\": \"/r/1535134492_saepe/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535134492.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2166" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "295" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Oewmq9%2B6isAfaUV8ZBS3KoFrS7o76bBhbCTNIuCowutnBFHfbFYle%2FCRM6AXWQcqwHlLVBi6DJ7cKJXOiGeyWkmNCSZxYa0j" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535134492_saepe/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_unsubscribe_post.json b/cassettes/channels.views.posts_test.test_unsubscribe_post.json deleted file mode 100644 index aee5df8519..0000000000 --- a/cassettes/channels.views.posts_test.test_unsubscribe_post.json +++ /dev/null @@ -1,866 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:15:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJC6NMSMRX7H99V0CSWQQX" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2MNDNyLFITrVIc3S1CE4rCk83KNKtDDf3icrPTcxX0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaFBvoXxAcnGjqnVZWlJJd5+wR5+7ibhphGBFqA9KSklmUmp8ZnpoAMhnCUagGQBMQIuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=9siUyXHXYWNWllW3Sq; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:15:41 GMT", - "loidcreated=2018-08-24T18%3A15%3A41.467Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:15:41 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJC6NMSMRX7H99V0CSWQQX" - } - }, - { - "recorded_at": "2018-08-24T18:15:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Vitae+consectetur+officiis+distinctio+reprehenderit+perspiciatis.+Culpa+repellat+ratione+voluptates+commodi+consequatur.+Omnis+amet+exercitationem+ratione+iure.+Porro+sunt+expedita+asperiores+labore.%0ACulpa+quos+nisi+reprehenderit+rerum.+Eveniet+at+perspiciatis+nemo.+Ullam+explicabo+a+rerum+doloribus+ut+dolores+adipisci.+Maxime+iure+inventore+occaecati+facilis+unde.+Totam+quam+in+voluptatem+molestiae+labore.&link_type=any&name=1535134541_et&public_description=Illo+praesentium+officia+quod+in+doloribus.+Sint+consequatur+maxime+dolore+id+eum.&title=Fuga+doloribus+consequuntur+molestiae+dicta.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 300-hl8ce8fAE8SfrWg0r-yW7LZomao" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "670" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=9siUyXHXYWNWllW3Sq; loidcreated=2018-08-24T18%3A15%3A41.467Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "259" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9siUyXHXYWNWllW3Sq; loidcreated=2018-08-24T18%3A15%3A41.467Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJCD0QQBXR9Q1FKGPD92H5" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNywrCMBREf6VkKRZiK1Xc+uhCcVEoGDch5t5grKQ1qUEr/rtNu3I5hzkzHyKkROd4W1doyCoiKZ3FbHfucC0TJb1w/vQEtnV5t188WEmmEcFXoy06roOQZpT2bPB5+24wjFxQWLSh62Q9oklIFlUvXv/fbrFItLnnZaWWQI+ZgGIOh00BZngD9Foi1xCGx0C+P/9pjUi4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJCD0QQBXR9Q1FKGPD92H5" - } - }, - { - "recorded_at": "2018-08-24T18:15:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPJCD0QQBXR9Q1FKGPD92H5&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 300-hl8ce8fAE8SfrWg0r-yW7LZomao" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=9siUyXHXYWNWllW3Sq; loidcreated=2018-08-24T18%3A15%3A41.467Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535134541_et/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "252" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535134541_et/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535134541_et" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 301-YFZzeCc2fcvasvXudYEsGzK7qYU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "72" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=9siUyXHXYWNWllW3Sq; loidcreated=2018-08-24T18%3A15%3A41.467Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "252" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535134541_et&text=Sit+odit+tempora+excepturi+dolores.+Neque+ipsam+itaque+occaecati.+Ipsam+amet+labore+nulla+tempore.&title=Quia+minus+magnam+ipsum+magnam+nihil." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 301-YFZzeCc2fcvasvXudYEsGzK7qYU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "219" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=9siUyXHXYWNWllW3Sq; loidcreated=2018-08-24T18%3A15%3A41.467Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535134541_et/comments/48/quia_minus_magnam_ipsum_magnam_nihil/\", \"id\": \"48\", \"name\": \"t3_48\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "160" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "252" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 301-YFZzeCc2fcvasvXudYEsGzK7qYU" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9siUyXHXYWNWllW3Sq; loidcreated=2018-08-24T18%3A15%3A41.467Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/48/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134541_et\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESit odit tempora excepturi dolores. Neque ipsam itaque occaecati. Ipsam amet labore nulla tempore.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Sit odit tempora excepturi dolores. Neque ipsam itaque occaecati. Ipsam amet labore nulla tempore.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"48\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPJCD0QQBXR9Q1FKGPD92H5\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134541_et\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2q\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134541_et/comments/48/quia_minus_magnam_ipsum_magnam_nihil/\", \"locked\": false, \"name\": \"t3_48\", \"created\": 1535134548.0, \"url\": \"http://reddit.local/r/1535134541_et/comments/48/quia_minus_magnam_ipsum_magnam_nihil/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quia minus magnam ipsum magnam nihil.\", \"created_utc\": 1535134548.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1759" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "252" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=WLor%2BcEUjq26FwV5rRUfyDIfC2lhjURZBdvUzBaAx2Qt%2Fr6XD7gHdFB1eE24UK7tR%2F04iyIET5OWw6isTO5rj9YP%2BUADiYZM" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/48/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:51", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 301-YFZzeCc2fcvasvXudYEsGzK7qYU" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9siUyXHXYWNWllW3Sq; loidcreated=2018-08-24T18%3A15%3A41.467Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/48/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134541_et\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESit odit tempora excepturi dolores. Neque ipsam itaque occaecati. Ipsam amet labore nulla tempore.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Sit odit tempora excepturi dolores. Neque ipsam itaque occaecati. Ipsam amet labore nulla tempore.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"48\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPJCD0QQBXR9Q1FKGPD92H5\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134541_et\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2q\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134541_et/comments/48/quia_minus_magnam_ipsum_magnam_nihil/\", \"locked\": false, \"name\": \"t3_48\", \"created\": 1535134548.0, \"url\": \"http://reddit.local/r/1535134541_et/comments/48/quia_minus_magnam_ipsum_magnam_nihil/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quia minus magnam ipsum magnam nihil.\", \"created_utc\": 1535134548.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1759" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:51 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "249" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=DmloVedHgoegFo0JoXOBaGHicT3RsphfsuI4D0OixakBcUiUTR20uKzuO3au34D7l%2FIfktDNBRkUbJv51M5t2jBS5NxO1gmC" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/48/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:51", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 301-YFZzeCc2fcvasvXudYEsGzK7qYU" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9siUyXHXYWNWllW3Sq; loidcreated=2018-08-24T18%3A15%3A41.467Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/48/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134541_et\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESit odit tempora excepturi dolores. Neque ipsam itaque occaecati. Ipsam amet labore nulla tempore.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Sit odit tempora excepturi dolores. Neque ipsam itaque occaecati. Ipsam amet labore nulla tempore.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"48\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPJCD0QQBXR9Q1FKGPD92H5\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134541_et\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2q\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134541_et/comments/48/quia_minus_magnam_ipsum_magnam_nihil/\", \"locked\": false, \"name\": \"t3_48\", \"created\": 1535134548.0, \"url\": \"http://reddit.local/r/1535134541_et/comments/48/quia_minus_magnam_ipsum_magnam_nihil/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Quia minus magnam ipsum magnam nihil.\", \"created_utc\": 1535134548.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1759" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:51 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "249" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=sHquwBKta3dVWkmejwMlM6OADIqzxzhZiM7ggwMC6BAl06YIrc1Zzs%2FtwrMTrXPKXX01%2FrAxhs5PNGhD%2FVEoWde90Q1qLHsa" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/48/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:15:51", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 301-YFZzeCc2fcvasvXudYEsGzK7qYU" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=9siUyXHXYWNWllW3Sq; loidcreated=2018-08-24T18%3A15%3A41.467Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535134541_et/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"2q\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535134541_et\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVitae consectetur officiis distinctio reprehenderit perspiciatis. Culpa repellat ratione voluptates commodi consequatur. Omnis amet exercitationem ratione iure. Porro sunt expedita asperiores labore.\\nCulpa quos nisi reprehenderit rerum. Eveniet at perspiciatis nemo. Ullam explicabo a rerum doloribus ut dolores adipisci. Maxime iure inventore occaecati facilis unde. Totam quam in voluptatem molestiae labore.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Fuga doloribus consequuntur molestiae dicta.\", \"collapse_deleted_comments\": false, \"public_description\": \"Illo praesentium officia quod in doloribus. Sint consequatur maxime dolore id eum.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EIllo praesentium officia quod in doloribus. Sint consequatur maxime dolore id eum.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Vitae consectetur officiis distinctio reprehenderit perspiciatis. Culpa repellat ratione voluptates commodi consequatur. Omnis amet exercitationem ratione iure. Porro sunt expedita asperiores labore.\\nCulpa quos nisi reprehenderit rerum. Eveniet at perspiciatis nemo. Ullam explicabo a rerum doloribus ut dolores adipisci. Maxime iure inventore occaecati facilis unde. Totam quam in voluptatem molestiae labore.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 1, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_2q\", \"created\": 1535134541.0, \"url\": \"/r/1535134541_et/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535134541.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2340" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:51 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "249" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=hQLpedjSbF%2BkhIj3lYJPh2JiW2HmwpqmOfUuF3SwZLYx5Y6klsomNRfp50ADeiiMHvdhlGW8k6DkJR%2Bs9gVUlrZzz%2BoEvjAs" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535134541_et/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_update_article_cover.json b/cassettes/channels.views.posts_test.test_update_article_cover.json deleted file mode 100644 index 4ad8440f34..0000000000 --- a/cassettes/channels.views.posts_test.test_update_article_cover.json +++ /dev/null @@ -1,1400 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T22:15:44", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQXQJM45JXKJ82CRSMA5TX" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULIw061ILMvJyE4K9snJ9/TNKI0o96/0SEk3DPb3TlbSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolqVmJYVnBZtGOSeZpBuaJfuFp5b7mRhFRWQYOIK0pKSWZSanxmemgMyFcJRqAUMOXe22AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:44 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=l4LTigrYCOkBi42kBZ; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:15:44 GMT", - "loidcreated=2020-07-28T22%3A15%3A43.885Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:15:44 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQXQJM45JXKJ82CRSMA5TX" - } - }, - { - "recorded_at": "2020-07-28T22:15:47", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=l4LTigrYCOkBi42kBZ; loidcreated=2020-07-28T22%3A15%3A43.885Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQXTSTNDRJGYXXSKMH9CD8" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULIw102pqsgPrcytSvQ09vM0d88rCrLMMUtK9/PO91XSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkoluWVGri65RkYBLpXGKVHuuTFh6dYRmW5pgd7JIO0pKSWZSanxmemgMyFcJRqAQCgZoa2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQXTSTNDRJGYXXSKMH9CD8" - } - }, - { - "recorded_at": "2020-07-28T22:15:47", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Firm+go+near+human+address+quite+million.+Story+or+third.%0AUnit+summer+agency+can+religious.+Executive+social+true+nearly+yes+may+animal.+Together+serve+run+technology+catch+music.%0ALive+expert+clearly+begin+future.+Entire+either+simply.+Six+agent+beautiful+before+doctor+partner+able.%0APolice+yard+future+offer.+Woman+reflect+home+whom.%0ATake+goal+quite+task+mouth+smile.%0AGarden+total+father+wind+put+attorney+just+word.+Trial+teach+such+laugh+east+management+third.+Join+various+girl+important+media.&link_type=any&name=1595974547_30_blood&public_description=Modern+perform+voice+war+center.&title=Institution+task+heart+hour+rise.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 87-dzxoUymzaI3NI7GnrR9l6bgNKoM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "711" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=l4LTigrYCOkBi42kBZ; loidcreated=2020-07-28T22%3A15%3A43.885Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "253" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBQXQJM45JXKJ82CRSMA5TX&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 87-dzxoUymzaI3NI7GnrR9l6bgNKoM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=l4LTigrYCOkBi42kBZ; loidcreated=2020-07-28T22%3A15%3A43.885Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595974547_30_blood/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "250" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595974547_30_blood/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595974547_30_blood" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 86-xavlhkbSLloIMhuXwOyHdg1SOKc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "78" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=l4LTigrYCOkBi42kBZ; loidcreated=2020-07-28T22%3A15%3A43.885Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "250" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595974547_30_blood&text=&title=Want+human+political+stay+rich+way+establish." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 86-xavlhkbSLloIMhuXwOyHdg1SOKc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "135" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=l4LTigrYCOkBi42kBZ; loidcreated=2020-07-28T22%3A15%3A43.885Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595974547_30_blood/comments/12/want_human_political_stay_rich_way_establish/\", \"id\": \"12\", \"name\": \"t3_12\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "174" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "250" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:50", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 86-xavlhkbSLloIMhuXwOyHdg1SOKc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=l4LTigrYCOkBi42kBZ; loidcreated=2020-07-28T22%3A15%3A43.885Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/12/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595974547_30_blood\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"12\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBQXQJM45JXKJ82CRSMA5TX\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595974547_30_blood\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595974547_30_blood/comments/12/want_human_political_stay_rich_way_establish/\", \"locked\": false, \"name\": \"t3_12\", \"created\": 1595974550.0, \"url\": \"http://reddit.local/r/1595974547_30_blood/comments/12/want_human_political_stay_rich_way_establish/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Want human political stay rich way establish.\", \"created_utc\": 1595974550.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1490" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:50 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "250" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=SyNloc636biCPsokAMFonkBp0VCRNEXRF5znpk1JEyUh08VnfpVdjLBjc1yHcxE7quSYo2VkLGHSOSgPOUv4DyjvL743aTLx" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/12/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 86-xavlhkbSLloIMhuXwOyHdg1SOKc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=l4LTigrYCOkBi42kBZ; loidcreated=2020-07-28T22%3A15%3A43.885Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/12/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595974547_30_blood\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"12\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBQXQJM45JXKJ82CRSMA5TX\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595974547_30_blood\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595974547_30_blood/comments/12/want_human_political_stay_rich_way_establish/\", \"locked\": false, \"name\": \"t3_12\", \"created\": 1595974550.0, \"url\": \"http://reddit.local/r/1595974547_30_blood/comments/12/want_human_political_stay_rich_way_establish/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Want human political stay rich way establish.\", \"created_utc\": 1595974550.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1490" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "247" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=IwxOxNeGNalRTKlSJO3mLpyb4HzCvuEgGIq8i5KxkRw9Yxc6sHMG1gTgDW2rgrmeVBodBXMWRuUALHm0eoPfXsp21VV1XzYA" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/12/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 86-xavlhkbSLloIMhuXwOyHdg1SOKc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=l4LTigrYCOkBi42kBZ; loidcreated=2020-07-28T22%3A15%3A43.885Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595974547_30_blood/about/moderators/?user=01EEBQXQJM45JXKJ82CRSMA5TX&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "247" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=HkhaZIvR2RP5T%2BPi58GIpY%2BFkQ9C2lXYjd1oliWEBHdNYA13y31cQY7kvZuHogpY1WCzxagjQ%2F95euJZRw8HxR3w6huTdEzM" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595974547_30_blood/about/moderators/?user=01EEBQXQJM45JXKJ82CRSMA5TX&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:53", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 86-xavlhkbSLloIMhuXwOyHdg1SOKc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=l4LTigrYCOkBi42kBZ; loidcreated=2020-07-28T22%3A15%3A43.885Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/12/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595974547_30_blood\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"12\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBQXQJM45JXKJ82CRSMA5TX\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595974547_30_blood\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595974547_30_blood/comments/12/want_human_political_stay_rich_way_establish/\", \"locked\": false, \"name\": \"t3_12\", \"created\": 1595974550.0, \"url\": \"http://reddit.local/r/1595974547_30_blood/comments/12/want_human_political_stay_rich_way_establish/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Want human political stay rich way establish.\", \"created_utc\": 1595974550.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1490" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:53 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "247" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=dEag6MgfEHI5Gze2dCsCV9%2FXK0Wb0Kkx7eb%2Be2k6FcQ6ULLngQVCJF7HKfsHms6jSrGD40YMGJ4w58cBaG1XRK17PlcVntkV" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/12/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 86-xavlhkbSLloIMhuXwOyHdg1SOKc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=l4LTigrYCOkBi42kBZ; loidcreated=2020-07-28T22%3A15%3A43.885Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/12/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595974547_30_blood\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"12\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBQXQJM45JXKJ82CRSMA5TX\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595974547_30_blood\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595974547_30_blood/comments/12/want_human_political_stay_rich_way_establish/\", \"locked\": false, \"name\": \"t3_12\", \"created\": 1595974550.0, \"url\": \"http://reddit.local/r/1595974547_30_blood/comments/12/want_human_political_stay_rich_way_establish/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Want human political stay rich way establish.\", \"created_utc\": 1595974550.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1490" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "247" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=HURCh7Y%2B0Y%2B8mNLT5A0wOd1G3nexh60mbpRh52By2fGSIwOsWC2Y9Pm1JkALL%2FQE7nnuQC7WQ3dbGphCrvcNUjUwh%2FEMPzWc" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/12/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 86-xavlhkbSLloIMhuXwOyHdg1SOKc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=l4LTigrYCOkBi42kBZ; loidcreated=2020-07-28T22%3A15%3A43.885Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595974547_30_blood/about/moderators/?user=01EEBQXQJM45JXKJ82CRSMA5TX&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "246" - ], - "x-ratelimit-used": [ - "8" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=oDakqK9gY9%2Bh16RN1ZjY96c15cKtVgg2q3ELYi9fWos8W26%2Fh5WsCOdQxpTAl6VEtPs3mn198lQOmQ5hcwbKznBV%2BXVfvLZM" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595974547_30_blood/about/moderators/?user=01EEBQXQJM45JXKJ82CRSMA5TX&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 86-xavlhkbSLloIMhuXwOyHdg1SOKc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=l4LTigrYCOkBi42kBZ; loidcreated=2020-07-28T22%3A15%3A43.885Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/12/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595974547_30_blood\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"12\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBQXQJM45JXKJ82CRSMA5TX\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595974547_30_blood\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595974547_30_blood/comments/12/want_human_political_stay_rich_way_establish/\", \"locked\": false, \"name\": \"t3_12\", \"created\": 1595974550.0, \"url\": \"http://reddit.local/r/1595974547_30_blood/comments/12/want_human_political_stay_rich_way_establish/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Want human political stay rich way establish.\", \"created_utc\": 1595974550.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1490" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "246" - ], - "x-ratelimit-used": [ - "9" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ccDRLh3EaLRcfdScvDalNMddFAHIXaEo2Zi3Q2L4fs3GjwrG0QAgyW78NhbXihgypbwJhJwZYMDdqpCuOJ%2FUKPRxvqWuLAD0" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/12/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 86-xavlhkbSLloIMhuXwOyHdg1SOKc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=l4LTigrYCOkBi42kBZ; loidcreated=2020-07-28T22%3A15%3A43.885Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/12/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595974547_30_blood\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"12\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBQXQJM45JXKJ82CRSMA5TX\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595974547_30_blood\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595974547_30_blood/comments/12/want_human_political_stay_rich_way_establish/\", \"locked\": false, \"name\": \"t3_12\", \"created\": 1595974550.0, \"url\": \"http://reddit.local/r/1595974547_30_blood/comments/12/want_human_political_stay_rich_way_establish/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Want human political stay rich way establish.\", \"created_utc\": 1595974550.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1490" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "290.0" - ], - "x-ratelimit-reset": [ - "246" - ], - "x-ratelimit-used": [ - "10" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=i36Ej7TqWfm%2BWfwvkHXPTFGqLzNtUPuCwhJHZLpiulBMmOqQCwe3gWdQoqSGgzMrCtpsKo6L5zrDqCP9AxHTystB27VsvOTu" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/12/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 86-xavlhkbSLloIMhuXwOyHdg1SOKc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=l4LTigrYCOkBi42kBZ; loidcreated=2020-07-28T22%3A15%3A43.885Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595974547_30_blood/about/moderators/?user=01EEBQXQJM45JXKJ82CRSMA5TX&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "289.0" - ], - "x-ratelimit-reset": [ - "246" - ], - "x-ratelimit-used": [ - "11" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Jrok4HuHP6mBghOhWWzeTCuUDPC14CZt9Vcj86fxLucXYKmx6M%2BTbNYepfjx0RNCnOAQ%2Feb7R4EOZbWbwjG9U7iG79xMV8nf" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595974547_30_blood/about/moderators/?user=01EEBQXQJM45JXKJ82CRSMA5TX&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:54", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 86-xavlhkbSLloIMhuXwOyHdg1SOKc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=l4LTigrYCOkBi42kBZ; loidcreated=2020-07-28T22%3A15%3A43.885Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/12/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595974547_30_blood\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"12\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBQXQJM45JXKJ82CRSMA5TX\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595974547_30_blood\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_x\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595974547_30_blood/comments/12/want_human_political_stay_rich_way_establish/\", \"locked\": false, \"name\": \"t3_12\", \"created\": 1595974550.0, \"url\": \"http://reddit.local/r/1595974547_30_blood/comments/12/want_human_political_stay_rich_way_establish/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Want human political stay rich way establish.\", \"created_utc\": 1595974550.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1490" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:54 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "288.0" - ], - "x-ratelimit-reset": [ - "246" - ], - "x-ratelimit-used": [ - "12" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=adNUlILTf9W927rJ4laHf6N%2BYnc4kFUasJh4iBQhwcQ689lqvMbo%2BLI%2FjiztUL6YtPX7XdBe4psOs%2BLkP2bA6g9TAlZuoxnk" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/12/?limit=2048&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.posts_test.test_update_article_post.json b/cassettes/channels.views.posts_test.test_update_article_post.json deleted file mode 100644 index 0ec13db0d9..0000000000 --- a/cassettes/channels.views.posts_test.test_update_article_post.json +++ /dev/null @@ -1,866 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-07-28T22:15:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQXARTDD9YGQXE1Z08Y4Y7" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULIw0XUsj88O8ysx8DE0NS/I8jXxCg8xK08yczHNSFfSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRkolvkGmgZk5lokJrrn+mWauhS6R/jEV4Q4GRdGBoK0pKSWZSanxmemgMyFcJRqAb8SmTC2AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=wGUVHsShKo1J0EZRih; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:15:31 GMT", - "loidcreated=2020-07-28T22%3A15%3A30.754Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 28-Jul-2022 22:15:31 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQXARTDD9YGQXE1Z08Y4Y7" - } - }, - { - "recorded_at": "2020-07-28T22:15:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=wGUVHsShKo1J0EZRih; loidcreated=2020-07-28T22%3A15%3A30.754Z" - ], - "User-Agent": [ - "python-requests/2.21.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQXDZPKES5XBPK019CHXPY" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSULIw1Y0IDLU0cnWuCinO9S0MM4/Idg00MC8uKypLs1DSUVBKrSjILEotjs8EqTc2MzAAioG1x5dUFqSCzEhKTSxKLQKpLU7OhwhpgXhFqWlAjRmolunqGhhVZJgnR+VW5RlEJHkW+mSFhuckF/iagLSkpJZlJqfGZ6aAzIVwlGoBvuIl2LYAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EEBQXDZPKES5XBPK019CHXPY" - } - }, - { - "recorded_at": "2020-07-28T22:15:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Allow+list+girl+ability.+Total+under+try+subject+rock+cell.+Training+season+recent+share+condition+fight+fear.%0AHeart+all+real+accept+citizen.+Herself+much+decade+story+those.+Condition+total+goal+list+couple+price+happen+his.%0ASeries+nothing+room+style+often+bank.+Question+bit+ago+somebody.%0ALose+discussion+performance+tough+discussion+as+well.+Under+guess+decade+plan+animal.%0AInterest+local+across+glass+accept.+Character+plan+generation+though+tend.%0AFast+share+own+almost.&link_type=any&name=1595974534_29_and&public_description=Later+college+health+teach+step+discussion.+Reflect+drive+up+western.&title=Eight+those+should+sign+watch+rock+Congress.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 85-XQU92ECzTsmMqV7XkEQ07svrvf8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "733" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=wGUVHsShKo1J0EZRih; loidcreated=2020-07-28T22%3A15%3A30.754Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "266" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:37", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EEBQXARTDD9YGQXE1Z08Y4Y7&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 85-XQU92ECzTsmMqV7XkEQ07svrvf8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=wGUVHsShKo1J0EZRih; loidcreated=2020-07-28T22%3A15%3A30.754Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1595974534_29_and/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "263" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595974534_29_and/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:37", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1595974534_29_and" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 84-Aw_kVNt0L157pjM4JWT6wb6D5hg" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "76" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=wGUVHsShKo1J0EZRih; loidcreated=2020-07-28T22%3A15%3A30.754Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "263" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:37", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1595974534_29_and&text=&title=Suggest+order+after+mean+painting." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 84-Aw_kVNt0L157pjM4JWT6wb6D5hg" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "122" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=wGUVHsShKo1J0EZRih; loidcreated=2020-07-28T22%3A15%3A30.754Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1595974534_29_and/comments/11/suggest_order_after_mean_painting/\", \"id\": \"11\", \"name\": \"t3_11\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "161" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "263" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:37", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 84-Aw_kVNt0L157pjM4JWT6wb6D5hg" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=wGUVHsShKo1J0EZRih; loidcreated=2020-07-28T22%3A15%3A30.754Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/11/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595974534_29_and\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"11\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBQXARTDD9YGQXE1Z08Y4Y7\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595974534_29_and\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595974534_29_and/comments/11/suggest_order_after_mean_painting/\", \"locked\": false, \"name\": \"t3_11\", \"created\": 1595974537.0, \"url\": \"http://reddit.local/r/1595974534_29_and/comments/11/suggest_order_after_mean_painting/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Suggest order after mean painting.\", \"created_utc\": 1595974537.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1449" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:37 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "263" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=kx0ooXA2gYDoI3eD3R359%2FKE8C6K6IsLN2mQ4bBlh4aSdVo10covXkpgujNRdZPC23OvsTuBUTdZtO%2FjOgr6YBJIK9tlV75U" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/11/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:40", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 84-Aw_kVNt0L157pjM4JWT6wb6D5hg" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=wGUVHsShKo1J0EZRih; loidcreated=2020-07-28T22%3A15%3A30.754Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/11/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595974534_29_and\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"11\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBQXARTDD9YGQXE1Z08Y4Y7\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595974534_29_and\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595974534_29_and/comments/11/suggest_order_after_mean_painting/\", \"locked\": false, \"name\": \"t3_11\", \"created\": 1595974537.0, \"url\": \"http://reddit.local/r/1595974534_29_and/comments/11/suggest_order_after_mean_painting/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Suggest order after mean painting.\", \"created_utc\": 1595974537.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1449" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "260" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=xkmBcf6%2Fo9UKnDnNzL2Wt1VrC4LyjMI1wwiSnZmLeaaWblb40x2HyERC5Bh6D%2FmdqzQXjtsWk78LSfSNQtMauPRMBMfLk5Vv" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/11/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:40", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 84-Aw_kVNt0L157pjM4JWT6wb6D5hg" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=wGUVHsShKo1J0EZRih; loidcreated=2020-07-28T22%3A15%3A30.754Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1595974534_29_and/about/moderators/?user=01EEBQXARTDD9YGQXE1Z08Y4Y7&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "46" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "260" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=%2BYM0I2le4NWaLSLu%2FxdneVJlTeS412gXc1iDFnGNL6zj8SWE%2Ba7yKK7Vyruiy%2FpsXnNu9AUad7LhEByZ%2BGbWd28sustLvQCG" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1595974534_29_and/about/moderators/?user=01EEBQXARTDD9YGQXE1Z08Y4Y7&raw_json=1" - } - }, - { - "recorded_at": "2020-07-28T22:15:40", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 84-Aw_kVNt0L157pjM4JWT6wb6D5hg" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=wGUVHsShKo1J0EZRih; loidcreated=2020-07-28T22%3A15%3A30.754Z" - ], - "User-Agent": [ - "MIT-Open: 0.135.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/11/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1595974534_29_and\", \"selftext_html\": null, \"selftext\": \"\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"11\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EEBQXARTDD9YGQXE1Z08Y4Y7\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1595974534_29_and\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_w\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1595974534_29_and/comments/11/suggest_order_after_mean_painting/\", \"locked\": false, \"name\": \"t3_11\", \"created\": 1595974537.0, \"url\": \"http://reddit.local/r/1595974534_29_and/comments/11/suggest_order_after_mean_painting/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Suggest order after mean painting.\", \"created_utc\": 1595974537.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1449" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Jul 2020 22:15:40 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "260" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=rxtw16yi8rw8FYfzLPsIxhHLq%2BDLS8lVjWK079sTYrtx5u7PyL37sGAHuHNWYbPR4TM6TIHl9%2BIO%2FbeZlra3623wGq4Nr5iU" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/11/?limit=2048&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.reports_test.test_list_reports.json b/cassettes/channels.views.reports_test.test_list_reports.json deleted file mode 100644 index d15a121e6f..0000000000 --- a/cassettes/channels.views.reports_test.test_list_reports.json +++ /dev/null @@ -1,1326 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T15:52:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEKJ3JXRWWGMYEXDEHFQ8CR" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NTQuCQBRF/4rMMhKmFKmWin2AWYtCbDOMzye+hJQZMTP67zm5a3kv95z7ZhIAtRZtXeGDbSy2dFxur+VQ+f2Kwlvkne0k2EP99NMsIrqyucWwb0ihFmQIx+N87H4C0b4aNJYMpUJlthrqqZqZpLAYwfLvbmGfKLjHSQk71+tiofu0GC5bSo4HA+XYEaCg3JinwD5fpZBq/roAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:52:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=FO9LK1O8c90P5LTyyA; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:52:21 GMT", - "loidcreated=2018-11-16T15%3A52%3A20.834Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 15:52:21 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEKJ3JXRWWGMYEXDEHFQ8CR" - } - }, - { - "recorded_at": "2018-11-16T15:52:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Suscipit+quas+possimus+ipsa+optio+exercitationem+explicabo+modi.+Tempore+reprehenderit+quibusdam+natus+harum+iusto+quidem.+Et+nulla+totam+est+maxime.%0AAsperiores+quia+doloremque+explicabo+optio+necessitatibus+repellat+nulla+aut.+Facilis+deserunt+suscipit+non+vel.+Quam+praesentium+alias+iusto+porro+voluptatem+itaque+quaerat+fugit.+Hic+laboriosam+asperiores+porro+voluptates+suscipit+neque.&link_type=any&name=1542383541_esse&public_description=Nulla+consectetur+eius+reiciendis+alias+asperiores.&title=Veniam+ratione+nam+harum+qui.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2340-9azkBx8iEZL6P-WCHcowBYbLiiU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "605" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=FO9LK1O8c90P5LTyyA; loidcreated=2018-11-16T15%3A52%3A20.834Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:52:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "459" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:52:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=FO9LK1O8c90P5LTyyA; loidcreated=2018-11-16T15%3A52%3A20.834Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEKJ9YE456S8YA76XZ0D4SS" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNjHUNfYu1I3y8jfJTInyL49Kzgk1SS82L3TydTQwUNJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9CsS7EsSkvzCiypqDBzC/FIq0p3twwytsyviixxBGlKSS3LTE6Nz0wBmQzhKNUCAIGpTxy6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:52:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEKJ9YE456S8YA76XZ0D4SS" - } - }, - { - "recorded_at": "2018-11-16T15:52:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CWEKJ9YE456S8YA76XZ0D4SS&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2340-9azkBx8iEZL6P-WCHcowBYbLiiU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=FO9LK1O8c90P5LTyyA; loidcreated=2018-11-16T15%3A52%3A20.834Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1542383541_esse/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:52:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "453" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542383541_esse/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:52:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542383541_esse" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2341-3Kq-ZJO4idZOwZclU4gs7qBMA00" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "74" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=FO9LK1O8c90P5LTyyA; loidcreated=2018-11-16T15%3A52%3A20.834Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:52:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "453" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:52:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1542383541_esse&text=Possimus+quod+inventore+minima.+Itaque+hic+ex+consectetur+accusantium+qui+minus.&title=Facilis+ab+atque+quae+commodi." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2341-3Kq-ZJO4idZOwZclU4gs7qBMA00" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "196" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=FO9LK1O8c90P5LTyyA; loidcreated=2018-11-16T15%3A52%3A20.834Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1542383541_esse/comments/bf/facilis_ab_atque_quae_commodi/\", \"id\": \"bf\", \"name\": \"t3_bf\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "155" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:52:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "453" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:52:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2341-3Kq-ZJO4idZOwZclU4gs7qBMA00" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=FO9LK1O8c90P5LTyyA; loidcreated=2018-11-16T15%3A52%3A20.834Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/bf/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542383541_esse\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPossimus quod inventore minima. Itaque hic ex consectetur accusantium qui minus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Possimus quod inventore minima. Itaque hic ex consectetur accusantium qui minus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"bf\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CWEKJ9YE456S8YA76XZ0D4SS\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542383541_esse\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_69\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542383541_esse/comments/bf/facilis_ab_atque_quae_commodi/\", \"locked\": false, \"name\": \"t3_bf\", \"created\": 1542383547.0, \"url\": \"http://reddit.local/r/1542383541_esse/comments/bf/facilis_ab_atque_quae_commodi/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Facilis ab atque quae commodi.\", \"created_utc\": 1542383547.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1710" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:52:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "453" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=0yYJ1L%2B65yzS8B7FL1fTCwG6V2lVHHMa9ek67PL9xC845tySZMTVJkv%2FnMo%2BX89bzNDSh4UdcoZqWElWMID2yAVsxUZiRvHw" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/bf/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:52:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Itaque+placeat+dolor+fuga+ullam+voluptatem+beatae.+Unde+cumque+ut+non.&thing_id=t3_bf" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2341-3Kq-ZJO4idZOwZclU4gs7qBMA00" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "104" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=FO9LK1O8c90P5LTyyA; loidcreated=2018-11-16T15%3A52%3A20.834Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_69\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_bf\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"8b\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CWEKJ9YE456S8YA76XZ0D4SS\", \"parent_id\": \"t3_bf\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Itaque placeat dolor fuga ullam voluptatem beatae. Unde cumque ut non.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EItaque placeat dolor fuga ullam voluptatem beatae. Unde cumque ut non.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542383541_esse\", \"score_hidden\": false, \"name\": \"t1_8b\", \"created\": 1542383551.0, \"author_flair_text\": null, \"created_utc\": 1542383551.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "941" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:52:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "449" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:52:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t1_8b&reason=spam" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2341-3Kq-ZJO4idZOwZclU4gs7qBMA00" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "34" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=FO9LK1O8c90P5LTyyA; loidcreated=2018-11-16T15%3A52%3A20.834Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/report/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:52:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "446" - ], - "x-ratelimit-used": [ - "5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/report/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:52:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t3_bf&reason=bad" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2341-3Kq-ZJO4idZOwZclU4gs7qBMA00" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "33" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=FO9LK1O8c90P5LTyyA; loidcreated=2018-11-16T15%3A52%3A20.834Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/report/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:52:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "446" - ], - "x-ratelimit-used": [ - "6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/report/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:52:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t1_8b&reason=spam" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2340-9azkBx8iEZL6P-WCHcowBYbLiiU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "34" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=FO9LK1O8c90P5LTyyA; loidcreated=2018-11-16T15%3A52%3A20.834Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/report/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:52:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "446" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/report/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:52:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t3_bf&reason=junk" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2340-9azkBx8iEZL6P-WCHcowBYbLiiU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "34" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=FO9LK1O8c90P5LTyyA; loidcreated=2018-11-16T15%3A52%3A20.834Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/report/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:52:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "446" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/report/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:52:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2340-9azkBx8iEZL6P-WCHcowBYbLiiU" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=FO9LK1O8c90P5LTyyA; loidcreated=2018-11-16T15%3A52%3A20.834Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542383541_esse/about/reports/?limit=100&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"link_url\": \"http://reddit.local/r/1542383541_esse/comments/bf/facilis_ab_atque_quae_commodi/\", \"subreddit_id\": \"t5_69\", \"link_title\": \"Facilis ab atque quae commodi.\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_bf\", \"link_author\": \"01CWEKJ9YE456S8YA76XZ0D4SS\", \"likes\": null, \"replies\": \"\", \"user_reports\": [[\"spam\", 1]], \"saved\": false, \"id\": \"8b\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [\"This attribute is deprecated. Please use mod_reports and user_reports instead.\"], \"author\": \"01CWEKJ9YE456S8YA76XZ0D4SS\", \"parent_id\": \"t3_bf\", \"score\": 1, \"approved_by\": null, \"over_18\": false, \"controversiality\": 0, \"body\": \"Itaque placeat dolor fuga ullam voluptatem beatae. Unde cumque ut non.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EItaque placeat dolor fuga ullam voluptatem beatae. Unde cumque ut non.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542383541_esse\", \"score_hidden\": false, \"name\": \"t1_8b\", \"created\": 1542383551.0, \"author_flair_text\": null, \"quarantine\": false, \"created_utc\": 1542383551.0, \"ups\": 1, \"mod_reports\": [[\"spam\", \"01CWEKJ3JXRWWGMYEXDEHFQ8CR\"]], \"num_reports\": 2, \"distinguished\": null}}, {\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"domain\": \"self.1542383541_esse\", \"subreddit\": \"1542383541_esse\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPossimus quod inventore minima. Itaque hic ex consectetur accusantium qui minus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Possimus quod inventore minima. Itaque hic ex consectetur accusantium qui minus.\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [[\"bad\", 1]], \"secure_media\": null, \"saved\": false, \"id\": \"bf\", \"media_embed\": {}, \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [\"This attribute is deprecated. Please use mod_reports and user_reports instead.\"], \"author\": \"01CWEKJ9YE456S8YA76XZ0D4SS\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"hidden\": false, \"num_comments\": 1, \"thumbnail\": \"\", \"subreddit_id\": \"t5_69\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542383541_esse/comments/bf/facilis_ab_atque_quae_commodi/\", \"locked\": false, \"name\": \"t3_bf\", \"created\": 1542383547.0, \"url\": \"http://reddit.local/r/1542383541_esse/comments/bf/facilis_ab_atque_quae_commodi/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Facilis ab atque quae commodi.\", \"created_utc\": 1542383547.0, \"link_flair_text\": null, \"ups\": 1, \"mod_reports\": [[\"junk\", \"01CWEKJ3JXRWWGMYEXDEHFQ8CR\"]], \"visited\": false, \"num_reports\": 2, \"distinguished\": null}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2962" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:52:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "446" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=%2B1iDp8xqNhQKnVp5BO6RFFq%2BMqr7WzDW1X9v8xtVOXLNuSxhr%2Fr26NSTJKdfbg8ASLjDrjfHt7QHWgUyxF9p%2FvK0BklO26iW" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542383541_esse/about/reports/?limit=100&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:52:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2340-9azkBx8iEZL6P-WCHcowBYbLiiU" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=FO9LK1O8c90P5LTyyA; loidcreated=2018-11-16T15%3A52%3A20.834Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/bf/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1542383541_esse\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPossimus quod inventore minima. Itaque hic ex consectetur accusantium qui minus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Possimus quod inventore minima. Itaque hic ex consectetur accusantium qui minus.\", \"likes\": null, \"suggested_sort\": null, \"user_reports\": [[\"bad\", 1]], \"secure_media\": null, \"saved\": false, \"id\": \"bf\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": [\"This attribute is deprecated. Please use mod_reports and user_reports instead.\"], \"author\": \"01CWEKJ9YE456S8YA76XZ0D4SS\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1542383541_esse\", \"hidden\": false, \"num_comments\": 1, \"thumbnail\": \"\", \"subreddit_id\": \"t5_69\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1542383541_esse/comments/bf/facilis_ab_atque_quae_commodi/\", \"locked\": false, \"name\": \"t3_bf\", \"created\": 1542383547.0, \"url\": \"http://reddit.local/r/1542383541_esse/comments/bf/facilis_ab_atque_quae_commodi/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Facilis ab atque quae commodi.\", \"created_utc\": 1542383547.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [[\"junk\", \"01CWEKJ3JXRWWGMYEXDEHFQ8CR\"]], \"visited\": false, \"num_reports\": 2, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_69\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_bf\", \"likes\": null, \"replies\": \"\", \"user_reports\": [[\"spam\", 1]], \"saved\": false, \"id\": \"8b\", \"gilded\": 0, \"archived\": false, \"report_reasons\": [\"This attribute is deprecated. Please use mod_reports and user_reports instead.\"], \"author\": \"01CWEKJ9YE456S8YA76XZ0D4SS\", \"parent_id\": \"t3_bf\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Itaque placeat dolor fuga ullam voluptatem beatae. Unde cumque ut non.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EItaque placeat dolor fuga ullam voluptatem beatae. Unde cumque ut non.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1542383541_esse\", \"score_hidden\": false, \"name\": \"t1_8b\", \"created\": 1542383551.0, \"author_flair_text\": null, \"created_utc\": 1542383551.0, \"ups\": 1, \"mod_reports\": [[\"spam\", \"01CWEKJ3JXRWWGMYEXDEHFQ8CR\"]], \"num_reports\": 2, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2850" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:52:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "446" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=G0FyG1%2BozV5a5FFY6HD5idJiomecXAuqjmS4NgjDR9cOgv4l8Ord%2BNq1HUE%2BT24dRFbnF%2FEs%2FAENHDLlttKI4nAhmuRSRY4B" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/bf/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T15:52:34", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2340-9azkBx8iEZL6P-WCHcowBYbLiiU" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=FO9LK1O8c90P5LTyyA; loidcreated=2018-11-16T15%3A52%3A20.834Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1542383541_esse/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"69\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1542383541_esse\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ESuscipit quas possimus ipsa optio exercitationem explicabo modi. Tempore reprehenderit quibusdam natus harum iusto quidem. Et nulla totam est maxime.\\nAsperiores quia doloremque explicabo optio necessitatibus repellat nulla aut. Facilis deserunt suscipit non vel. Quam praesentium alias iusto porro voluptatem itaque quaerat fugit. Hic laboriosam asperiores porro voluptates suscipit neque.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Veniam ratione nam harum qui.\", \"collapse_deleted_comments\": false, \"public_description\": \"Nulla consectetur eius reiciendis alias asperiores.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENulla consectetur eius reiciendis alias asperiores.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Suscipit quas possimus ipsa optio exercitationem explicabo modi. Tempore reprehenderit quibusdam natus harum iusto quidem. Et nulla totam est maxime.\\nAsperiores quia doloremque explicabo optio necessitatibus repellat nulla aut. Facilis deserunt suscipit non vel. Quam praesentium alias iusto porro voluptatem itaque quaerat fugit. Hic laboriosam asperiores porro voluptates suscipit neque.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_69\", \"created\": 1542383541.0, \"url\": \"/r/1542383541_esse/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1542383541.0, \"banner_size\": null, \"user_is_moderator\": true, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2227" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 15:52:34 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "446" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=eRixcQ4zpIFZBhVN1ZiV4mXNqfFQ3VtrwM%2BPm92EuFE20wK2xlgR8N3v6fS6LXdz02vIANyTSIOT4hquxxIGzWaJecNyS7%2Fx" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1542383541_esse/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.reports_test.test_list_reports_empty.json b/cassettes/channels.views.reports_test.test_list_reports_empty.json deleted file mode 100644 index 9fb16f7d0d..0000000000 --- a/cassettes/channels.views.reports_test.test_list_reports_empty.json +++ /dev/null @@ -1,255 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:17:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJETS82D74DKDSKSYA66K7" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2NNJNq0rJd0xOjjLP94kwSPEL9fNKt8gK9s0MLCxW0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYlxmflmsRXpJVb5IdVBHn4e2T7B6WU5ZamWZaD9KSklmUmp8ZnpoAMhnCUagFtj/7WuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:17:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=myxqNk4MrqsV0nVMCJ; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:17:07 GMT", - "loidcreated=2018-08-24T18%3A17%3A07.575Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:17:07 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJETS82D74DKDSKSYA66K7" - } - }, - { - "recorded_at": "2018-08-24T18:17:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Sint+eius+animi+consectetur+laudantium.+Vel+quae+nobis+placeat+quam+ut.+Aperiam+iste+dicta+natus+rerum+tenetur+voluptatum.+Aspernatur+laudantium+dicta+pariatur+quos+asperiores.%0APerspiciatis+alias+ea+veritatis.+Rem+ab+atque+nemo+molestiae+quam.+Et+voluptatibus+aut+doloribus.+Neque+pariatur+aliquid+reiciendis+eius+corporis+rerum.&link_type=any&name=1535134627_nesciunt&public_description=Nulla+nemo+beatae+sapiente.+Non+modi+magnam+provident+id+ullam.&title=Nihil+perferendis+molestiae+maxime+aut.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 312-fzdoAccZ7oLX0dNUNJg8jSMiQqs" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "571" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=myxqNk4MrqsV0nVMCJ; loidcreated=2018-08-24T18%3A17%3A07.575Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:17:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "173" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:17:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 312-fzdoAccZ7oLX0dNUNJg8jSMiQqs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=myxqNk4MrqsV0nVMCJ; loidcreated=2018-08-24T18%3A17%3A07.575Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535134627_nesciunt/about/reports/?limit=100&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "93" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:17:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "169" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=hxSBNUV01WNVpsaMRrr0GDJhyqnQPHHjjoOV7QmtXixNSoLp9cqBi1J%2FKN2whpSkoR8PUJ9VFNgeHZ3u1x07RVg3Fy3lxnO%2B" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535134627_nesciunt/about/reports/?limit=100&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.reports_test.test_patch_channel_noauth.json b/cassettes/channels.views.reports_test.test_patch_channel_noauth.json deleted file mode 100644 index 4bb97970b9..0000000000 --- a/cassettes/channels.views.reports_test.test_patch_channel_noauth.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:17:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJFAVR2VPZGJ0MF12229XV" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2NNWNdwwyNfNyTgqwLHSKyjGwLDP1Nch3MdUtMjBR0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZVZXh6mUW5u7gnhhp7OeclBQUZ5aemuIaWOyWD9KSklmUmp8ZnpoAMhnCUagGUZ1RKuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:17:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=gNBTiJ8AKjeSvn68MJ; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:17:24 GMT", - "loidcreated=2018-08-24T18%3A17%3A24.046Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:17:24 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJFAVR2VPZGJ0MF12229XV" - } - }, - { - "recorded_at": "2018-08-24T18:17:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Provident+at+id+quis+inventore+veritatis+natus+eius+reprehenderit.+A+quos+optio+pariatur+odit+temporibus.+Ullam+voluptates+sed+animi+dolore+sint+vel+ipsum.+Facilis+veniam+ea+similique+omnis.%0ARatione+unde+inventore+deleniti+dolor.+Reiciendis+sed+quia+quod+dolore+tempore+dignissimos+rem+labore.&link_type=any&name=1535134644_necessitat&public_description=Perferendis+odit+repudiandae+perferendis+culpa.+Molestias+nesciunt+debitis+ipsam.&title=Doloremque+pariatur+quaerat+molestias+aperiam.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 315-_AR56JCbP9qBZl09v5M0oD5-r04" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "562" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=gNBTiJ8AKjeSvn68MJ; loidcreated=2018-08-24T18%3A17%3A24.046Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:17:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "156" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.reports_test.test_patch_channel_nonstaff.json b/cassettes/channels.views.reports_test.test_patch_channel_nonstaff.json deleted file mode 100644 index f156ccadbf..0000000000 --- a/cassettes/channels.views.reports_test.test_patch_channel_nonstaff.json +++ /dev/null @@ -1,311 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:17:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJF14YVZQZ3AST8WDYHEZ6" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2NNZ1LTcvzA4siDSIci1KyUjyM8+ucvbPyg90dwlV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZFeuj6Oof6OxoC5YLcXVL9C+Izc9P9cgKSLEB6UlLLMpNT4zNTQAZDOEq1AGGG15+4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:17:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=sokD9h633W8tUDUvFt; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:17:14 GMT", - "loidcreated=2018-08-24T18%3A17%3A14.108Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:17:14 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJF14YVZQZ3AST8WDYHEZ6" - } - }, - { - "recorded_at": "2018-08-24T18:17:17", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=sokD9h633W8tUDUvFt; loidcreated=2018-08-24T18%3A17%3A14.108Z" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJF4DTJH6Q7JS8S99ENZWW" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2NNF1rwquSk2OyjJzLEnM8i3KMHbxrvQqzPbJ9zdR0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaFZpZYVGQFeuYaphbmmEYl5Rb4hwVkl6aHWISC9KSklmUmp8ZnpoAMhnCUagHL9sKyuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:17:17 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJF4DTJH6Q7JS8S99ENZWW" - } - }, - { - "recorded_at": "2018-08-24T18:17:17", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Enim+enim+quod+ducimus+reiciendis+molestiae+qui.+Nulla+eligendi+hic+nesciunt+nisi+blanditiis+ab+nesciunt.+Earum+quod+nesciunt+earum+sequi.%0AAtque+libero+error+et+illo.+Ut+assumenda+quas+ea.+Magni+possimus+vero+maxime+molestiae+corrupti.+Voluptatum+recusandae+sunt+quae+vel.%0AQuibusdam+reprehenderit+fugiat+quam+id+rem+eaque.+Molestiae+consequatur+iusto+id.+Voluptatibus+accusantium+repudiandae+rem+minima+voluptatum.+Quae+tempore+suscipit+dolor+a+eius+numquam.+Alias+esse+deserunt+ratione+libero.&link_type=any&name=1535134637_numquam&public_description=Temporibus+suscipit+pariatur+non+eligendi+beatae+maxime.+Labore+facilis+provident+rerum+molestiae.&title=Eveniet+id+vitae+maxime+ab+sit+sapiente+aliquam.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 314-GzSzecZj6AtajMrh3DKyJqkLoO4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "781" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=sokD9h633W8tUDUvFt; loidcreated=2018-08-24T18%3A17%3A14.108Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:17:17 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "163" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:17:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 313-Ew7qkQpY0ZErdhbN7kzCOjoQGDU" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=sokD9h633W8tUDUvFt; loidcreated=2018-08-24T18%3A17%3A14.108Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535134637_numquam/about/moderators/?user=01CNPJF14YVZQZ3AST8WDYHEZ6&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"message\": \"Forbidden\", \"error\": 403}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "38" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:17:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "access-control-allow-origin": [ - "*" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=ERykYuJdmtR2U4idltYp%2FjLyEvxUYut5KMFcA5WeyXipV0NJ%2BehlgxcVShRpRHo2DTcHISuxc%2FjkC41iQBPMElJZXToKFWKF" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 403, - "message": "Forbidden" - }, - "url": "https://reddit.local/r/1535134637_numquam/about/moderators/?user=01CNPJF14YVZQZ3AST8WDYHEZ6&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.reports_test.test_report_anonymous.json b/cassettes/channels.views.reports_test.test_report_anonymous.json deleted file mode 100644 index 298539aef8..0000000000 --- a/cassettes/channels.views.reports_test.test_report_anonymous.json +++ /dev/null @@ -1,507 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:16:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJDH5HS290ZD5KPVBZ4VT7" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNsQ6CMBiEX4V0NJK0VqoyEiODLBoZOjWl/MTShEKLRmJ8d6lMjvflvrs3kkqB92K0BjqURohiFrPH/kQ5u+KkHEx8y0m2KxpuHSVbtI4QvHrtwAsdBMowntnPF+PUQxipQDpwoeuVXdAqJAfNLN7/3w5VlsiyzY8DV4JweSnabvJnYzYmODU8tQKh6zC8BPT5AtIwCz64AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=ZPqdnKQDhNP4pIrXQ2; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:16:25 GMT", - "loidcreated=2018-08-24T18%3A16%3A24.973Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:16:25 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJDH5HS290ZD5KPVBZ4VT7" - } - }, - { - "recorded_at": "2018-08-24T18:16:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Sed+ex+odio+iste+doloribus+optio+voluptatem.+Error+doloremque+veniam+nisi+placeat+fugit+consectetur.+Maxime+nulla+facere+sapiente+aliquid.+Sit+iste+odit+autem+error+exercitationem+sint+ad+ipsam.%0AQuisquam+nemo+ipsum+voluptatem+officiis+vero+tenetur.+Ipsa+culpa+nesciunt+cupiditate+minima+necessitatibus.+Non+eveniet+rem+autem+suscipit+labore+occaecati.&link_type=any&name=1535134585_quae&public_description=Cum+earum+ab+quod+placeat+repellat.+Quod+sunt+rerum+pariatur.+Nam+enim+odit+at+nesciunt.&title=Corrupti+atque+suscipit+ipsa+nihil+consequatur.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 306-6u8F3Y6R05Uqk-TG1B7LfYor314" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "621" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ZPqdnKQDhNP4pIrXQ2; loidcreated=2018-08-24T18%3A16%3A24.973Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "215" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:16:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ZPqdnKQDhNP4pIrXQ2; loidcreated=2018-08-24T18%3A16%3A24.973Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJDQG4KDP8KD4N0MRGXW40" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2MNf1rAjJLvINdy4pLI0PNPIPzfMuNU+rMA4rybBQ0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLY5Jpm5pFu4uec5Z3iY5/iHhXi6ZTqXGWYZFYFtS0kty0xOjc9MARkM4SjVAgA6Z9ZVuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJDQG4KDP8KD4N0MRGXW40" - } - }, - { - "recorded_at": "2018-08-24T18:16:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535134585_quae&text=A+explicabo+dicta+magnam+a+illum+blanditiis.+Cum+eum+inventore+aut+sapiente.&title=Aperiam+velit+veritatis+ab+doloremque+molestiae." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 307-IxTkrMWCtqu_Q2OUnKu7fx3Vth8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "210" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ZPqdnKQDhNP4pIrXQ2; loidcreated=2018-08-24T18%3A16%3A24.973Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535134585_quae/comments/4b/aperiam_velit_veritatis_ab_doloremque_molestiae/\", \"id\": \"4b\", \"name\": \"t3_4b\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "173" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "212" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:16:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 307-IxTkrMWCtqu_Q2OUnKu7fx3Vth8" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=ZPqdnKQDhNP4pIrXQ2; loidcreated=2018-08-24T18%3A16%3A24.973Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/4b/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134585_quae\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EA explicabo dicta magnam a illum blanditiis. Cum eum inventore aut sapiente.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"A explicabo dicta magnam a illum blanditiis. Cum eum inventore aut sapiente.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"4b\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPJDQG4KDP8KD4N0MRGXW40\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134585_quae\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2t\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134585_quae/comments/4b/aperiam_velit_veritatis_ab_doloremque_molestiae/\", \"locked\": false, \"name\": \"t3_4b\", \"created\": 1535134588.0, \"url\": \"http://reddit.local/r/1535134585_quae/comments/4b/aperiam_velit_veritatis_ab_doloremque_molestiae/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Aperiam velit veritatis ab doloremque molestiae.\", \"created_utc\": 1535134588.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1756" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "212" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=eMFAmpMFV4K69i%2BDUpPmKUR4uvpBR670VnGtzGZE0SEP6gTLDnk3xHL%2FvhOezCgDXrlaK2IuqjuxHbgcsO47IhPgyg%2BwXyPV" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/4b/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:16:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Aut+fuga+numquam+eum+in.+Fugit+asperiores+quaerat+quasi+itaque.+Atque+sapiente+esse+facilis+ullam.&thing_id=t3_4b" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 307-IxTkrMWCtqu_Q2OUnKu7fx3Vth8" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "132" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=ZPqdnKQDhNP4pIrXQ2; loidcreated=2018-08-24T18%3A16%3A24.973Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_2t\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_4b\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3e\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CNPJDQG4KDP8KD4N0MRGXW40\", \"parent_id\": \"t3_4b\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Aut fuga numquam eum in. Fugit asperiores quaerat quasi itaque. Atque sapiente esse facilis ullam.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAut fuga numquam eum in. Fugit asperiores quaerat quasi itaque. Atque sapiente esse facilis ullam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134585_quae\", \"score_hidden\": false, \"name\": \"t1_3e\", \"created\": 1535134591.0, \"author_flair_text\": null, \"created_utc\": 1535134591.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "997" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "209" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.reports_test.test_report_comment.json b/cassettes/channels.views.reports_test.test_report_comment.json deleted file mode 100644 index 1dc7e5ed8f..0000000000 --- a/cassettes/channels.views.reports_test.test_report_comment.json +++ /dev/null @@ -1,783 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:16:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJD18V7W3WD4K05DKS4P1D" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2MNHNcvQrDXI2DPap0M0pNClP9kl2Ki0pja9IKUlX0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLb5mxenV2TFhweUeLumVhmFBKTmZRhFuLqVJxuA9KSklmUmp8ZnpoAMhnCUagFLh1SvuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:09 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=rGtMDoEJXxHQLqdPti; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:16:09 GMT", - "loidcreated=2018-08-24T18%3A16%3A08.705Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:16:09 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJD18V7W3WD4K05DKS4P1D" - } - }, - { - "recorded_at": "2018-08-24T18:16:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Incidunt+iure+quibusdam+qui+quasi+earum+quas.+Laborum+eaque+tempore+nihil+quos.+Reprehenderit+ipsa+et+quasi+necessitatibus+repellendus+quibusdam+exercitationem.+Dolore+beatae+temporibus+nemo+ipsum+asperiores+dicta+dicta.%0AVoluptatum+laborum+enim+amet+non+rem.+Sint+reprehenderit+aut+id+officiis+culpa.+Ipsam+perspiciatis+exercitationem+voluptatem+molestias.+Recusandae+nam+porro+cum.&link_type=any&name=1535134569_in&public_description=Magnam+assumenda+minima+quisquam+porro.+Consequuntur+pariatur+rem+quibusdam+saepe.&title=Asperiores+ut+explicabo+impedit+pariatur.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 304-jANuRC1SLx-lq4wcLcButu_xdtg" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "639" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=rGtMDoEJXxHQLqdPti; loidcreated=2018-08-24T18%3A16%3A08.705Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:09 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "231" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:16:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=rGtMDoEJXxHQLqdPti; loidcreated=2018-08-24T18%3A16%3A08.705Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJD7M53P1BNXWQC5MJBXH7" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNQQvCIBzFv8rwGAnSWoduMoYhSEiHsZMs9x/TKE3XKKLv3mynju/H+733Rq3WEKMa3QVuaJ+hnBR4YvdSUnVQQKujxNhGy7Qoi6tzaJ0heHoTICqThHxHyMx+vhpfHtLIGdoAIXWjdgtapRSgn8Xh/+2x4SfcWC/qoaZb7h0fWINp1QuZnA4mo0GZLg0vAX2+6RIpzbgAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJD7M53P1BNXWQC5MJBXH7" - } - }, - { - "recorded_at": "2018-08-24T18:16:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPJD7M53P1BNXWQC5MJBXH7&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 304-jANuRC1SLx-lq4wcLcButu_xdtg" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=rGtMDoEJXxHQLqdPti; loidcreated=2018-08-24T18%3A16%3A08.705Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535134569_in/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "225" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535134569_in/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:16:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535134569_in" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 305-vGqCQA_H_eAEOQ--jsjGcMC5moo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "72" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=rGtMDoEJXxHQLqdPti; loidcreated=2018-08-24T18%3A16%3A08.705Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "225" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:16:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535134569_in&text=Animi+totam+ad+ullam+quas+repellat.+Amet+modi+doloremque+cum+voluptatum+temporibus+accusamus.&title=Sint+sed+facilis+ea+cumque+rem+quasi." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 305-vGqCQA_H_eAEOQ--jsjGcMC5moo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "214" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=rGtMDoEJXxHQLqdPti; loidcreated=2018-08-24T18%3A16%3A08.705Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535134569_in/comments/4a/sint_sed_facilis_ea_cumque_rem_quasi/\", \"id\": \"4a\", \"name\": \"t3_4a\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "160" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "225" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:16:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 305-vGqCQA_H_eAEOQ--jsjGcMC5moo" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=rGtMDoEJXxHQLqdPti; loidcreated=2018-08-24T18%3A16%3A08.705Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/4a/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134569_in\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAnimi totam ad ullam quas repellat. Amet modi doloremque cum voluptatum temporibus accusamus.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Animi totam ad ullam quas repellat. Amet modi doloremque cum voluptatum temporibus accusamus.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"4a\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPJD7M53P1BNXWQC5MJBXH7\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134569_in\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2s\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134569_in/comments/4a/sint_sed_facilis_ea_cumque_rem_quasi/\", \"locked\": false, \"name\": \"t3_4a\", \"created\": 1535134575.0, \"url\": \"http://reddit.local/r/1535134569_in/comments/4a/sint_sed_facilis_ea_cumque_rem_quasi/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Sint sed facilis ea cumque rem quasi.\", \"created_utc\": 1535134575.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1749" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "225" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=BYANEBk3CJmPgNqg5GwQ32b3Vzk6%2FAI%2B1tqUlvVnwXrv6%2FWNCBnVxBhNM8JZKetWAM5TMuOVUiRDxrafPFOp3dv5X%2B9%2FUtcS" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/4a/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:16:18", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Fugiat+quas+deserunt+nihil+exercitationem+eos+maxime+sed.+Fugit+nemo+accusamus+vero+accusantium.&thing_id=t3_4a" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 305-vGqCQA_H_eAEOQ--jsjGcMC5moo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "130" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=rGtMDoEJXxHQLqdPti; loidcreated=2018-08-24T18%3A16%3A08.705Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_2s\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_4a\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3d\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CNPJD7M53P1BNXWQC5MJBXH7\", \"parent_id\": \"t3_4a\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Fugiat quas deserunt nihil exercitationem eos maxime sed. Fugit nemo accusamus vero accusantium.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EFugiat quas deserunt nihil exercitationem eos maxime sed. Fugit nemo accusamus vero accusantium.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134569_in\", \"score_hidden\": false, \"name\": \"t1_3d\", \"created\": 1535134578.0, \"author_flair_text\": null, \"created_utc\": 1535134578.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "991" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:18 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "222" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:16:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t1_3d&reason=spam" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 305-vGqCQA_H_eAEOQ--jsjGcMC5moo" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "34" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=rGtMDoEJXxHQLqdPti; loidcreated=2018-08-24T18%3A16%3A08.705Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/report/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "219" - ], - "x-ratelimit-used": [ - "5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/report/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.reports_test.test_report_post.json b/cassettes/channels.views.reports_test.test_report_post.json deleted file mode 100644 index 817e00ebd8..0000000000 --- a/cassettes/channels.views.reports_test.test_report_post.json +++ /dev/null @@ -1,691 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:15:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJCM4GJF26RDD1WXD17Q47" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNQQrCMBREr1KyFIXUD424bBtBsSBCFnUTavrFWG1LEqMi3t3GrlzOY97Mm1RKobXSdQ22ZBkRoPNZ3BbldrcA5h/u3jiAg0tzYEXqBZlGBJ+9NmilDgIklA7s50v36jGMHLEyaELXqm5Ek5AMngbx/P8mxE3vLyuWXNfxxmvLM+BQ8oxbHpwavVYodR2Gx0A+X4oUkjS4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=stX09Ji9L17WJ33vjO; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:15:55 GMT", - "loidcreated=2018-08-24T18%3A15%3A55.252Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:15:55 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJCM4GJF26RDD1WXD17Q47" - } - }, - { - "recorded_at": "2018-08-24T18:15:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Hic+rem+earum+ipsum.+Recusandae+iusto+non+itaque+quia.+Maxime+odio+ut+vitae+enim+explicabo.%0AMagnam+earum+esse+nemo+odio+nam+corrupti+totam.+Consequuntur+ex+accusantium+eos+placeat+neque.%0ANumquam+tempore+optio+repudiandae+magnam+quam+rem+deleniti.+Odit+ipsam+veritatis+animi+dolor+necessitatibus+quae+earum+sequi.+Voluptatum+atque+fugit+perferendis+eaque.+Ipsum+tempore+eaque+odio+corporis.%0AOdio+error+officia+tempora+corrupti+perspiciatis.+Sunt+ex+laborum+officiis+fugit+labore.&link_type=any&name=1535134555_officia&public_description=Numquam+quos+laborum+nostrum+at+eum+maiores.+Harum+quisquam+odio+soluta+nisi+quas.&title=Rem+facere+facere+nobis.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 302-1nMYLP837vwtukt33ZtBD37MBvU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "727" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=stX09Ji9L17WJ33vjO; loidcreated=2018-08-24T18%3A15%3A55.252Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:15:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "245" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:16:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=stX09Ji9L17WJ33vjO; loidcreated=2018-08-24T18%3A15%3A55.252Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJCTF7NXVZVNSGRC27ACE9" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNywrCMBREf6VkKQqBi8+dWEGNGxe1ugppckuCksSk9YH47zZ25XIOc2beREiJMfLGXdCSRUaAwqj1c1vYw3o62we2LXWtGByXusVAyTAj+PQmYOQmCTChtGM/nzcvj2mkQhEwpG6UrkeDlALWnaj/39i1cvYGYnXe7Ep+emgtqYciHxuXHIV3I5EblYb7QD5f/yHKi7gAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJCTF7NXVZVNSGRC27ACE9" - } - }, - { - "recorded_at": "2018-08-24T18:16:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPJCTF7NXVZVNSGRC27ACE9&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 302-1nMYLP837vwtukt33ZtBD37MBvU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=stX09Ji9L17WJ33vjO; loidcreated=2018-08-24T18%3A15%3A55.252Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535134555_officia/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "238" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535134555_officia/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:16:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535134555_officia" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 303-up9nUnQE78LrKIWhfdK3VAhuer0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "77" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=stX09Ji9L17WJ33vjO; loidcreated=2018-08-24T18%3A15%3A55.252Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "238" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:16:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535134555_officia&text=At+odio+corrupti+culpa+nam+sint+architecto.+Enim+neque+optio+ab+praesentium.&title=Accusamus+impedit+voluptas+deleniti+praesentium." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 303-up9nUnQE78LrKIWhfdK3VAhuer0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "213" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=stX09Ji9L17WJ33vjO; loidcreated=2018-08-24T18%3A15%3A55.252Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535134555_officia/comments/49/accusamus_impedit_voluptas_deleniti_praesentium/\", \"id\": \"49\", \"name\": \"t3_49\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "176" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "238" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:16:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 303-up9nUnQE78LrKIWhfdK3VAhuer0" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=stX09Ji9L17WJ33vjO; loidcreated=2018-08-24T18%3A15%3A55.252Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/49/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134555_officia\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAt odio corrupti culpa nam sint architecto. Enim neque optio ab praesentium.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"At odio corrupti culpa nam sint architecto. Enim neque optio ab praesentium.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"49\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPJCTF7NXVZVNSGRC27ACE9\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134555_officia\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_2r\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134555_officia/comments/49/accusamus_impedit_voluptas_deleniti_praesentium/\", \"locked\": false, \"name\": \"t3_49\", \"created\": 1535134562.0, \"url\": \"http://reddit.local/r/1535134555_officia/comments/49/accusamus_impedit_voluptas_deleniti_praesentium/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Accusamus impedit voluptas deleniti praesentium.\", \"created_utc\": 1535134562.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1768" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "238" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=bmxsjcInkbq3Zc%2B2wzmaQbwfqVvlGwIbPRzqCUSVDWcIFGJOCZtE8mhYwryhqqTMhEgPDaWsh%2B3qxR7iPHWUmJQJ8tlPf9R6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/49/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:16:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&id=t3_49&reason=spam" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 303-up9nUnQE78LrKIWhfdK3VAhuer0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "34" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=stX09Ji9L17WJ33vjO; loidcreated=2018-08-24T18%3A15%3A55.252Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/report/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:16:05 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "235" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/report/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.subscribers_test.test_add_subscriber[1].json b/cassettes/channels.views.subscribers_test.test_add_subscriber[1].json deleted file mode 100644 index 47066f919c..0000000000 --- a/cassettes/channels.views.subscribers_test.test_add_subscriber[1].json +++ /dev/null @@ -1,326 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-13T22:15:39", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7J9SQKAGJEXCZ8GB0V9Z6S" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIytDDUDc3TdS8INsnL8k8vNMlJcqmqSgst9Qj1LE8sV9JRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9Csi/TWzaxI9jEv9ApJMzWKikhyMcguco3XjfLzBGlKSS3LTE6Nz0wBmQzhKNUCAE1sfWS6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 22:15:39 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=XtLtxMjJjvrQR38AkB; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 12-Nov-2020 22:15:39 GMT", - "loidcreated=2018-11-13T22%3A15%3A38.937Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 12-Nov-2020 22:15:39 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7J9SQKAGJEXCZ8GB0V9Z6S" - } - }, - { - "recorded_at": "2018-11-13T22:15:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=XtLtxMjJjvrQR38AkB; loidcreated=2018-11-13T22%3A15%3A38.937Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7J9WZT8PN8KSMPS293ZB4E" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NXQuCMBiF/4rsMhKmg5Auoy+losga62bM+UqjyLHJ0qL/nsu7Ls/hPM95IyElWMub+gYPNA1QHCVxaDcVXblLTgQ+0ftWpOc9acEBSxdoHCBotTJgufIEmWDcdz8BbzoN3lKAMGD81sp6qEY+Gah68Pp352QWFVJ3R8Z0YrN1jpd0Fz7nr9nBQyU4JYGr0puHgD5fWsEVG7oAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 22:15:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7J9WZT8PN8KSMPS293ZB4E" - } - }, - { - "recorded_at": "2018-11-13T22:15:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Quam+vel+aliquid+sequi+ut+enim.+Ea+voluptatem+quasi+in.+Magni+nemo+sint+maiores.+Nihil+maiores+atque+commodi+dolorum+asperiores+atque.+Rem+quam+quos+nostrum+magnam.%0AExercitationem+sint+voluptatem+sit+vero.+Impedit+officiis+deleniti+quae+rem+officia+asperiores.+Itaque+excepturi+quo+beatae+quam+natus+fuga+soluta.+Tempore+fugit+placeat+eos+odit.&link_type=any&name=1542147342_reprehende&public_description=Dolor+expedita+similique+debitis+voluptatem+facere+itaque.&title=Illo+perferendis+adipisci+suscipit+modi.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2181-Un-GpS4njOgq4lbDzzfUuHUIwaw" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "583" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=XtLtxMjJjvrQR38AkB; loidcreated=2018-11-13T22%3A15%3A38.937Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 22:15:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "258" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-13T22:15:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542147342_reprehende" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2182-sLfWGvZT3a0UWlMaIVP3xeveYIE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "80" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=XtLtxMjJjvrQR38AkB; loidcreated=2018-11-13T22%3A15%3A38.937Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 22:15:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "255" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.subscribers_test.test_add_subscriber[2].json b/cassettes/channels.views.subscribers_test.test_add_subscriber[2].json deleted file mode 100644 index c6161ab824..0000000000 --- a/cassettes/channels.views.subscribers_test.test_add_subscriber[2].json +++ /dev/null @@ -1,418 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-13T22:15:49", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7JA3DECYZ39J99C64CW911" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIytDDWLS/JLAl1Ci3LSIsIz6vwCQsxMEiLys0qccqPVNJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9CsKzUPT3OrTDb18SsPSPUoybXI8IwvNK7K9nQsBmlKSS3LTE6Nz0wBmQzhKNUCAH+MUxK6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 22:15:49 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=DxmDrAuOZZ1X1hptoz; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 12-Nov-2020 22:15:49 GMT", - "loidcreated=2018-11-13T22%3A15%3A48.868Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 12-Nov-2020 22:15:49 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7JA3DECYZ39J99C64CW911" - } - }, - { - "recorded_at": "2018-11-13T22:15:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=DxmDrAuOZZ1X1hptoz; loidcreated=2018-11-13T22%3A15%3A48.868Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7JA6QRHJE70J1BR4YZNPSW" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NsQ6CMBRFf4V0NJpAWw1xM+gAQmBwkaWhj6c2JpS0xSjGf5fK5nhv7jn3TRoAtFY4fceObANCo5ivZAXXksIYUVnV+pBnqijHIa+LpCDLgOCzVwatUJ5gmzCcup9AuFeP3iKxMWj81oKeq4VPBi8TePu7G2Ts8pSdzlnW6R1n416v+dEYzVIPtfhQgEK13jwH8vkClvTFYLoAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 22:15:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7JA6QRHJE70J1BR4YZNPSW" - } - }, - { - "recorded_at": "2018-11-13T22:15:52", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Necessitatibus+tempore+similique+nam+eos+voluptatum+asperiores+quae.+Impedit+et+distinctio+reprehenderit+sint+consequatur+exercitationem+dolorem+error.+Ad+animi+eveniet+alias+culpa+ab+quisquam+ut.+Animi+officia+consequatur+odio+temporibus+quo+facilis.%0APossimus+iste+maiores+aliquid+minima+quidem+sed+praesentium.+Iure+in+doloremque+voluptatem+expedita+excepturi+quae.+Corrupti+deserunt+a+nobis+libero.&link_type=any&name=1542147352_distinctio&public_description=Ex+itaque+minus+culpa+consectetur+ea+esse+dignissimos+dolorum.&title=Eos+dolor+illo+animi+consequuntur.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2183-wtitUBUvhfXWnxLVT00fZmjtBoY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "638" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=DxmDrAuOZZ1X1hptoz; loidcreated=2018-11-13T22%3A15%3A48.868Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 22:15:52 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "248" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-13T22:15:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542147352_distinctio" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2184-bPcgO2cz12bPZoELJiMOzuLZMCM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "80" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=DxmDrAuOZZ1X1hptoz; loidcreated=2018-11-13T22%3A15%3A48.868Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 22:15:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "245" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-13T22:15:55", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542147352_distinctio" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2184-bPcgO2cz12bPZoELJiMOzuLZMCM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "80" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=DxmDrAuOZZ1X1hptoz; loidcreated=2018-11-13T22%3A15%3A48.868Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 22:15:55 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "245" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.subscribers_test.test_add_subscriber_anonymous.json b/cassettes/channels.views.subscribers_test.test_add_subscriber_anonymous.json deleted file mode 100644 index 16d0968200..0000000000 --- a/cassettes/channels.views.subscribers_test.test_add_subscriber_anonymous.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-13T22:15:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7JADF3Z85PFAMT9F6PRQK0" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIytDDVNUhJywjKd/MLKoywTPSOTI+I8PDJNykyNTMOVdJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9CsCzPwT04OcjEuyCn29glwyfYIqLIs9YlPifIGW5eSWpaZnBqfmQIyGcJRqgUA3yUpJLoAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 22:15:59 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=7k2d0iITXs1LMEzU1m; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 12-Nov-2020 22:15:59 GMT", - "loidcreated=2018-11-13T22%3A15%3A59.143Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 12-Nov-2020 22:15:59 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7JADF3Z85PFAMT9F6PRQK0" - } - }, - { - "recorded_at": "2018-11-13T22:16:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=7k2d0iITXs1LMEzU1m; loidcreated=2018-11-13T22%3A15%3A59.143Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7JAGQ7DM3ZGS2X5C1EFTPD" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NQQuCMBzFv4rsGAk2Y2S3QBiSdQgE8TLm/FtrMG1TW0TfPZe3ju/xfr/3RlwIsJYNnQKN9gHCmx0JtSoNJ0WSNVglVVXyMbuf8ikNH1u0DhC4XhqwTHoiJlE0dz8BG149eEsN3IDxWyu6pVr5ZKCdwdvfHT+2tBjTuo4YzS/u6uLnGWtxoKnyUAOTFMBk481LQJ8vyf+VZboAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 22:16:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7JAGQ7DM3ZGS2X5C1EFTPD" - } - }, - { - "recorded_at": "2018-11-13T22:16:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Mollitia+illum+quas+fugit+natus+odio+harum+consequatur.+Atque+magni+accusantium+velit+quia.+Ullam+occaecati+minima+culpa+nesciunt+veniam+praesentium.+Id+distinctio+harum+a+natus+necessitatibus+voluptas+voluptate.%0ACum+minus+mollitia+dolores+voluptatum+maxime+totam+est.+Vero+maxime+beatae+unde+quis+dolore+provident.+Ipsa+blanditiis+labore+nisi+odio+rem+repellendus+ut+animi.&link_type=any&name=1542147362_repellat&public_description=Facilis+odit+dolores+mollitia+itaque+ut+fugiat.&title=Aperiam+vitae+officia+neque.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2185-0dfhRoFNRqX9aKYgXXHLo4r563U" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "588" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=7k2d0iITXs1LMEzU1m; loidcreated=2018-11-13T22%3A15%3A59.143Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 22:16:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "238" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.subscribers_test.test_add_subscriber_forbidden.json b/cassettes/channels.views.subscribers_test.test_add_subscriber_forbidden.json deleted file mode 100644 index 1758ad896b..0000000000 --- a/cassettes/channels.views.subscribers_test.test_add_subscriber_forbidden.json +++ /dev/null @@ -1,326 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2019-01-14T20:54:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01D172AHZRF3Y1F5633EG5AHB7" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNrHUzTBy8s8w9nP0zi4NNS9NLc92DzHM93KuSC51VdJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9CsCyyqdDMM9fQ2KcwIMHa0CEkpSQxMMcgpdc6JBGlKSS3LTE6Nz0wBmQzhKNUCAJi7Osq6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 14 Jan 2019 20:54:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=mWVH6Wkl55974UbWXn; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 13-Jan-2021 20:54:56 GMT", - "loidcreated=2019-01-14T20%3A54%3A55.690Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 13-Jan-2021 20:54:56 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01D172AHZRF3Y1F5633EG5AHB7" - } - }, - { - "recorded_at": "2019-01-14T20:54:56", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Officiis+explicabo+deserunt+aut+nesciunt+praesentium+adipisci+optio+esse.+Libero+quidem+consectetur+iusto.+Cumque+aspernatur+maiores+ut+voluptate+provident+aliquid+rerum.%0APraesentium+amet+consequuntur+quasi+amet+neque+ipsam+esse.+Neque+veritatis+ipsam+ullam+omnis+aliquid.+Aut+magnam+dolorum+magnam+accusantium.%0AEarum+ea+nostrum+atque+velit+labore.+Quis+suscipit+ullam+pariatur+voluptas+ad+ea+voluptate.+Neque+blanditiis+doloremque+autem+corrupti+accusantium.+Odio+adipisci+ut+blanditiis+cum+optio.&link_type=any&name=1547499296_115_saepe&public_description=Natus+unde+eos+saepe+tempore+laudantium+nam+exercitationem+dolores.&title=Repellat+ullam+quidem+sint.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2349-h2BOh3NAKkuU7uewkGT1oJCxcuE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "735" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=mWVH6Wkl55974UbWXn; loidcreated=2019-01-14T20%3A54%3A55.690Z" - ], - "User-Agent": [ - "MIT-Open: 0.62.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 14 Jan 2019 20:54:56 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "304" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2019-01-14T20:55:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=mWVH6Wkl55974UbWXn; loidcreated=2019-01-14T20%3A54%3A55.690Z" - ], - "User-Agent": [ - "MIT-Open: 0.62.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01D172ARDZG7Q2X8M2TEAV3SBB" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNjXQLY4w9Ag3TQ42NXG38DD0NI8vzM4yMckIyA0pVtJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9CsKzctcQ/yzqn0SEuvSMsJdjQ2tUiPzA818wvyBWlKSS3LTE6Nz0wBmQzhKNUCAF3qZLC6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 14 Jan 2019 20:55:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01D172ARDZG7Q2X8M2TEAV3SBB" - } - }, - { - "recorded_at": "2019-01-14T20:55:02", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1547499296_115_saepe" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2350-sX1HW5cS54G8H1I7_qkj44hPmTs" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=mWVH6Wkl55974UbWXn; loidcreated=2019-01-14T20%3A54%3A55.690Z" - ], - "User-Agent": [ - "MIT-Open: 0.62.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"message\": \"Forbidden\", \"error\": 403}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "38" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 14 Jan 2019 20:55:02 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "298" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 403, - "message": "Forbidden" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.subscribers_test.test_add_subscriber_mod.json b/cassettes/channels.views.subscribers_test.test_add_subscriber_mod.json deleted file mode 100644 index 63ee715493..0000000000 --- a/cassettes/channels.views.subscribers_test.test_add_subscriber_mod.json +++ /dev/null @@ -1,667 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-09-14T15:14:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CQCAB6P6ZXHVQXM3ZEDBDQZV" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2tdA1cAlwNq5Ijs/w8naMyIzwNCmt8PTwSS1JKTFQ0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaZuHlYVuQV5BYmehd4GyVH+Ud6pKVn5WUEu4SC9KSklmUmp8ZnpoAMhnCUagH8CRxXuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 14 Sep 2018 15:14:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=szgFdyA1lqS33Cwai9; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 13-Sep-2020 15:14:19 GMT", - "loidcreated=2018-09-14T15%3A14%3A19.490Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 13-Sep-2020 15:14:19 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CQCAB6P6ZXHVQXM3ZEDBDQZV" - } - }, - { - "recorded_at": "2018-09-14T15:14:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Dolorum+corporis+labore+minima+dolore.+Culpa+inventore+eum+accusamus+similique+similique+voluptates+cupiditate.%0AConsequuntur+dignissimos+blanditiis+perspiciatis+sequi+ad.+Laudantium+incidunt+nisi+voluptatem+eos+totam+ex.+Sapiente+cupiditate+pariatur+deleniti+rem+voluptate+consectetur+dolores.+Mollitia+natus+exercitationem+sed+non+quos+vel+omnis.+Illum+praesentium+mollitia+doloribus+quam+accusantium+deleniti+debitis.&link_type=any&name=1536938059_natus&public_description=Voluptatibus+cupiditate+inventore+repellat+dolores.+Eveniet+dolore+laboriosam+autem+alias+corrupti.&title=Iure+consectetur+possimus+molestias+doloremque.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 358-0DPC3xc_hJKAXiXI4uxIHLetdt0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "701" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=szgFdyA1lqS33Cwai9; loidcreated=2018-09-14T15%3A14%3A19.490Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 14 Sep 2018 15:14:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "341" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-09-14T15:14:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=szgFdyA1lqS33Cwai9; loidcreated=2018-09-14T15%3A14%3A19.490Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CQCABD7C0AYE733CKG73FM1Z" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2tdTND3cPTvQL8043T3PL9rEscPR2DjcwcCtOTy9W0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLY5OXuG+yTmJJunhnsluaRahhRFhVlk+jm7VwaC9KSklmUmp8ZnpoAMhnCUagHffP6guAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 14 Sep 2018 15:14:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CQCABD7C0AYE733CKG73FM1Z" - } - }, - { - "recorded_at": "2018-09-14T15:14:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=szgFdyA1lqS33Cwai9; loidcreated=2018-09-14T15%3A14%3A19.490Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CQCABGEG379XRANA5GVK9VK7" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2M9ANcY5P9XZLywsL8YgPNzZ1082NKK1ITUwztTBR0lFQSq0oyCxKLY7PBGkAqjcAioH1x5dUFqSCDElKTSxKLQKpLU7OhwhpgXhFqWlAjRmotvlalBsXFoW6RfpW+HikBAS66KabBAY5mXn7eoL0pKSWZSanxmemgAyGcJRqAayWwfy4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 14 Sep 2018 15:14:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CQCABGEG379XRANA5GVK9VK7" - } - }, - { - "recorded_at": "2018-09-14T15:14:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CQCABD7C0AYE733CKG73FM1Z&permissions=%2Ball&type=moderator" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 358-0DPC3xc_hJKAXiXI4uxIHLetdt0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "79" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=szgFdyA1lqS33Cwai9; loidcreated=2018-09-14T15%3A14%3A19.490Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536938059_natus/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 14 Sep 2018 15:14:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "331" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536938059_natus/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-09-14T15:14:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 359-oWGSaNVKg7fFkL9pAKCW00Fsggs" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=szgFdyA1lqS33Cwai9; loidcreated=2018-09-14T15%3A14%3A19.490Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1536938059_natus/api/accept_moderator_invite?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 14 Sep 2018 15:14:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "330" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536938059_natus/api/accept_moderator_invite?raw_json=1" - } - }, - { - "recorded_at": "2018-09-14T15:14:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 359-oWGSaNVKg7fFkL9pAKCW00Fsggs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=szgFdyA1lqS33Cwai9; loidcreated=2018-09-14T15%3A14%3A19.490Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1536938059_natus/about/moderators/?user=01CQCABD7C0AYE733CKG73FM1Z&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"UserList\", \"data\": {\"children\": [{\"date\": 1536938070.0, \"mod_permissions\": [\"all\"], \"name\": \"01CQCABD7C0AYE733CKG73FM1Z\", \"id\": \"t2_9z\"}]}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "149" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 14 Sep 2018 15:14:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "330" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=nFaP%2F9fxhoMvUhRpy0A4ltb%2BOLTttPyF830NQcpqo6wTQPDQLAwARW7bU8H2UWeg8Wal7e8wTbj9gPDaFtnOWmOkScJAZtWG" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1536938059_natus/about/moderators/?user=01CQCABD7C0AYE733CKG73FM1Z&raw_json=1" - } - }, - { - "recorded_at": "2018-09-14T15:14:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1536938059_natus" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 360-TC_eKFfnVTH_W35F-mXuxeaf584" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "75" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=szgFdyA1lqS33Cwai9; loidcreated=2018-09-14T15%3A14%3A19.490Z" - ], - "User-Agent": [ - "MIT-Open: 0.45.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 14 Sep 2018 15:14:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "330" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.subscribers_test.test_detail_subscriber.json b/cassettes/channels.views.subscribers_test.test_detail_subscriber.json deleted file mode 100644 index 1b9575036d..0000000000 --- a/cassettes/channels.views.subscribers_test.test_detail_subscriber.json +++ /dev/null @@ -1,507 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:17:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJFJ40CQ18CS13JGC2NK40" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2NNMNKqyKNHWLKIpy9bf0LTYvMw4OCPfMDTG0MAtU0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZlFeVVhmT6mJmHpFS6mPuV+xoUGVY5Z5YnuRWD9KSklmUmp8ZnpoAMhnCUagFE7OKouAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:17:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=Q3CWak180kdfa80fuT; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:17:31 GMT", - "loidcreated=2018-08-24T18%3A17%3A31.494Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:17:31 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJFJ40CQ18CS13JGC2NK40" - } - }, - { - "recorded_at": "2018-08-24T18:17:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Q3CWak180kdfa80fuT; loidcreated=2018-08-24T18%3A17%3A31.494Z" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJFNDKRC5JGMB00CZGDWHZ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2NNcNKzZwjApzjHRJrIpPqch2M04P8ff19w11jM9W0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZ5GSbqxidZ+rtaFpZHOpYYZkb5ZSf7GQV5xJuA9KSklmUmp8ZnpoAMhnCUagF8C3qFuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:17:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJFNDKRC5JGMB00CZGDWHZ" - } - }, - { - "recorded_at": "2018-08-24T18:17:35", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Vitae+placeat+inventore+ipsum+eveniet.+Aperiam+est+placeat+molestias+quod+esse.+Debitis+nostrum+iusto+a+eius.+Modi+nihil+soluta+aspernatur+sed.%0AFacere+ratione+quaerat+pariatur+necessitatibus+facere+natus+sit.+Error+ab+et+hic+nesciunt+pariatur.+Maiores+ex+quas+odio+occaecati+hic+expedita+sint+quae.%0ADoloremque+culpa+dicta+blanditiis+molestiae+doloribus.+Saepe+laudantium+alias+error+et+consequuntur+itaque.+Id+consequuntur+culpa+voluptates+architecto+hic.&link_type=any&name=1535134655_odio&public_description=Ad+ratione+dolore+ad+porro+quia+maiores+rem+asperiores.+Nesciunt+unde+perspiciatis+adipisci+nam.&title=Quis+at+soluta+perspiciatis+amet+accusamus.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 317-Vs0AZVAYDaz_dxkF3gTOMOMUA_k" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "732" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Q3CWak180kdfa80fuT; loidcreated=2018-08-24T18%3A17%3A31.494Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:17:35 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "145" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:17:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPJFJ40CQ18CS13JGC2NK40&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 317-Vs0AZVAYDaz_dxkF3gTOMOMUA_k" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Q3CWak180kdfa80fuT; loidcreated=2018-08-24T18%3A17%3A31.494Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535134655_odio/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:17:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "142" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535134655_odio/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:17:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535134655_odio" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 316-RqzY5FXrZEO9Ms7v3SPWImT186Q" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "74" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=Q3CWak180kdfa80fuT; loidcreated=2018-08-24T18%3A17%3A31.494Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:17:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "142" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:17:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 316-RqzY5FXrZEO9Ms7v3SPWImT186Q" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=Q3CWak180kdfa80fuT; loidcreated=2018-08-24T18%3A17%3A31.494Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/subreddits/mine/subscriber/?limit=1024&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"2z\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535134655_odio\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVitae placeat inventore ipsum eveniet. Aperiam est placeat molestias quod esse. Debitis nostrum iusto a eius. Modi nihil soluta aspernatur sed.\\nFacere ratione quaerat pariatur necessitatibus facere natus sit. Error ab et hic nesciunt pariatur. Maiores ex quas odio occaecati hic expedita sint quae.\\nDoloremque culpa dicta blanditiis molestiae doloribus. Saepe laudantium alias error et consequuntur itaque. Id consequuntur culpa voluptates architecto hic.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Quis at soluta perspiciatis amet accusamus.\", \"collapse_deleted_comments\": false, \"public_description\": \"Ad ratione dolore ad porro quia maiores rem asperiores. Nesciunt unde perspiciatis adipisci nam.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAd ratione dolore ad porro quia maiores rem asperiores. Nesciunt unde perspiciatis adipisci nam.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Vitae placeat inventore ipsum eveniet. Aperiam est placeat molestias quod esse. Debitis nostrum iusto a eius. Modi nihil soluta aspernatur sed.\\nFacere ratione quaerat pariatur necessitatibus facere natus sit. Error ab et hic nesciunt pariatur. Maiores ex quas odio occaecati hic expedita sint quae.\\nDoloremque culpa dicta blanditiis molestiae doloribus. Saepe laudantium alias error et consequuntur itaque. Id consequuntur culpa voluptates architecto hic.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": null, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_2z\", \"created\": 1535134655.0, \"url\": \"/r/1535134655_odio/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535134655.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2559" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:17:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "142" - ], - "x-ratelimit-used": [ - "2" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=UV0Qrg15iYCbcZn8I9ggWgdT126vlIGbJPpmR7FZqXDXbTBDZyGxaNCk%2Foai8Jj%2B2kLr15ZApEDtPS%2BKBYYxhSXq%2BQ18Y6xr" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/subreddits/mine/subscriber/?limit=1024&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.subscribers_test.test_detail_subscriber_anonymous.json b/cassettes/channels.views.subscribers_test.test_detail_subscriber_anonymous.json deleted file mode 100644 index d641cc14d7..0000000000 --- a/cassettes/channels.views.subscribers_test.test_detail_subscriber_anonymous.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-13T22:00:21", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7HDSF9FAT27TW1ZHS1BZRJ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNLPUTTaIT3INivIuDLdwtQwNjA8J9PWLD0ozS3aLVNJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9Csc84IMgk280z2KDV1CjMtiShPNtV1MQ4P9ElLBmlKSS3LTE6Nz0wBmQzhKNUCAEJNygO6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 22:00:21 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=iQDFrde9v9TpXhflzm; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 12-Nov-2020 22:00:21 GMT", - "loidcreated=2018-11-13T22%3A00%3A21.171Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 12-Nov-2020 22:00:21 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7HDSF9FAT27TW1ZHS1BZRJ" - } - }, - { - "recorded_at": "2018-11-13T22:00:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=iQDFrde9v9TpXhflzm; loidcreated=2018-11-13T22%3A00%3A21.171Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7HDWR6VANCFBMVCB8X3A45" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NywrCMBREf6VkKQoxjRVcis+CUEGEdhPa9NbGV0petIr/bmN3LmeYc+aNcs5Ba2bkDZ5oESAyneMJpcu0IQcXHSNXnblpJa9XWQpht0bjAEHbCAWaCU+EEcZ99xMw0zXgLQXkCpTfai6HauSTgqoH6787S17F5hHfr7M4y2libXq6iO0OJ9neQyU4wYGJ0puHgD5fGfnohboAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 22:00:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW7HDWR6VANCFBMVCB8X3A45" - } - }, - { - "recorded_at": "2018-11-13T22:00:25", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Rerum+temporibus+sed+quibusdam+consectetur+quisquam+occaecati+suscipit.+Quo+tenetur+ducimus+animi+voluptate+earum+et+odio.+Reprehenderit+magni+illo+atque+impedit+nisi+incidunt.+Rerum+cum+beatae+maiores+nihil+amet+soluta.%0AAnimi+atque+qui+quos+voluptatum+repellat+nulla+aspernatur.+Quae+delectus+molestiae+neque+officiis.&link_type=any&name=1542146424_ipsam&public_description=Repudiandae+praesentium+sapiente+dolorum+ratione+sunt+eum.&title=Recusandae+quisquam+eligendi+voluptate+enim+fuga.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2169-c0_bERZKqW8E9UQ_TQMN_Rf6cFY" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "562" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=iQDFrde9v9TpXhflzm; loidcreated=2018-11-13T22%3A00%3A21.171Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Tue, 13 Nov 2018 22:00:25 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "576" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.subscribers_test.test_detail_subscriber_missing.json b/cassettes/channels.views.subscribers_test.test_detail_subscriber_missing.json deleted file mode 100644 index 7feecd89e9..0000000000 --- a/cassettes/channels.views.subscribers_test.test_detail_subscriber_missing.json +++ /dev/null @@ -1,323 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:17:41", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJFVWRX89JDWZX9FW5MX6E" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2tNCN0vUPNqyK97Q0tUy3LKvIKNbN9ww0MnD0d/NV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZ5upiXuVlG5VaU5JU4uQSkh0emVpjoBrjr+pqA9KSklmUmp8ZnpoAMhnCUagHQRZ9OuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:17:41 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=57IpseGruxbXgSBQHG; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:17:41 GMT", - "loidcreated=2018-08-24T18%3A17%3A41.477Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:17:41 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJFVWRX89JDWZX9FW5MX6E" - } - }, - { - "recorded_at": "2018-08-24T18:17:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=57IpseGruxbXgSBQHG; loidcreated=2018-08-24T18%3A17%3A41.477Z" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJFZ49RBAXF9BZBMWVQ9KX" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2tNTNNK/SjXKyNDaLNHOPDDD2Ci2v1PWrKilKCzJQ0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYVpJc5F5qZZgWVprsXlAd6err7OmZFBpdEeOaD9KSklmUmp8ZnpoAMhnCUagHQBlU8uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:17:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJFZ49RBAXF9BZBMWVQ9KX" - } - }, - { - "recorded_at": "2018-08-24T18:17:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Earum+perferendis+expedita+consectetur.+Eos+facere+voluptatibus+laudantium+alias.%0AEnim+impedit+rerum+earum.+Vel+asperiores+debitis+eligendi+aperiam.+Amet+nobis+vero+atque+harum+consectetur.+Facere+cum+quas+reiciendis+nesciunt+sequi+voluptas.%0AQuidem+impedit+voluptatum+sit+id+consectetur.+Enim+nobis+consequatur+libero+beatae+ex+consequatur+voluptatem.%0ATempora+totam+molestias+illo+perferendis+explicabo.+Possimus+rerum+voluptatum+eius+odio.+Neque+eligendi+vitae+fugiat+fugit+dolorem.&link_type=any&name=1535134665_vel&public_description=Architecto+quibusdam+cum+iste.+Minima+beatae+quod+eaque+maiores+ab+vel+qui.&title=Aliquid+earum+dolorum+architecto+adipisci.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 319-i7z-ZB936Y6GYP3JUwy-NztrfR0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "739" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=57IpseGruxbXgSBQHG; loidcreated=2018-08-24T18%3A17%3A41.477Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:17:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "135" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:17:48", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 318-Z-OS1z_I959g9vxhs-oIQ20AOFM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=57IpseGruxbXgSBQHG; loidcreated=2018-08-24T18%3A17%3A41.477Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/subreddits/mine/subscriber/?limit=1024&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "93" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:17:48 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "132" - ], - "x-ratelimit-used": [ - "1" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=NohzocDqcw3QIu3JhTHgr3eBl7JXEQIza8zA25Nv9jiRInaXxOzjhsCQ9vvihGCm8U5oWR4gwWTqTnmQAGVaIZOdqnUDrWWp" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/subreddits/mine/subscriber/?limit=1024&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.subscribers_test.test_list_subscribers.json b/cassettes/channels.views.subscribers_test.test_list_subscribers.json deleted file mode 100644 index f33bd8d65d..0000000000 --- a/cassettes/channels.views.subscribers_test.test_list_subscribers.json +++ /dev/null @@ -1,486 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T19:32:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWF04EQC40Z680Y42KD877BH" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDK0MNUtSAwKdC/38k8xNM7xzPE0c/HJCfPNMMzMyAxU0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZFeZiEeIdHevlGmbokpqQY+qfk+qdmGfqH6LqC9KSklmUmp8ZnpoAMhnCUagHPU5dhuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 04:19:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=0XNN2C5g7ooIAv81Ld; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 04:19:06 GMT", - "loidcreated=2018-11-16T04%3A19%3A06.285Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 04:19:06 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWF04EQC40Z680Y42KD877BH" - } - }, - { - "recorded_at": "2018-11-16T19:32:05", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Eligendi+optio+sunt+provident+suscipit+veniam+unde.+Repellat+saepe+id+minima+molestiae+numquam+ducimus+cum.%0ADeserunt+esse+veniam+sapiente+numquam+eveniet+illum+facilis.+Officiis+iste+quo+quod+consequuntur.+Iste+optio+veniam+eveniet+optio.%0AEsse+soluta+quae+dolorum+incidunt+sequi+molestiae.+Doloribus+delectus+officiis+molestias+ex.+Libero+cum+ea+quibusdam+asperiores.+Accusamus+laborum+cumque+nemo+ipsam+ea+corrupti+dolorum.&link_type=any&name=1542396725_sint&public_description=Perspiciatis+qui+esse+dolorem+laboriosam.&title=Quae+sapiente+dolore+beatae+suscipit.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 185-paRQGwJOd13lIlI6DLlVMh1ihiQ" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "639" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=0XNN2C5g7ooIAv81Ld; loidcreated=2018-11-16T04%3A19%3A06.285Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 04:19:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "54" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T19:32:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=0XNN2C5g7ooIAv81Ld; loidcreated=2018-11-16T04%3A19%3A06.285Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWF04N621TD888PKTEC6YVEX" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDK0MNN1rCjMTitLDTJ0zkoJrMrOMYus8kr3Nc+vykxX0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaVOzrqeodlmvq7prtlZHr6u4aVROSEeKekF5aD9KSklmUmp8ZnpoAMhnCUagHB68BruAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 04:19:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWF04N621TD888PKTEC6YVEX" - } - }, - { - "recorded_at": "2018-11-16T19:32:08", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542396725_sint" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 186-AxqkfveR1CjdQzkl6YzJgM7ozig" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "74" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=0XNN2C5g7ooIAv81Ld; loidcreated=2018-11-16T04%3A19%3A06.285Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 04:19:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "50" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-16T19:32:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=0XNN2C5g7ooIAv81Ld; loidcreated=2018-11-16T04%3A19%3A06.285Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWF04N6JXYB9RGTPVW9GG3Q3" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDK0MNf1KHDzqMx3dg2pCE4OdM92cyvPqgrTjS/I9vNU0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLblBPlWllbFJxmnVfmkZOsWxYckeoebuGdnliWD9KSklmUmp8ZnpoAMhnCUagErqEzOuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 04:19:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWF04N6JXYB9RGTPVW9GG3Q3" - } - }, - { - "recorded_at": "2018-11-16T19:32:09", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542396725_sint" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 187-HpFHyoCETxScQGkFFwjzV-_pkNI" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "74" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=0XNN2C5g7ooIAv81Ld; loidcreated=2018-11-16T04%3A19%3A06.285Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 04:19:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "50" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.subscribers_test.test_list_subscribers_allowed.json b/cassettes/channels.views.subscribers_test.test_list_subscribers_allowed.json deleted file mode 100644 index 118662e6fe..0000000000 --- a/cassettes/channels.views.subscribers_test.test_list_subscribers_allowed.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T14:53:59", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEG780363E4E12Y13GZY7GC" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNyw6CMBREf4V0aTSpwfeORBtNIHFDXDZwe4EGwqOFKjX+u1RWLudkzsybJACoNe+bEmty8sh6f1xFYQP+RgRp+mQ1FMZcaWDjre1ETpYewVcrFWouneDvKJ3Yz+f92KIbSTFRqFxXQzOjhUsKs0ks/t9GZsaD1FDGVRZVdnhEd3o5D2HHbs4RaCQgl8INz4F8vqluak64AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Thu, 15 Nov 2018 23:41:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=ptVc0D5a7HkSMYSlGA; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sat, 14-Nov-2020 23:41:00 GMT", - "loidcreated=2018-11-15T23%3A41%3A00.477Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sat, 14-Nov-2020 23:41:00 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEG780363E4E12Y13GZY7GC" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.subscribers_test.test_list_subscribers_not_allowed.json b/cassettes/channels.views.subscribers_test.test_list_subscribers_not_allowed.json deleted file mode 100644 index 9c03d5aa95..0000000000 --- a/cassettes/channels.views.subscribers_test.test_list_subscribers_not_allowed.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-22T20:25:36", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01BZJPGDK7XYJ7ME7JR56WA4ZP" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNyw6CMBREf4V0aSSp9YGwc8POxNQE0U0D5QoVQ1+gEOO/S2Hlck7mzHxQxjlYy1pZQ4MiDwV74lOdXja1VrlOQry99eXVX8XBUw9KoqWHoFfCgGXCCesdxiObfNYOCtxIDpkB47qWyxktXDJwH8Xq/60lKaXx+WDK5v0o4UiSuvNlF56q6a2Al+DAROGG54C+P01ONKe4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 22 Nov 2017 20:25:36 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=AY05AwatgzrZ0nXoaW; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 22-Nov-2019 20:25:36 GMT", - "loidcreated=2017-11-22T20%3A25%3A36.043Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 22-Nov-2019 20:25:36 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01BZJPGDK7XYJ7ME7JR56WA4ZP" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.subscribers_test.test_remove_subscriber[1].json b/cassettes/channels.views.subscribers_test.test_remove_subscriber[1].json deleted file mode 100644 index 66affa2b11..0000000000 --- a/cassettes/channels.views.subscribers_test.test_remove_subscriber[1].json +++ /dev/null @@ -1,418 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-14T14:33:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9A7SQHT52QBSTCV7BCTSBQ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NsQ6CMBRFf4W80WhSUVTYHNQmRAcTB1gabJ+holL6GsQY/10qm+O9uefcNxRSIpFwdYUPSAIIQxZP7rajQ2nmJNs85dluxad5JErD0wrGAWBntEUS2hOzBWN99xMI9zLoLWcsLFq/JVkP1cgni5ceLP/ubvvMYRWtG6Gb7TF6qlNMm2WTXRnzkMJWSxRaefMQ4PMFX4YGJLoAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:33:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=DYEMMmMb4OknhSMa3C; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 13-Nov-2020 14:33:14 GMT", - "loidcreated=2018-11-14T14%3A33%3A13.694Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 13-Nov-2020 14:33:14 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9A7SQHT52QBSTCV7BCTSBQ" - } - }, - { - "recorded_at": "2018-11-14T14:33:17", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=DYEMMmMb4OknhSMa3C; loidcreated=2018-11-14T14%3A33%3A13.694Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9A7X1G6M1VJPAASQF3WM1A" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12N0QqCMBiFX0V2GQnTJKjbGpUwqAtHdDNs/uKQpv1bmkXvnsu7Ls/hfN95k1wpsFa6pgZD1gGJ44iGO1OfnOnwbLc9VokTjG8SnR14z8k8IPBsNYKV2hOLJaVj9xNIN7TgLVfIEdBvrWqmauYTQjmC1d+dSPNw/4jk5SVTttLsOCjB79EtaTMPFdBpBVIX3jwF8vkCRCoQaroAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:33:17 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9A7X1G6M1VJPAASQF3WM1A" - } - }, - { - "recorded_at": "2018-11-14T14:33:17", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Laudantium+temporibus+numquam+similique+tempora+laboriosam+corporis+sit.+Inventore+nam+sint+provident+voluptate.+Iure+at+perspiciatis+rem+accusamus+omnis+sit.+Eius+quas+ex+dolore+corrupti+quidem+ab.%0ASimilique+maiores+ullam+sit+minus+soluta+magnam.+Molestiae+quasi+deleniti+non+facere+doloribus+suscipit.%0AQuos+culpa+perferendis+quaerat.+Eum+ad+error+possimus+numquam+quod.+Molestiae+delectus+impedit+in+nesciunt+temporibus+esse+natus+fuga.&link_type=any&name=1542205997_distinctio&public_description=Vitae+tempora+iste+repellendus+nobis+repellat+nam+illo+quisquam.&title=Recusandae+temporibus+quam+vero+quas+odio+porro.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2209-mrxsNhp4scvZKHYG8H1Z5_hpHKk" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "693" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=DYEMMmMb4OknhSMa3C; loidcreated=2018-11-14T14%3A33%3A13.694Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:33:17 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "403" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-14T14:33:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542205997_distinctio" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2210-GnkQtnvrXsDwrh4tVEMC4iUIMwM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "80" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=DYEMMmMb4OknhSMa3C; loidcreated=2018-11-14T14%3A33%3A13.694Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:33:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "400" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-14T14:33:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=unsub&api_type=json&sr_name=1542205997_distinctio" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2210-GnkQtnvrXsDwrh4tVEMC4iUIMwM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "56" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=DYEMMmMb4OknhSMa3C; loidcreated=2018-11-14T14%3A33%3A13.694Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:33:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "400" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.subscribers_test.test_remove_subscriber[2].json b/cassettes/channels.views.subscribers_test.test_remove_subscriber[2].json deleted file mode 100644 index b71dc6b5cc..0000000000 --- a/cassettes/channels.views.subscribers_test.test_remove_subscriber[2].json +++ /dev/null @@ -1,510 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-14T14:33:24", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9A83HBFD1TFGVVTM6SJQGX" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyMjTU9cn1M3Au8QhMyU2p9C028cvzMfUtTs+JqihxVdJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9Csy8vMySlN8XD01HXMSwq3sCzXLfUtC3Y19DUoBmlKSS3LTE6Nz0wBmQzhKNUCAJVpSGS6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:33:24 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=BfhQxYArBcuHHFIV6C; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 13-Nov-2020 14:33:24 GMT", - "loidcreated=2018-11-14T14%3A33%3A23.727Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 13-Nov-2020 14:33:24 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9A83HBFD1TFGVVTM6SJQGX" - } - }, - { - "recorded_at": "2018-11-14T14:33:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=BfhQxYArBcuHHFIV6C; loidcreated=2018-11-14T14%3A33%3A23.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9A86SY9SXA0070K682CE65" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NXQuCMBiF/4rsMgp0pUJ3Yh8GYdGN0s2Y8xVHpWPvCkf033N51+U5nOc5b8KFAERm+ht0ZO0RSgO6EKpNI9OEj+3Fx+A8JJu9zWOaldmKzD0Cg5IakElHLCPfH7ufgBmrwFkq4Bq026Lop2rmkoZmBNu/u0IXSYpXw606xcyUu46Hz+M9x+DgoBpeUgCTtTNPgXy+yPwkj7oAAAA=", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:33:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CW9A86SY9SXA0070K682CE65" - } - }, - { - "recorded_at": "2018-11-14T14:33:27", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Illo+inventore+nulla+accusamus+rerum+iste+maiores.+Soluta+sequi+voluptates+adipisci+vel+laudantium.+Veniam+repellendus+dolorem+expedita+perferendis+tempore+beatae+dignissimos.%0AQuasi+eligendi+delectus+animi.+Voluptates+nulla+illum+labore+occaecati+aspernatur+eius+quidem.+Accusamus+beatae+consequatur+rem+ullam+accusantium+reprehenderit+ipsam.+Doloribus+facere+quasi+placeat+vel+velit+earum.&link_type=any&name=1542206007_et&public_description=Magni+maxime+delectus+pariatur+ratione.+Eos+aut+nisi+beatae+eos.&title=Voluptatum+qui+hic+dignissimos+qui+distinctio+id.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2211-LmN0CtHQdmdyMs4NnL5MsglZxtE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "636" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=BfhQxYArBcuHHFIV6C; loidcreated=2018-11-14T14%3A33%3A23.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:33:27 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "393" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-14T14:33:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1542206007_et" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2212-cphC6tf5mER0s1PxADGyN72HXH4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "72" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=BfhQxYArBcuHHFIV6C; loidcreated=2018-11-14T14%3A33%3A23.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:33:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "390" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-14T14:33:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=unsub&api_type=json&sr_name=1542206007_et" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2212-cphC6tf5mER0s1PxADGyN72HXH4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "48" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=BfhQxYArBcuHHFIV6C; loidcreated=2018-11-14T14%3A33%3A23.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:33:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "390" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-11-14T14:33:30", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=unsub&api_type=json&sr_name=1542206007_et" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2212-cphC6tf5mER0s1PxADGyN72HXH4" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "48" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=BfhQxYArBcuHHFIV6C; loidcreated=2018-11-14T14%3A33%3A23.727Z" - ], - "User-Agent": [ - "MIT-Open: 0.52.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"message\": \"Not Found\", \"error\": 404}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "38" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Wed, 14 Nov 2018 14:33:30 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "390" - ], - "x-ratelimit-used": [ - "3" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 404, - "message": "Not Found" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views.subscribers_test.test_remove_subscriber_anonymous.json b/cassettes/channels.views.subscribers_test.test_remove_subscriber_anonymous.json deleted file mode 100644 index 09d8f10a9a..0000000000 --- a/cassettes/channels.views.subscribers_test.test_remove_subscriber_anonymous.json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-11-16T16:56:28", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEQ7GVFJT5PM7YXJ0EAMDBR" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNjHTDXBOMq7MNAzKjEj3DXbLMq8IcCk3zzUPsvB0VdJRUEqtKMgsSi2OzwTpMDYzMACKgQ2IL6ksSAWZkpSaWJRaBFJbnJwPEdIC8YpS04AaM9Cs884uLgsONAwMLY9KdjU2iPQI8HWzTLMMDiqOBGlKSS3LTE6Nz0wBmQzhKNUCAD1tNt26AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 16:56:28 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=2SX0cCQZn7h2ocbXNr; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 16:56:28 GMT", - "loidcreated=2018-11-16T16%3A56%3A28.262Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 15-Nov-2020 16:56:28 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEQ7GVFJT5PM7YXJ0EAMDBR" - } - }, - { - "recorded_at": "2018-11-16T16:56:31", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=2SX0cCQZn7h2ocbXNr; loidcreated=2018-11-16T16%3A56%3A28.262Z" - ], - "User-Agent": [ - "python-requests/2.20.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEQ7M5SQ3GK5G2DQNYJMKFW" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA12NsQ6CMBiEX4V0NJIAFWucMRYGDUkXpoaWH60EaFpE0fjuUtkc73Lfd29USgnW8qFvoEN7D0V4Q/wHOdpUNm0M95hNRX6gGITOziLfobWH4KmVAcuVI/A2CObuJ+DDpMFZBJQGjNta2S/VyiUD9Qxe/+46GtLTRVmWtMwPs1tUsTGhxLzSwkEVjEoCV5UzLwF9vuKXj5G6AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 16:56:31 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CWEQ7M5SQ3GK5G2DQNYJMKFW" - } - }, - { - "recorded_at": "2018-11-16T16:56:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Perspiciatis+adipisci+excepturi+officia+commodi.+Iste+dicta+sit+incidunt+aperiam+unde+recusandae+necessitatibus+at.+Vitae+omnis+at+inventore+qui+cumque+aliquam.+Et+rem+explicabo+rem+quis+quia+rerum+expedita.%0AOdio+illo+in+consequuntur.+Voluptates+libero+a+beatae+corrupti+maiores+debitis+quia+similique.+Ducimus+omnis+neque+commodi+ex+eligendi+sed+expedita+et.+Ad+ullam+minus+deserunt+facilis.&link_type=any&name=1542387391_consequunt&public_description=Doloremque+harum+recusandae+ad+officiis+ipsum.&title=Deleniti+vero+magnam+dolorum+voluptatum.&type=public&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 2346-PCb3yi1RiXgMSFj7xPDw7m7R8IE" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "619" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=2SX0cCQZn7h2ocbXNr; loidcreated=2018-11-16T16%3A56%3A28.262Z" - ], - "User-Agent": [ - "MIT-Open: 0.53.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 16 Nov 2018 16:56:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "208" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/channels.views_test.test_api_exception.json b/cassettes/channels.views_test.test_api_exception.json deleted file mode 100644 index fb5bbf7836..0000000000 --- a/cassettes/channels.views_test.test_api_exception.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2017-11-06T17:32:38", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=george" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0NdcNqyooqfQrdPcJzknMqMwONg5Ks3Qx9XAJyE5W0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZFRXlllQWl+RaUeAZUZpb4W5YEJTm7uef4mwSC9KSklmUmp8ZnpoAMhnCUagFMBEGquAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 06 Nov 2017 17:32:38 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=VhoGLKgWOSbKoMIz9G; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 06-Nov-2019 17:32:38 GMT", - "loidcreated=2017-11-06T17%3A32%3A38.978Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 06-Nov-2019 17:32:38 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=george" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/notifications.notifiers.comments_test.test_send_notification[False].json b/cassettes/notifications.notifiers.comments_test.test_send_notification[False].json deleted file mode 100644 index 37a03dd0fb..0000000000 --- a/cassettes/notifications.notifiers.comments_test.test_send_notification[False].json +++ /dev/null @@ -1,958 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:18:32", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJHDSYVFABBT2MGRTTXJST" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2MtJNd4rMK8ypNEgMMMnLS3HytnDMq3COCEurSjJQ0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLbFB6eYhORHGbhnheU4pvhFhIe4R5i7uxW7W4aC9KSklmUmp8ZnpoAMhnCUagF52voVuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:32 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=thfUOJfTpeQ12tOgTe; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:18:32 GMT", - "loidcreated=2018-08-24T18%3A18%3A32.589Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:18:32 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJHDSYVFABBT2MGRTTXJST" - } - }, - { - "recorded_at": "2018-08-24T18:18:33", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Cum+sint+eaque+quasi+ducimus+mollitia.+Porro+facere+culpa+sunt+et+ipsum+asperiores.%0ATempore+dolore+quae+eius+praesentium.+Nobis+nobis+non+est+asperiores+mollitia+incidunt+quas.+Officia+doloremque+rerum+qui+fugiat+corporis+repudiandae.+Reiciendis+maiores+placeat+tempore+ex+a+non.+Nobis+sapiente+impedit+exercitationem.%0AVitae+blanditiis+aperiam+molestias+iure+expedita+incidunt.+Eos+sapiente+veniam+sed.+Ipsam+unde+harum+officia.&link_type=any&name=1535134712_ut&public_description=Non+laborum+cumque+illo+similique.+Dolor+ducimus+ullam+est+illo.+Animi+ipsam+illo+modi+vel.&title=Quod+odit+dolores+excepturi+harum+suscipit.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 322-gBYnqly0aP4nndBK8AnxCXVfzb0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "698" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=thfUOJfTpeQ12tOgTe; loidcreated=2018-08-24T18%3A18%3A32.589Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:33 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "88" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:18:39", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=thfUOJfTpeQ12tOgTe; loidcreated=2018-08-24T18%3A18%3A32.589Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJHM3CJEN8DE4XRQYWTRNT" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2MtYtMfJ1qjDwMy9xNC/LscytiAzyyM7JT84vdPZV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYlFng6mxsaJ+vqmjom51e4pDnlOWUXu4RGZDiC9KSklmUmp8ZnpoAMhnCUagFGkA+XuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:39 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJHM3CJEN8DE4XRQYWTRNT" - } - }, - { - "recorded_at": "2018-08-24T18:18:39", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPJHM3CJEN8DE4XRQYWTRNT&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 322-gBYnqly0aP4nndBK8AnxCXVfzb0" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=thfUOJfTpeQ12tOgTe; loidcreated=2018-08-24T18%3A18%3A32.589Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535134712_ut/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:39 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "81" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535134712_ut/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:18:39", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535134712_ut" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 323-t2MBx0N7tA7vl9mxYRHklocoqCM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "72" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=thfUOJfTpeQ12tOgTe; loidcreated=2018-08-24T18%3A18%3A32.589Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:39 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "81" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:18:39", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535134712_ut&text=Consectetur+eaque+vero+maxime+dolore+ab.+Perspiciatis+sunt+aspernatur+sequi+iure.&title=Harum+culpa+optio+unde+quia." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 323-t2MBx0N7tA7vl9mxYRHklocoqCM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "193" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=thfUOJfTpeQ12tOgTe; loidcreated=2018-08-24T18%3A18%3A32.589Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535134712_ut/comments/4f/harum_culpa_optio_unde_quia/\", \"id\": \"4f\", \"name\": \"t3_4f\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "151" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:39 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "81" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:18:39", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 323-t2MBx0N7tA7vl9mxYRHklocoqCM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=thfUOJfTpeQ12tOgTe; loidcreated=2018-08-24T18%3A18%3A32.589Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/4f/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134712_ut\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EConsectetur eaque vero maxime dolore ab. Perspiciatis sunt aspernatur sequi iure.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Consectetur eaque vero maxime dolore ab. Perspiciatis sunt aspernatur sequi iure.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"4f\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPJHM3CJEN8DE4XRQYWTRNT\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134712_ut\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_32\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134712_ut/comments/4f/harum_culpa_optio_unde_quia/\", \"locked\": false, \"name\": \"t3_4f\", \"created\": 1535134719.0, \"url\": \"http://reddit.local/r/1535134712_ut/comments/4f/harum_culpa_optio_unde_quia/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Harum culpa optio unde quia.\", \"created_utc\": 1535134719.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1698" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:39 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "81" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=DWk0jQfRaYUkxQX2R04%2BMfFUJMxHqLDy%2B2pD98U%2FdNjUO1sFNBaFft%2B9f4F3A7bO8b7VmR5hlgORhRtXb1Cp3DG9UNgSG5gi" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/4f/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:18:42", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Amet+quod+velit+amet+beatae+suscipit.+Labore+maxime+at+omnis+tenetur.&thing_id=t3_4f" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 323-t2MBx0N7tA7vl9mxYRHklocoqCM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "103" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=thfUOJfTpeQ12tOgTe; loidcreated=2018-08-24T18%3A18%3A32.589Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_32\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_4f\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3j\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CNPJHM3CJEN8DE4XRQYWTRNT\", \"parent_id\": \"t3_4f\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Amet quod velit amet beatae suscipit. Labore maxime at omnis tenetur.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAmet quod velit amet beatae suscipit. Labore maxime at omnis tenetur.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134712_ut\", \"score_hidden\": false, \"name\": \"t1_3j\", \"created\": 1535134722.0, \"author_flair_text\": null, \"created_utc\": 1535134722.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "937" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:42 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "78" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:18:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 323-t2MBx0N7tA7vl9mxYRHklocoqCM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=thfUOJfTpeQ12tOgTe; loidcreated=2018-08-24T18%3A18%3A32.589Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_3j&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_32\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_4f\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3j\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CNPJHM3CJEN8DE4XRQYWTRNT\", \"parent_id\": \"t3_4f\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Amet quod velit amet beatae suscipit. Labore maxime at omnis tenetur.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAmet quod velit amet beatae suscipit. Labore maxime at omnis tenetur.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134712_ut\", \"score_hidden\": false, \"name\": \"t1_3j\", \"created\": 1535134722.0, \"author_flair_text\": null, \"created_utc\": 1535134722.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "982" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "75" - ], - "x-ratelimit-used": [ - "5" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=NvnPf45YeIOr96ef%2BhYpXcbzSj59BqeEH0Mclgti709s41sNKYgPlOm2js5UPnWzmfS52OzAdb4%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_3j&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:18:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 323-t2MBx0N7tA7vl9mxYRHklocoqCM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=thfUOJfTpeQ12tOgTe; loidcreated=2018-08-24T18%3A18%3A32.589Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/4f/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134712_ut\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EConsectetur eaque vero maxime dolore ab. Perspiciatis sunt aspernatur sequi iure.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Consectetur eaque vero maxime dolore ab. Perspiciatis sunt aspernatur sequi iure.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"4f\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPJHM3CJEN8DE4XRQYWTRNT\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134712_ut\", \"hidden\": false, \"num_comments\": 1, \"thumbnail\": \"\", \"subreddit_id\": \"t5_32\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134712_ut/comments/4f/harum_culpa_optio_unde_quia/\", \"locked\": false, \"name\": \"t3_4f\", \"created\": 1535134719.0, \"url\": \"http://reddit.local/r/1535134712_ut/comments/4f/harum_culpa_optio_unde_quia/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Harum culpa optio unde quia.\", \"created_utc\": 1535134719.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_32\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_4f\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3j\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CNPJHM3CJEN8DE4XRQYWTRNT\", \"parent_id\": \"t3_4f\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Amet quod velit amet beatae suscipit. Labore maxime at omnis tenetur.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EAmet quod velit amet beatae suscipit. Labore maxime at omnis tenetur.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134712_ut\", \"score_hidden\": false, \"name\": \"t1_3j\", \"created\": 1535134722.0, \"author_flair_text\": null, \"created_utc\": 1535134722.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2587" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "75" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=aKNl3GsHE2Gxiu4XRIZqbzU%2FicCiITSR6%2F9ddb06tcHqouPnXRbFEkLWXIx%2FIuyQ0qHkYvnH1ZvWq5Pum71GC6%2Bc7YKYhow6" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/4f/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:18:45", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 323-t2MBx0N7tA7vl9mxYRHklocoqCM" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=thfUOJfTpeQ12tOgTe; loidcreated=2018-08-24T18%3A18%3A32.589Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535134712_ut/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"32\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535134712_ut\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ECum sint eaque quasi ducimus mollitia. Porro facere culpa sunt et ipsum asperiores.\\nTempore dolore quae eius praesentium. Nobis nobis non est asperiores mollitia incidunt quas. Officia doloremque rerum qui fugiat corporis repudiandae. Reiciendis maiores placeat tempore ex a non. Nobis sapiente impedit exercitationem.\\nVitae blanditiis aperiam molestias iure expedita incidunt. Eos sapiente veniam sed. Ipsam unde harum officia.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Quod odit dolores excepturi harum suscipit.\", \"collapse_deleted_comments\": false, \"public_description\": \"Non laborum cumque illo similique. Dolor ducimus ullam est illo. Animi ipsam illo modi vel.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ENon laborum cumque illo similique. Dolor ducimus ullam est illo. Animi ipsam illo modi vel.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Cum sint eaque quasi ducimus mollitia. Porro facere culpa sunt et ipsum asperiores.\\nTempore dolore quae eius praesentium. Nobis nobis non est asperiores mollitia incidunt quas. Officia doloremque rerum qui fugiat corporis repudiandae. Reiciendis maiores placeat tempore ex a non. Nobis sapiente impedit exercitationem.\\nVitae blanditiis aperiam molestias iure expedita incidunt. Eos sapiente veniam sed. Ipsam unde harum officia.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 1, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_32\", \"created\": 1535134712.0, \"url\": \"/r/1535134712_ut/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535134712.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2395" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:45 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "75" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=r0LxvXIv4Lw3x2RVWjx%2B9xOqxgdie10SIuppy12bbluVqjzaxwtdT5e68%2FFljAjnWMSDzsw4BpO4auSnFkUjw1TuI%2F%2FrStu2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535134712_ut/about/?raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/notifications.notifiers.comments_test.test_send_notification[True].json b/cassettes/notifications.notifiers.comments_test.test_send_notification[True].json deleted file mode 100644 index 8506ac02c5..0000000000 --- a/cassettes/notifications.notifiers.comments_test.test_send_notification[True].json +++ /dev/null @@ -1,1139 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-24T18:18:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJGTPKPHX5RTX7V6FFHS7F" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WNUQuCMACE/4rsMQrWBhm9BQ0LMooKqZdh88QRpWxL1Oi/5/Kpx/u47+5NUqVgrXTlHU+yCAhndLJ8OJagUGG01Uyca8RHk8sa11NMxgFBU2kDK7UX+IzSnv186doKfuSG1MD4rlXlgEY+GeS9WPy/rVk7Zw2n4SbqDtNLsn/tOlFUrFwJ72SotYLUmR8eAvl8AXRdlHa4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=kJiMkzmIWDXcXioSgL; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:18:13 GMT", - "loidcreated=2018-08-24T18%3A18%3A13.027Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 23-Aug-2020 18:18:13 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJGTPKPHX5RTX7V6FFHS7F" - } - }, - { - "recorded_at": "2018-08-24T18:18:13", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Vel+consectetur+nemo+amet+nemo+nisi+nostrum.+Veritatis+officia+nulla+voluptate+voluptatem+adipisci+molestias.+Enim+molestiae+porro+dolorum+exercitationem.+Mollitia+placeat+recusandae+eaque+rerum+cupiditate+quo+deleniti+sed.+Reiciendis+inventore+nostrum+repellat+placeat+sit.%0AFuga+debitis+eius+fugiat+molestiae.+Perspiciatis+dolores+deleniti+corporis+minus+beatae+eveniet.%0ADolorem+vitae+ducimus+at+aliquid+ut+quisquam+ipsam+deleniti.+Esse+odio+totam+totam+ipsa.&link_type=any&name=1535134693_delectus&public_description=Eveniet+fugit+neque+dolorum+unde.+Maxime+quam+ullam+excepturi+sint+distinctio+deleniti.&title=Molestiae+omnis+saepe+dolor+consectetur.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 320-Amt2Wehc7GLi2EUveMSrf_veZTM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "729" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=kJiMkzmIWDXcXioSgL; loidcreated=2018-08-24T18%3A18%3A13.027Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:13 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "107" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:18:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=kJiMkzmIWDXcXioSgL; loidcreated=2018-08-24T18%3A18%3A13.027Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJH103W906X220J9GHBREV" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2MtR1L6msigrQDc82CC1ONk31Kso0LDPONwxyd01W0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYluTr5hRUYVThmJeZGGVum+hgZFGflhCS7ZHqC9KSklmUmp8ZnpoAMhnCUagFD+zsTuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CNPJH103W906X220J9GHBREV" - } - }, - { - "recorded_at": "2018-08-24T18:18:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01CNPJH103W906X220J9GHBREV&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 320-Amt2Wehc7GLi2EUveMSrf_veZTM" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=kJiMkzmIWDXcXioSgL; loidcreated=2018-08-24T18%3A18%3A13.027Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1535134693_delectus/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "101" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535134693_delectus/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:18:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1535134693_delectus" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 321-GtyzZP-Wk0Usc5eJri1v3o1RGEc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "78" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=kJiMkzmIWDXcXioSgL; loidcreated=2018-08-24T18%3A18%3A13.027Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "101" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:18:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1535134693_delectus&text=Repellendus+excepturi+voluptatum+qui.+Perferendis+molestias+debitis+voluptatem+corrupti.&title=Velit+rem+amet+maiores+quam+dolores." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 321-GtyzZP-Wk0Usc5eJri1v3o1RGEc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "214" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=kJiMkzmIWDXcXioSgL; loidcreated=2018-08-24T18%3A18%3A13.027Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1535134693_delectus/comments/4e/velit_rem_amet_maiores_quam_dolores/\", \"id\": \"4e\", \"name\": \"t3_4e\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "165" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "101" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:18:20", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 321-GtyzZP-Wk0Usc5eJri1v3o1RGEc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=kJiMkzmIWDXcXioSgL; loidcreated=2018-08-24T18%3A18%3A13.027Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/4e/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134693_delectus\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ERepellendus excepturi voluptatum qui. Perferendis molestias debitis voluptatem corrupti.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Repellendus excepturi voluptatum qui. Perferendis molestias debitis voluptatem corrupti.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"4e\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPJH103W906X220J9GHBREV\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134693_delectus\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_31\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134693_delectus/comments/4e/velit_rem_amet_maiores_quam_dolores/\", \"locked\": false, \"name\": \"t3_4e\", \"created\": 1535134699.0, \"url\": \"http://reddit.local/r/1535134693_delectus/comments/4e/velit_rem_amet_maiores_quam_dolores/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Velit rem amet maiores quam dolores.\", \"created_utc\": 1535134699.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1760" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:20 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "100" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Prlhe1yEVbTwOpxIW99WvSbGEXdgkXw0eQKyVp%2FlCELWI6nC3WqowEQiaKfVC1cCJGy4rDERrRZuETE%2FBA300Cjsi3gg6MjV" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/4e/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:18:23", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Eveniet+ipsa+architecto+non.+Omnis+voluptate+enim+perspiciatis+animi.&thing_id=t3_4e" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 321-GtyzZP-Wk0Usc5eJri1v3o1RGEc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "103" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=kJiMkzmIWDXcXioSgL; loidcreated=2018-08-24T18%3A18%3A13.027Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_31\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_4e\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3h\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CNPJH103W906X220J9GHBREV\", \"parent_id\": \"t3_4e\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Eveniet ipsa architecto non. Omnis voluptate enim perspiciatis animi.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEveniet ipsa architecto non. Omnis voluptate enim perspiciatis animi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134693_delectus\", \"score_hidden\": false, \"name\": \"t1_3h\", \"created\": 1535134703.0, \"author_flair_text\": null, \"created_utc\": 1535134703.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "943" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:23 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "97" - ], - "x-ratelimit-used": [ - "4" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:18:26", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&text=Unde+totam+molestiae+iure.+Tempora+deleniti+veritatis+dolore+cupiditate.&thing_id=t1_3h" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 321-GtyzZP-Wk0Usc5eJri1v3o1RGEc" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "106" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=kJiMkzmIWDXcXioSgL; loidcreated=2018-08-24T18%3A18%3A13.027Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/comment/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"things\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_31\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_4e\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3i\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CNPJH103W906X220J9GHBREV\", \"parent_id\": \"t1_3h\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Unde totam molestiae iure. Tempora deleniti veritatis dolore cupiditate.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EUnde totam molestiae iure. Tempora deleniti veritatis dolore cupiditate.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134693_delectus\", \"score_hidden\": false, \"name\": \"t1_3i\", \"created\": 1535134706.0, \"author_flair_text\": null, \"created_utc\": 1535134706.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}]}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "949" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:26 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "295.0" - ], - "x-ratelimit-reset": [ - "94" - ], - "x-ratelimit-used": [ - "5" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/comment/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:18:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 321-GtyzZP-Wk0Usc5eJri1v3o1RGEc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=kJiMkzmIWDXcXioSgL; loidcreated=2018-08-24T18%3A18%3A13.027Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_3i&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_31\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_4e\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3i\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CNPJH103W906X220J9GHBREV\", \"parent_id\": \"t1_3h\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Unde totam molestiae iure. Tempora deleniti veritatis dolore cupiditate.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EUnde totam molestiae iure. Tempora deleniti veritatis dolore cupiditate.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134693_delectus\", \"score_hidden\": false, \"name\": \"t1_3i\", \"created\": 1535134706.0, \"author_flair_text\": null, \"created_utc\": 1535134706.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "994" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "294.0" - ], - "x-ratelimit-reset": [ - "91" - ], - "x-ratelimit-used": [ - "6" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=3v7mYuu%2FYdcJf5YWB04jvXSHyeoKs%2BNAgNcuWy5DRqLlRylp6hy5BsuVXb4oj7pXS6WYwqtK5as%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_3i&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:18:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 321-GtyzZP-Wk0Usc5eJri1v3o1RGEc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=kJiMkzmIWDXcXioSgL; loidcreated=2018-08-24T18%3A18%3A13.027Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/4e/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1535134693_delectus\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003ERepellendus excepturi voluptatum qui. Perferendis molestias debitis voluptatem corrupti.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Repellendus excepturi voluptatum qui. Perferendis molestias debitis voluptatem corrupti.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"4e\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01CNPJH103W906X220J9GHBREV\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1535134693_delectus\", \"hidden\": false, \"num_comments\": 2, \"thumbnail\": \"\", \"subreddit_id\": \"t5_31\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1535134693_delectus/comments/4e/velit_rem_amet_maiores_quam_dolores/\", \"locked\": false, \"name\": \"t3_4e\", \"created\": 1535134699.0, \"url\": \"http://reddit.local/r/1535134693_delectus/comments/4e/velit_rem_amet_maiores_quam_dolores/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Velit rem amet maiores quam dolores.\", \"created_utc\": 1535134699.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_31\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_4e\", \"likes\": true, \"replies\": {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_31\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_4e\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3i\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CNPJH103W906X220J9GHBREV\", \"parent_id\": \"t1_3h\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Unde totam molestiae iure. Tempora deleniti veritatis dolore cupiditate.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EUnde totam molestiae iure. Tempora deleniti veritatis dolore cupiditate.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134693_delectus\", \"score_hidden\": false, \"name\": \"t1_3i\", \"created\": 1535134706.0, \"author_flair_text\": null, \"created_utc\": 1535134706.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, \"user_reports\": [], \"saved\": false, \"id\": \"3h\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CNPJH103W906X220J9GHBREV\", \"parent_id\": \"t3_4e\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Eveniet ipsa architecto non. Omnis voluptate enim perspiciatis animi.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEveniet ipsa architecto non. Omnis voluptate enim perspiciatis animi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134693_delectus\", \"score_hidden\": false, \"name\": \"t1_3h\", \"created\": 1535134703.0, \"author_flair_text\": null, \"created_utc\": 1535134703.0, \"ups\": 1, \"mod_reports\": [], \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "3647" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "293.0" - ], - "x-ratelimit-reset": [ - "91" - ], - "x-ratelimit-used": [ - "7" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=Y0F%2BzZEJYPl%2B94%2ForyabqhOi20mYDhDUbItTGTWpSFx1bZ3RVKH9yO1M2FtMS4X8fkKiqhYq%2BXJgwd1%2BSO1n2kAMCaQht9as" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/4e/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:18:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 321-GtyzZP-Wk0Usc5eJri1v3o1RGEc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=kJiMkzmIWDXcXioSgL; loidcreated=2018-08-24T18%3A18%3A13.027Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/r/1535134693_delectus/about/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"t5\", \"data\": {\"banner_img\": \"\", \"submit_text_html\": null, \"user_is_banned\": false, \"wiki_enabled\": false, \"show_media\": false, \"id\": \"31\", \"user_is_contributor\": true, \"submit_text\": \"\", \"display_name\": \"1535134693_delectus\", \"header_img\": null, \"description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EVel consectetur nemo amet nemo nisi nostrum. Veritatis officia nulla voluptate voluptatem adipisci molestias. Enim molestiae porro dolorum exercitationem. Mollitia placeat recusandae eaque rerum cupiditate quo deleniti sed. Reiciendis inventore nostrum repellat placeat sit.\\nFuga debitis eius fugiat molestiae. Perspiciatis dolores deleniti corporis minus beatae eveniet.\\nDolorem vitae ducimus at aliquid ut quisquam ipsam deleniti. Esse odio totam totam ipsa.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"title\": \"Molestiae omnis saepe dolor consectetur.\", \"collapse_deleted_comments\": false, \"public_description\": \"Eveniet fugit neque dolorum unde. Maxime quam ullam excepturi sint distinctio deleniti.\", \"over18\": false, \"public_description_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEveniet fugit neque dolorum unde. Maxime quam ullam excepturi sint distinctio deleniti.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"community_rules\": [], \"icon_size\": null, \"suggested_comment_sort\": null, \"icon_img\": \"\", \"header_title\": null, \"description\": \"Vel consectetur nemo amet nemo nisi nostrum. Veritatis officia nulla voluptate voluptatem adipisci molestias. Enim molestiae porro dolorum exercitationem. Mollitia placeat recusandae eaque rerum cupiditate quo deleniti sed. Reiciendis inventore nostrum repellat placeat sit.\\nFuga debitis eius fugiat molestiae. Perspiciatis dolores deleniti corporis minus beatae eveniet.\\nDolorem vitae ducimus at aliquid ut quisquam ipsam deleniti. Esse odio totam totam ipsa.\", \"user_is_muted\": false, \"submit_link_label\": null, \"accounts_active\": 6, \"public_traffic\": false, \"header_size\": null, \"subscribers\": 2, \"submit_text_label\": null, \"lang\": \"en\", \"name\": \"t5_31\", \"created\": 1535134693.0, \"url\": \"/r/1535134693_delectus/\", \"quarantine\": false, \"hide_ads\": false, \"created_utc\": 1535134693.0, \"banner_size\": null, \"user_is_moderator\": false, \"user_sr_theme_enabled\": true, \"show_media_preview\": true, \"comment_score_hide_mins\": 0, \"subreddit_type\": \"private\", \"submission_type\": \"any\", \"user_is_subscriber\": true}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2460" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "292.0" - ], - "x-ratelimit-reset": [ - "91" - ], - "x-ratelimit-used": [ - "8" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=b%2Fvh9VuZ61oVoga2TREhVM0aYVhsFLKUNtEa3IN9PR%2BTrgjvZ3htum0%2Bhwu2HFNAb78yr3OHb1B5dBiH8CtBl2QguRYEOqCx" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1535134693_delectus/about/?raw_json=1" - } - }, - { - "recorded_at": "2018-08-24T18:18:29", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 321-GtyzZP-Wk0Usc5eJri1v3o1RGEc" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=kJiMkzmIWDXcXioSgL; loidcreated=2018-08-24T18%3A18%3A13.027Z" - ], - "User-Agent": [ - "MIT-Open: 0.42.0 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/info/?id=t1_3h&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t1\", \"data\": {\"subreddit_id\": \"t5_31\", \"banned_by\": null, \"removal_reason\": null, \"link_id\": \"t3_4e\", \"likes\": true, \"replies\": \"\", \"user_reports\": [], \"saved\": false, \"id\": \"3h\", \"gilded\": 0, \"archived\": false, \"report_reasons\": null, \"author\": \"01CNPJH103W906X220J9GHBREV\", \"parent_id\": \"t3_4e\", \"score\": 1, \"approved_by\": null, \"controversiality\": 0, \"body\": \"Eveniet ipsa architecto non. Omnis voluptate enim perspiciatis animi.\", \"edited\": false, \"author_flair_css_class\": null, \"downs\": 0, \"body_html\": \"\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EEveniet ipsa architecto non. Omnis voluptate enim perspiciatis animi.\\u003C/p\\u003E\\n\\u003C/div\\u003E\", \"subreddit\": \"1535134693_delectus\", \"score_hidden\": false, \"name\": \"t1_3h\", \"created\": 1535134703.0, \"author_flair_text\": null, \"created_utc\": 1535134703.0, \"distinguished\": null, \"mod_reports\": [], \"num_reports\": null, \"ups\": 1}}], \"after\": null, \"before\": null}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "988" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Fri, 24 Aug 2018 18:18:29 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "291.0" - ], - "x-ratelimit-reset": [ - "91" - ], - "x-ratelimit-used": [ - "9" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=4qvADWGrwBLudBI088ktooTuZJWPURXPpw0J8pLxUqzMr153%2FR4dQAJe7sSPAeCiFhVNxMWGrJY%3D" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/info/?id=t1_3h&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/notifications.notifiers.moderator_posts_test.test_send_notification.json b/cassettes/notifications.notifiers.moderator_posts_test.test_send_notification.json deleted file mode 100644 index 6b2ca70485..0000000000 --- a/cassettes/notifications.notifiers.moderator_posts_test.test_send_notification.json +++ /dev/null @@ -1,688 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2020-11-16T14:04:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.24.0" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EQ8NX4C1HWYMFQFKT949BPET" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0stB1Ca2y9PIIy3CJN0m1yPHy9aywqHQO8c32zQ5V0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLY5pZYlhnt6l/mG+1t6pFuml6X5eFv4+4Vnm+eD9KSklmUmp8ZnpoAMhnCUagGAsz8ruAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 16 Nov 2020 14:04:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=umL5IDlgsdzoC3WTX4; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 16-Nov-2022 14:04:00 GMT", - "loidcreated=2020-11-16T14%3A04%3A00.207Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Wed, 16-Nov-2022 14:04:00 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EQ8NX4C1HWYMFQFKT949BPET" - } - }, - { - "recorded_at": "2020-11-16T14:04:00", - "request": { - "body": { - "encoding": "utf-8", - "string": "allow_top=True&api_type=json&description=Thus+risk+example+west+area+Mrs.+Guess+rest+message.+Develop+woman+security+still+chance+huge.%0ARemain+late+development+keep+far+thought.+Design+form+letter+somebody+discussion.+At+small+account+edge+magazine+own.%0AAll+day+foreign+once+foot+lot.+Be+chance+result.+Onto+visit+big+produce.%0ABefore+leave+continue+reason+discuss+city+day.+Cell+grow+environment+course+personal+act.+Detail+nice+teacher+set+hold.%0ARecent+try+word+open.+Test+per+staff+situation+whole+rate.&link_type=any&name=1605535440_0_result&public_description=The+assume+beautiful+state+research+brother.&title=Mission+college+nearly+work.&type=private&wikimode=disabled" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 128-DUz9JHVhD_4e8lJMIx8yCTMkMkU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "682" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=umL5IDlgsdzoC3WTX4; loidcreated=2020-11-16T14%3A04%3A00.207Z" - ], - "User-Agent": [ - "MIT-Open: 0.149.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/site_admin/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 16 Nov 2020 14:04:00 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "360" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/site_admin/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-16T14:04:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=umL5IDlgsdzoC3WTX4; loidcreated=2020-11-16T14%3A04%3A00.207Z" - ], - "User-Agent": [ - "MIT-Open: 0.149.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01EQ8NXAQS3AZF79GKMKQ29QJZ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI0stR1NcsOKo5IzQ+NzAsvyDQNd0n29Y/PdPZJzChW0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYZmxSnFgZbVGW65Yd5BuQkGYSXuzqVJxa4ugaC9KSklmUmp8ZnpoAMhnCUagGG2QPbuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Mon, 16 Nov 2020 14:04:06 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01EQ8NXAQS3AZF79GKMKQ29QJZ" - } - }, - { - "recorded_at": "2020-11-16T14:04:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&name=01EQ8NXAQS3AZF79GKMKQ29QJZ&type=contributor" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 128-DUz9JHVhD_4e8lJMIx8yCTMkMkU" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "62" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=umL5IDlgsdzoC3WTX4; loidcreated=2020-11-16T14%3A04%3A00.207Z" - ], - "User-Agent": [ - "MIT-Open: 0.149.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/r/1605535440_0_result/api/friend/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": []}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "24" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 16 Nov 2020 14:04:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "353" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/r/1605535440_0_result/api/friend/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-16T14:04:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "action=sub&api_type=json&skip_inital_defaults=True&sr_name=1605535440_0_result" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 129-E6kRsXeoUYnWpi5WDcMO_iCLahs" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "78" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=umL5IDlgsdzoC3WTX4; loidcreated=2020-11-16T14%3A04%3A00.207Z" - ], - "User-Agent": [ - "MIT-Open: 0.149.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/subscribe/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "2" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 16 Nov 2020 14:04:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "299.0" - ], - "x-ratelimit-reset": [ - "353" - ], - "x-ratelimit-used": [ - "1" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/subscribe/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-16T14:04:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "api_type=json&kind=self&resubmit=True&sendreplies=True&sr=1605535440_0_result&text=Pull+leader+whom+include+also.+Source+event+success+else+training+laugh+ball+summer.&title=Minute+black+difficult+walk+different." - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 129-E6kRsXeoUYnWpi5WDcMO_iCLahs" - ], - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "212" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Cookie": [ - "loid=umL5IDlgsdzoC3WTX4; loidcreated=2020-11-16T14%3A04%3A00.207Z" - ], - "User-Agent": [ - "MIT-Open: 0.149.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "POST", - "uri": "https://reddit.local/api/submit/?raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "{\"json\": {\"errors\": [], \"data\": {\"url\": \"https://reddit.local/r/1605535440_0_result/comments/2q/minute_black_difficult_walk_different/\", \"id\": \"2q\", \"name\": \"t3_2q\"}}}" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "167" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 16 Nov 2020 14:04:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "298.0" - ], - "x-ratelimit-reset": [ - "353" - ], - "x-ratelimit-used": [ - "2" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/submit/?raw_json=1" - } - }, - { - "recorded_at": "2020-11-16T14:04:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 129-E6kRsXeoUYnWpi5WDcMO_iCLahs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=umL5IDlgsdzoC3WTX4; loidcreated=2020-11-16T14%3A04%3A00.207Z" - ], - "User-Agent": [ - "MIT-Open: 0.149.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/2q/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1605535440_0_result\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPull leader whom include also. Source event success else training laugh ball summer.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Pull leader whom include also. Source event success else training laugh ball summer.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"2q\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EQ8NXAQS3AZF79GKMKQ29QJZ\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1605535440_0_result\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_14\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1605535440_0_result/comments/2q/minute_black_difficult_walk_different/\", \"locked\": false, \"name\": \"t3_2q\", \"created\": 1605535447.0, \"url\": \"http://reddit.local/r/1605535440_0_result/comments/2q/minute_black_difficult_walk_different/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Minute black difficult walk different.\", \"created_utc\": 1605535447.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1758" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 16 Nov 2020 14:04:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "297.0" - ], - "x-ratelimit-reset": [ - "353" - ], - "x-ratelimit-used": [ - "3" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=lZWMOuZDad0ifa2lGMMeCGlE%2BYilSCQX%2FB88yRAnlKTanaMwgpJ1kUc%2Bufp59ky6kFLXpTLvQfwYqD1QcJY5fnHSAOkj0ayd" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/2q/?limit=2048&sort=best&raw_json=1" - } - }, - { - "recorded_at": "2020-11-16T14:04:10", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Authorization": [ - "bearer 129-E6kRsXeoUYnWpi5WDcMO_iCLahs" - ], - "Connection": [ - "keep-alive" - ], - "Cookie": [ - "loid=umL5IDlgsdzoC3WTX4; loidcreated=2020-11-16T14%3A04%3A00.207Z" - ], - "User-Agent": [ - "MIT-Open: 0.149.1 PRAW/4.5.1 prawcore/0.10.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/comments/2q/?limit=2048&sort=best&raw_json=1" - }, - "response": { - "body": { - "encoding": "UTF-8", - "string": "[{\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [{\"kind\": \"t3\", \"data\": {\"contest_mode\": false, \"banned_by\": null, \"media_embed\": {}, \"subreddit\": \"1605535440_0_result\", \"selftext_html\": \"\\u003C!-- SC_OFF --\\u003E\\u003Cdiv class=\\\"md\\\"\\u003E\\u003Cp\\u003EPull leader whom include also. Source event success else training laugh ball summer.\\u003C/p\\u003E\\n\\u003C/div\\u003E\\u003C!-- SC_ON --\\u003E\", \"selftext\": \"Pull leader whom include also. Source event success else training laugh ball summer.\", \"likes\": true, \"suggested_sort\": null, \"user_reports\": [], \"secure_media\": null, \"saved\": false, \"id\": \"2q\", \"gilded\": 0, \"secure_media_embed\": {}, \"clicked\": false, \"report_reasons\": null, \"author\": \"01EQ8NXAQS3AZF79GKMKQ29QJZ\", \"media\": null, \"score\": 1, \"approved_by\": null, \"over_18\": false, \"domain\": \"self.1605535440_0_result\", \"hidden\": false, \"num_comments\": 0, \"thumbnail\": \"\", \"subreddit_id\": \"t5_14\", \"edited\": false, \"link_flair_css_class\": null, \"author_flair_css_class\": null, \"downs\": 0, \"archived\": false, \"removal_reason\": null, \"stickied\": false, \"is_self\": true, \"hide_score\": false, \"permalink\": \"/r/1605535440_0_result/comments/2q/minute_black_difficult_walk_different/\", \"locked\": false, \"name\": \"t3_2q\", \"created\": 1605535447.0, \"url\": \"http://reddit.local/r/1605535440_0_result/comments/2q/minute_black_difficult_walk_different/\", \"author_flair_text\": null, \"quarantine\": false, \"title\": \"Minute black difficult walk different.\", \"created_utc\": 1605535447.0, \"link_flair_text\": null, \"ups\": 1, \"upvote_ratio\": 1.0, \"mod_reports\": [], \"visited\": false, \"num_reports\": null, \"distinguished\": null}}], \"after\": null, \"before\": null}}, {\"kind\": \"Listing\", \"data\": {\"modhash\": null, \"children\": [], \"after\": null, \"before\": null}}]" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Length": [ - "1758" - ], - "Content-Type": [ - "application/json; charset=UTF-8" - ], - "Date": [ - "Mon, 16 Nov 2020 14:04:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "cache-control": [ - "private, s-maxage=0, max-age=0, must-revalidate" - ], - "expires": [ - "-1" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-ratelimit-remaining": [ - "296.0" - ], - "x-ratelimit-reset": [ - "350" - ], - "x-ratelimit-used": [ - "4" - ], - "x-reddit-tracking": [ - "https://reddit.local/pixel/of_destiny.png?v=RixtQtspTALHj7pQMCpG%2BmxOXZjcDKJRYkh%2Ffovpbe3yuQCqVgssijWTs6JC8yr5YJkXPw8zPlLrwRAEp0tqNhqMT%2BTQGfaB" - ], - "x-ua-compatible": [ - "IE=edge" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/comments/2q/?limit=2048&sort=best&raw_json=1" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/channels/__init__.py b/channels/__init__.py deleted file mode 100644 index 3b55ddd07f..0000000000 --- a/channels/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -# pylint: disable=missing-docstring,invalid-name -default_app_config = "channels.apps.ChannelsConfig" diff --git a/channels/admin.py b/channels/admin.py deleted file mode 100644 index 6d8a43b23e..0000000000 --- a/channels/admin.py +++ /dev/null @@ -1,149 +0,0 @@ -""" Admin for channels """ -from django.contrib import admin -from django.contrib.postgres import fields -from django_json_widget.widgets import JSONEditorWidget - -from channels.models import ( - Channel, - ChannelInvitation, - ChannelMembershipConfig, - SpamCheckResult, -) -from channels.constants import POST_TYPE -from open_discussions.utils import get_field_names - - -class ChannelAdmin(admin.ModelAdmin): - """Customized Channel admin model""" - - model = Channel - exclude = ("banner", "avatar", "widget_list", "allowed_post_types") - search_fields = ("name",) - readonly_fields = ("name",) - list_filter = ("ga_tracking_id",) - - def has_add_permission(self, request): - return False - - -admin.site.register(Channel, ChannelAdmin) - - -class ChannelInvitationAdmin(admin.ModelAdmin): - """Customized ChannelInvitation admin model""" - - model = ChannelInvitation - search_fields = ("email", "user__email", "inviter__email") - - def has_change_permission(self, request, obj=None): - return False - - -admin.site.register(ChannelInvitation, ChannelInvitationAdmin) - - -class ChannelMembershipConfigAdmin(admin.ModelAdmin): - """Admin for ChannelMembershipConfig""" - - model = ChannelMembershipConfig - - formfield_overrides = { - fields.JSONField: { - "widget": JSONEditorWidget( - options={ - "mode": "tree", - "schema": { - "type": "object", - "properties": { - "email__iendswith": {"type": "string"}, - "social_auth_provider": { - "type": "array", - "items": { - "type": "string", - "enum": ["saml", "micromasters"], - }, - "minItems": 1, - }, - "moira_lists": { - "type": "array", - "items": {"type": "string"}, - "minItems": 0, - }, - }, - "minProperties": 1, - "additionalProperties": False, - }, - "templates": [ - { - "text": "Email suffix", - "title": "Email suffix", - "field": "email__endswith", - "value": "@example.com", - }, - { - "text": "Social Auth", - "title": "Social Auth", - "field": "social_auth_provider", - "value": [""], - }, - { - "text": "Moira Lists", - "title": "Moira Lists", - "field": "moira_lists", - "value": [""], - }, - ], - } - ) - } - } - - -admin.site.register(ChannelMembershipConfig, ChannelMembershipConfigAdmin) - - -class SpamCheckResultAdmin(admin.ModelAdmin): - """Customized SpamCheckResult admin model""" - - model = SpamCheckResult - search_fields = ("object_id", "user_ip") - list_filter = ("content_type", "is_spam") - list_display = ( - "content_type", - "object_id", - "user_ip", - "is_spam", - "title", - "truncated_text", - "author", - ) - readonly_fields = get_field_names(SpamCheckResult) + ["title", "text", "author"] - - def has_add_permission(self, request): - return False - - def title(self, spam_check): - """Title of spam checked post""" - if spam_check.content_type.name == POST_TYPE: - return spam_check.content_object.title - else: - return None - - def text(self, spam_check): - """Text of spam checked post or comment""" - - return spam_check.content_object.text - - def truncated_text(self, spam_check): - """Truncated text of spam checked post or comment""" - if spam_check.content_object.text: - return spam_check.content_object.text[0:350] - else: - return "" - - def author(self, spam_check): - """Email text of spam checked post or comment author""" - return spam_check.content_object.author.email - - -admin.site.register(SpamCheckResult, SpamCheckResultAdmin) diff --git a/channels/api.py b/channels/api.py deleted file mode 100644 index 139ec02bb2..0000000000 --- a/channels/api.py +++ /dev/null @@ -1,1793 +0,0 @@ -"""Channels APIs""" -# pylint: disable=too-many-public-methods, too-many-lines -import logging -import operator -from datetime import datetime, timedelta, timezone -from functools import reduce, partialmethod -from urllib.parse import urljoin - -import pytz -import requests -from django.conf import settings -from django.contrib.auth import get_user_model -from django.contrib.auth.models import AnonymousUser, Group -from django.db import transaction -from django.db.models.functions import Coalesce -from django.http.response import Http404 -from guardian.shortcuts import assign_perm -import praw -from praw.exceptions import APIException -from praw.models import Comment as RedditComment -from praw.models.comment_forest import CommentForest -from praw.models.reddit import more -from praw.models.reddit.redditor import Redditor -from praw.models.reddit.submission import Submission -import prawcore -from prawcore.exceptions import ( - Forbidden as PrawForbidden, - NotFound as PrawNotFound, - ResponseException, -) -from rest_framework.exceptions import PermissionDenied, NotFound - -from channels import task_helpers as channel_task_helpers -from channels.constants import ( - DELETED_COMMENT_OR_POST_TEXT, - CHANNEL_TYPE_PUBLIC, - POSTS_SORT_HOT, - POSTS_SORT_NEW, - POSTS_SORT_TOP, - VALID_CHANNEL_TYPES, - VALID_POST_SORT_TYPES, - VALID_COMMENT_SORT_TYPES, - POST_TYPE, - COMMENT_TYPE, - VoteActions, - ROLE_CONTRIBUTORS, - ROLE_MODERATORS, - ROLE_CHOICES, - LINK_TYPE_ANY, - LINK_TYPE_LINK, - LINK_TYPE_SELF, - EXTENDED_POST_TYPE_ARTICLE, - WIDGET_LIST_CHANGE_PERM, -) -from channels.exceptions import ConflictException -from channels.models import ( - Article, - Channel, - Comment, - Post, - RedditAccessToken, - RedditRefreshToken, - Subscription, - ChannelSubscription, - ChannelGroupRole, -) -from channels.proxies import ( - PostProxy, - ChannelProxy, - proxy_post, - proxy_channel, - proxy_channels, -) -from channels.utils import ( - get_kind_mapping, - get_or_create_link_meta, - get_kind_and_id, - num_items_not_none, -) - -from notifications.models import ( - NotificationSettings, - NOTIFICATION_TYPE_MODERATOR, - FREQUENCY_IMMEDIATE, -) -from open_discussions.utils import now_in_utc -from search import search_index_helpers -from search.search_index_helpers import reddit_object_persist -from widgets.models import WidgetList - -USER_AGENT = "MIT-Open: {version}" -ACCESS_TOKEN_HEADER_NAME = "X-Access-Token" - -CHANNEL_SETTINGS = ( - "header_title", - "link_type", - "description", - "public_description", - "submit_link_label", - "submit_text", - "submit_text_label", - "allow_top", -) - -# this comes from https://github.com/mitodl/reddit/blob/master/r2/r2/models/token.py#L270 -FULL_ACCESS_SCOPE = "*" -EXPIRES_IN_OFFSET = 30 # offsets the reddit refresh_token expirations by 30 seconds - -User = get_user_model() - -# monkey patch praw's rate limiter to not limit us -prawcore.rate_limit.RateLimiter.delay = lambda *args: None - -log = logging.getLogger() - - -def _get_refresh_token(username): - """ - Get or create a user on reddit using our refresh_token plugin - - Args: - username (str): The reddit username - - Returns: - dict: parsed json response for refresh token - """ - # This is using our custom refresh_token plugin which is installed against - # a modified instance of reddit. It registers a new user with a random password if - # one does not exist, then obtains an OAuth refresh token for that user. This is then used - # with praw to authenticate. - refresh_token_url = urljoin( - settings.MITOPEN_REDDIT_URL, "/api/v1/generate_refresh_token" - ) - - session = _get_session() - return session.get(refresh_token_url, params={"username": username}).json() - - -def get_or_create_auth_tokens(user): - """ - Gets the stored refresh token or generates a new one - - Args: - user (User): the authenticated user - - Returns: - (channels.models.RedditRefreshToken, channels.models.RedditAccessToken): the stored tokens - """ - threshold_date = now_in_utc() + timedelta(minutes=2) - refresh_token, _ = RedditRefreshToken.objects.get_or_create(user=user) - access_token = None - - # if we created this token just now, atomically generate one - if not refresh_token.token_value: - with transaction.atomic(): - refresh_token = RedditRefreshToken.objects.filter( - user=user - ).select_for_update()[0] - if not refresh_token.token_value: - response = _get_refresh_token(user.username) - refresh_token.token_value = response["refresh_token"] - refresh_token.save() - - # the response also returns a valid access_token, so we might as well store that for use - # offset it negatively a bit to account for response time - expires_at = now_in_utc() + timedelta( - seconds=response["expires_in"] - EXPIRES_IN_OFFSET - ) - access_token = RedditAccessToken.objects.create( - user=user, - token_value=response["access_token"], - token_expires_at=expires_at, - ) - - # return the refresh token and access_token - return ( - refresh_token, - ( - access_token - or RedditAccessToken.valid_tokens_for_user(user, threshold_date).first() - ), - ) - - -def _configure_access_token(client, access_token, user): - """ - Configure or fetch a new access_token for the client - - Args: - client (praw.Reddit): the client needing access_token configuration - access_token (channels.models.RedditAccessToken): an access token to try - user (User): the authenticated user - - Returns: - client (praw.Reddit): the configured client - """ - # pylint: disable=protected-access - - # if we have a valid access token, use it - # otherwise force a fetch for a new one and persist it - authorizer = client._core._authorizer - - if access_token: - # "hydrate" the authorizer from our stored access token - authorizer.access_token = access_token.token_value - authorizer._expiration_timestamp = access_token.token_expires_at.timestamp() - authorizer.scopes = set([FULL_ACCESS_SCOPE]) - else: - authorizer = client._core._authorizer - authorizer.refresh() - expires_at = datetime.fromtimestamp(authorizer._expiration_timestamp) - RedditAccessToken.objects.create( - user=user, - token_value=authorizer.access_token, - token_expires_at=expires_at.replace(tzinfo=pytz.utc), - ) - - return client - - -def _get_client_base_kwargs(): - """ - Returns common kwargs passed to praw.Redditor - - Returns: - dict: set of client kwargs - """ - return { - "reddit_url": settings.MITOPEN_REDDIT_URL, - "oauth_url": settings.MITOPEN_REDDIT_URL, - "short_url": settings.MITOPEN_REDDIT_URL, - "user_agent": _get_user_agent(), - "requestor_kwargs": _get_requester_kwargs(), - "check_for_updates": False, - "client_id": settings.MITOPEN_REDDIT_CLIENT_ID, - "client_secret": settings.MITOPEN_REDDIT_SECRET, - } - - -def _get_session(): - """ - Get a session to be used for communicating with reddit - - Returns: - requests.Session: A session - """ - session = requests.Session() - session.verify = settings.MITOPEN_REDDIT_VALIDATE_SSL - session.headers.update( - {ACCESS_TOKEN_HEADER_NAME: settings.MITOPEN_REDDIT_ACCESS_TOKEN} - ) - return session - - -def _get_requester_kwargs(): - """ - Gets the arguments for the praw requester - - Returns: - dict: dictionary of requester arguments - """ - return {"session": _get_session()} - - -def _get_client(user): - """ - Get a configured Reddit client_id - - Args: - user (User): the authenticated user, or None for anonymous user - - Returns: - praw.Reddit: configured reddit client - """ - if user.is_anonymous: - return praw.Reddit(**_get_client_base_kwargs()) - - refresh_token, access_token = get_or_create_auth_tokens(user) - - return _configure_access_token( - praw.Reddit( - refresh_token=refresh_token.token_value, **_get_client_base_kwargs() - ), - access_token, - user, - ) - - -def _get_user_agent(): - """Gets the user agent""" - return USER_AGENT.format(version=settings.VERSION) - - -def evict_expired_access_tokens(): - """Evicts expired access tokens""" - # give a 5-minute buffer - now = now_in_utc() - timedelta(minutes=5) - RedditAccessToken.objects.filter(token_expires_at__lt=now).delete() - - -def replace_load_comment(original_load_comment): - """ - Return patched version of MoreComments._load_comment which handles the case where the parent id is missing - - Args: - original_load_comment (callable): The original MoreComments._load_comment method - - Returns: - callable: A function wrapping original_load_comment - """ - - def replacement_load_comment(*args, **kwargs): - """Patch function to handle AssertionError""" - try: - return original_load_comment(*args, **kwargs) - except AssertionError: - # If the parent doesn't exist the code will receive no children which will error as - # an AssertionError - raise Http404 - - return replacement_load_comment - - -def sync_channel_subscription_model(channel_name, user): - """ - Create or update channel subscription for a user - - Args: - channel_name (str): The name of the channel - user (django.contrib.models.auth.User): The user - - Returns: - ChannelSubscription: the channel user role object - """ - with transaction.atomic(): - channel = Channel.objects.get(name=channel_name) - return ChannelSubscription.objects.update_or_create(channel=channel, user=user)[ - 0 - ] - - -@transaction.atomic -def get_role_model(channel, role): - """ - Get or create a ChannelGroupRole object - - Args: - channel(channels.models.Channel): The channel - role(str): The role name (moderators, contributors) - - Returns: - ChannelGroupRole: the ChannelGroupRole object - """ - return ChannelGroupRole.objects.get(channel=channel, role=role) - - -def add_user_role(channel, role, user): - """ - Add a user to a channel role's group - - Args: - channel(channels.models.Channel): The channel - role(str): The role name (moderators, contributors) - user(django.contrib.auth.models.User): The user - """ - get_role_model(channel, role).group.user_set.add(user) - - -def remove_user_role(channel, role, user): - """ - Remove a user from a channel role's group - - Args: - channel(channels.models.Channel): The channel - role(str): The role name (moderators, contributors) - user(django.contrib.auth.models.User): The user - """ - get_role_model(channel, role).group.user_set.remove(user) - - -def get_post_type(*, text, url, article_content): - """ - Returns the post type given the passed input values - - Args: - text (str or None): the post text - url (str): the post url - article_content (dict): the post article text data - Returns: - str: the type of post - Raises: - ValueError: If incompatible pieces of content are being submitted (e.g.: a URL is - being submitted for a text post) - """ - if not any([text, url, article_content]): - # title-only text post - return LINK_TYPE_SELF - - if num_items_not_none([text, url, article_content]) != 1: - raise ValueError( - "Not more than one of text, url, or article_content can be provided" - ) - - if url is not None: - return LINK_TYPE_LINK - elif article_content is not None: - return EXTENDED_POST_TYPE_ARTICLE - return LINK_TYPE_SELF - - -def get_admin_api(): - """ - Creates an instance of the API configured with the admin user - - Returns: - channels.api.Api: Api instance configured for the admin user - """ - admin_user = User.objects.get(username=settings.INDEXING_API_USERNAME) - return Api(admin_user) - - -def get_allowed_post_types_from_link_type(link_type): - """ - Determine allowed_post_types based on a value for reddit's link_type setting - - Args: - link_type (str): the link type or None - - Returns: - list of str: list of allowed post types - """ - if link_type in [LINK_TYPE_LINK, LINK_TYPE_SELF]: - return [link_type] - else: - # ANY or enforce a standard default - return [LINK_TYPE_LINK, LINK_TYPE_SELF] - - -def allowed_post_types_bitmask(allowed_post_types): - """ - Returns a computer bitmask for the post types - - Args: - allowed_post_types (list of str): list of allowed post types - - Returns: - int: bit mask for the allowed post types - """ - return reduce( - operator.or_, - [ - bit - for post_type, bit in Channel.allowed_post_types.items() - if post_type in allowed_post_types - ], - 0, - ) - - -def create_channel( - name, title, membership_is_managed, allowed_post_types, channel_type -): - """ - Create a channel and related models - - Args: - name(str): the channel name - title(str): the channel title - membership_is_managed (boolean): True if the channel is managed by another app - allowed_post_types (list of str): list of allowed post types - channel_type (str): the channel type - - Returns: - channels.models.Channel: the created channel - """ - widget_list = WidgetList.objects.create() - - channel, created = Channel.objects.get_or_create( - name=name, - defaults={ - "title": title, - "widget_list": widget_list, - "membership_is_managed": membership_is_managed, - "allowed_post_types": allowed_post_types_bitmask(allowed_post_types), - "channel_type": channel_type, - }, - ) - - if not created: - # previously this was handled by a praw exception being converted in channels.utils.translate_praw_exceptions - # but now we raise if we try to create, but didn't - raise ConflictException() - - roles = create_channel_groups_and_roles(channel) - - moderator_group = roles[ROLE_MODERATORS].group - assign_perm(WIDGET_LIST_CHANGE_PERM, moderator_group, widget_list) - - return channel - - -def create_channel_groups_and_roles(channel): - """ - Create a channel's groups and roles - - Args: - channel(channels.models.Channel): the channel to create groups for - """ - roles = {} - for role in ROLE_CHOICES: - group = Group.objects.create(name=f"{channel.name}_{role}") - roles[role] = ChannelGroupRole.objects.create( - channel=channel, group=group, role=role - ) - - return roles - - -def comment_values_from_reddit(comment): - """ - Returns the values to populate the comment from a comment - - Args: - comment (praw.models.Comment): the reddit comment to source data from - - Returns: - dict: property values for a channels.models.Comment record - """ - _, parent_id = get_kind_and_id(comment.parent_id) - return dict( - parent_id=parent_id, - text=comment.body, - score=comment.score, - edited=comment.edited if comment.edited is False else True, - removed=comment.banned_by is not None, - deleted=comment.body == DELETED_COMMENT_OR_POST_TEXT, - created_on=datetime.fromtimestamp(comment.created, tz=timezone.utc).isoformat(), - ) - - -def create_comment(*, post, comment, author): - """ - Creates a comment based on values from reddit - - Args: - post (channels.models.Post): the post the comment is on - comment (praw.models.Comment): the reddit comment - author (User): the user who wrote the comment or None if the user doesn't exist anymore - - Returns: - channels.models.Comment: a new comment - """ - - comment_values = comment_values_from_reddit(comment) - - # special case, the field is auto_now_add, so we need to set this by doing an update after create - created_on = comment_values.get("created_on") - - comment, created = Comment.objects.update_or_create( - comment_id=comment.id, - defaults={**comment_values, "post": post, "author": author}, - ) - - if created: - # intentionally not an update(), because otherwise we'd have to re-select - comment.created_on = created_on - comment.save() - - return comment - - -class Api: - """Channel API""" - - # help Mock() spec this object correctly - reddit = None - user = None - - def __init__(self, user): - """Constructor""" - if user is None: - user = AnonymousUser() - - self.user = user - try: - self.reddit = _get_client(user=user) - except ResponseException as ex: - if not user.is_anonymous and ex.response.status_code == 401: - RedditAccessToken.objects.filter(user=user).delete() - RedditRefreshToken.objects.filter(user=user).delete() - - self.reddit = _get_client(user=user) - else: - raise - - def list_channels(self): - """ - List the channels - - Returns: - ListingGenerator(praw.models.Subreddit): a generator over channel listings - """ - if self.user.is_anonymous: - subreddits = self.reddit.subreddits.default() - else: - subreddits = self.reddit.user.subreddits(limit=None) - - # call list() to force one-time evaluation of the generator - return proxy_channels(list(subreddits)) - - def get_subreddit(self, name): - """ - Get the subreddit - - Args: - name (str): The subreddit name - - Returns: - praw.models.Subreddit: the specified subreddit - """ - return self.reddit.subreddit(name) - - def get_channel(self, name): - """ - Get the channel - - Args: - name (str): The channel name - - Returns: - channels.proxies.ChannelProxy: the specified channel - """ - return proxy_channel(self.get_subreddit(name)) - - def create_channel( - self, - name, - title, - channel_type=CHANNEL_TYPE_PUBLIC, - membership_is_managed=False, - allowed_post_types=None, - link_type=LINK_TYPE_ANY, - **other_settings, - ): # pylint: disable=too-many-arguments - """ - Create a channel - - Args: - name (str): name of the channel - title (str): title of the channel - channel_type (str): type of the channel - membership_is_managed (bool): Whether the channel membership is managed externally - allowed_post_types (list of str): list of allowed post types - link_type (str): the link type for this channel - **other_settings (dict): dict of additional settings - - Returns: - channels.proxies.ChannelProxy: the created channel - """ - if channel_type not in VALID_CHANNEL_TYPES: - raise ValueError("Invalid argument channel_type={}".format(channel_type)) - - for key, value in other_settings.items(): - if key not in CHANNEL_SETTINGS: - raise ValueError("Invalid argument {}={}".format(key, value)) - - if not isinstance(membership_is_managed, bool): - raise ValueError("Invalid argument membership_is_managed") - - if not allowed_post_types: - # forward-port link type to allowed_post_types - allowed_post_types = get_allowed_post_types_from_link_type(link_type) - - # wrap channel creation as an atomic operation across the db and reddit - with transaction.atomic(): - channel = create_channel( - name, title, membership_is_managed, allowed_post_types, channel_type - ) - - # create in reddit after we persist the db records so an error here rolls back everything - subreddit = self.reddit.subreddit.create( - name, - title=title, - subreddit_type=channel_type, - allow_top=True, - link_type=link_type, - **other_settings, - ) - - return ChannelProxy(subreddit, channel) - - @reddit_object_persist(search_index_helpers.update_channel_index) - def update_channel(self, name, title=None, channel_type=None, **other_settings): - """ - Updates a channel - - Args: - name (str): name of the channel - title (str): title of the channel - channel_type (str): type of the channel - **other_settings (dict): dict of additional settings - - Returns: - praw.models.Subreddit: the updated subreddit - """ - membership_is_managed = other_settings.pop("membership_is_managed", False) - allowed_post_types = other_settings.pop("allowed_post_types", None) - - if channel_type is not None and channel_type not in VALID_CHANNEL_TYPES: - raise ValueError("Invalid argument channel_type={}".format(channel_type)) - - for key, value in other_settings.items(): - if key not in CHANNEL_SETTINGS: - raise ValueError("Invalid argument {}={}".format(key, value)) - - channel_kwargs = {} - if membership_is_managed is not None: - if not isinstance(membership_is_managed, bool): - raise ValueError("Invalid argument membership_is_managed") - channel_kwargs["membership_is_managed"] = membership_is_managed - - if channel_type is not None: - channel_kwargs["channel_type"] = channel_type - - if title is not None: - channel_kwargs["title"] = title - - if allowed_post_types is not None: - channel_kwargs["allowed_post_types"] = allowed_post_types_bitmask( - allowed_post_types - ) - - # set reddit to allow all link types, going forward we will validate the post link_type against allowed_post_types if it is set - other_settings["link_type"] = LINK_TYPE_ANY - elif "link_type" in other_settings: - channel_kwargs["allowed_post_types"] = allowed_post_types_bitmask( - get_allowed_post_types_from_link_type(other_settings["link_type"]) - ) - - if channel_kwargs: - Channel.objects.filter(name=name).update(**channel_kwargs) - - values = other_settings.copy() - if title is not None: - values["title"] = title - if channel_type is not None: - values["subreddit_type"] = channel_type - - self.get_channel(name).mod.update(**values) - return self.get_channel(name) - - @staticmethod - def _apply_comment_vote(comment, upvote, downvote, is_upvoted, is_downvoted): - """ - Applies an upvote to the related Comment record - - Args: - comment (Comment): the reddit comment - upvote (boolean): nullable flag for applying an upvote - downvote (boolean): nullable flag for applying a downvote - is_upvoted (boolean): True if the user currently has upvoted the post - is_downvoted (boolean): True if the user currently has downvoted the post - """ - vote_delta = sum( - [ - # start handle upvote - # adds the upvote - 1 if upvote and not is_upvoted else 0, - # removes an opposing downvote, if present - 1 if upvote and is_downvoted else 0, - # clear an existing upvote only, but only count this once if downvoting also - -1 if upvote is False and is_upvoted and not downvote else 0, - # end handle upvote - # -------- - # start handle downvote - # adds the downvote - -1 if downvote and not is_downvoted else 0, - # removes an opposing upvote, if present - -1 if downvote and is_upvoted else 0, - # clear an existing downvote, but only count this once if upvoting also - 1 if downvote is False and is_downvoted and not upvote else 0, - # end handle downvote - ] - ) - - if vote_delta: - # apply an update to the nullable comment score - # by substituting the current score from reddit if there's a null - Comment.objects.filter(comment_id=comment.id).update( - score=Coalesce("score", comment.score) + vote_delta - ) - - @staticmethod - def _apply_post_vote(submission, upvote, is_upvoted): - """ - Applies an upvote to the related Post record - - Args: - submission (Submission): the reddit submission - upvote (boolean): nullable flag for applying an upvote - is_upvoted (boolean): True if the user currently has upvoted the post - """ - vote_delta = sum( - [ - # adds the upvote - 1 if upvote and not is_upvoted else 0, - # clear an existing upvote - -1 if upvote is False and is_upvoted else 0, - ] - ) - - if vote_delta: - # apply an update to the nullable post score - # by substituting the current ups value from reddit if there's a null - Post.objects.filter(post_id=submission.id).update( - score=Coalesce("score", submission.ups) + vote_delta - ) - - @classmethod - def _apply_vote( - cls, instance, validated_data, allow_downvote=False, instance_type=None - ): # pylint: disable=too-many-branches - """ - Apply a vote provided by the user to a comment or post, if it's different than before. - - Args: - instance (Comment or Post): A comment or post - validated_data (dict): validated data which contains the new vote from the user - allow_downvote (bool): If false, ignore downvotes - instance_type (str): A string indicating the reddit object type (comment, post/submission) - Returns: - bool: - True if a change was made, False otherwise - """ - upvote = validated_data.get("upvoted") - if allow_downvote: - downvote = validated_data.get("downvoted") - else: - downvote = None - - is_upvoted = instance.likes is True - is_downvoted = instance.likes is False - - # Determine vote action to take based on the request and any already-applied votes - if upvote and not is_upvoted: - vote_action = VoteActions.UPVOTE - elif downvote and not is_downvoted: - vote_action = VoteActions.DOWNVOTE - elif upvote is False and is_upvoted: - vote_action = VoteActions.CLEAR_UPVOTE - elif downvote is False and is_downvoted: - vote_action = VoteActions.CLEAR_DOWNVOTE - else: - return False - - with transaction.atomic(): - # make upvotes atomic - if isinstance(instance, Submission): - cls._apply_post_vote(instance, upvote, is_upvoted) - elif isinstance(instance, RedditComment): - cls._apply_comment_vote( - instance, upvote, downvote, is_upvoted, is_downvoted - ) - - if vote_action == VoteActions.UPVOTE: - instance.upvote() - elif vote_action == VoteActions.DOWNVOTE: - instance.downvote() - elif vote_action in (VoteActions.CLEAR_UPVOTE, VoteActions.CLEAR_DOWNVOTE): - instance.clear_vote() - - try: - search_index_helpers.update_indexed_score( - instance, instance_type, vote_action - ) - except Exception: # pylint: disable=broad-except - log.exception( - "Error occurred while trying to index [%s] object score", instance_type - ) - return True - - apply_post_vote = partialmethod( - _apply_vote, allow_downvote=False, instance_type=POST_TYPE - ) - apply_comment_vote = partialmethod( - _apply_vote, allow_downvote=True, instance_type=COMMENT_TYPE - ) - - @reddit_object_persist( - search_index_helpers.index_new_post, - channel_task_helpers.maybe_repair_post_in_host_listing, - ) # pylint: disable=too-many-arguments, too-many-locals - def create_post( - self, - channel_name, - title, - *, - text=None, - url=None, - article_content=None, - cover_image=None, - ): - """ - Create a new post in a channel - - Args: - channel_name(str): the channel name identifier - title(str): the title of the post - text(str): the text of the post - url(str): the url of the post - article_content (dict): the article content of the post as a JSON dict - cover_image(bytes): article cover image - Raises: - ValueError: if both text and url are provided - - Returns: - channels.proxies.PostProxy: the proxied submission and post - """ - post_type = get_post_type(text=text, url=url, article_content=article_content) - channel = self.get_channel(channel_name) - - # If the channel has allowed_post_types configured, use that, otherwise delegate to reddit via the submit() call - if channel.allowed_post_types: - if not channel.allowed_post_types & getattr( - Channel.allowed_post_types, post_type - ): - raise ValueError( - f"Post type {post_type} is not permitted in this channel" - ) - - # Reddit requires at least an empty string for text posts (article posts shadow an empty text post) - if post_type != LINK_TYPE_LINK and not text: - text = "" - submission = channel.submit(title, selftext=text, url=url) - - # Don't use empty str for article posts in the database - if post_type == EXTENDED_POST_TYPE_ARTICLE: - text = None - - users_first_post = ( - Post.objects.filter(author=self.user, removed=False, deleted=False) - .order_by("created_on") - .first() - ) - - exclude_from_frontpage_emails = bool( - users_first_post is None - or (datetime.now(pytz.UTC) - users_first_post.created_on).days < 1 - ) - - with transaction.atomic(): - # select_for_update so no one else can write to this - post, created = Post.objects.select_for_update().get_or_create( - post_id=submission.id, - defaults={ - "channel": channel._self_channel, # pylint: disable=protected-access - "title": title, - "text": text, - "url": url, - "post_type": post_type, - "author": self.user, - "score": submission.ups, - "num_comments": 0, - "edited": False, - "removed": False, - "deleted": False, - "created_on": datetime.fromtimestamp( - submission.created, tz=timezone.utc - ), - "exclude_from_frontpage_emails": exclude_from_frontpage_emails, - }, - ) - - if created and article_content: - article, _ = Article.objects.get_or_create( - post=post, - defaults={"author": self.user, "content": article_content}, - ) - - if cover_image and hasattr(cover_image, "name"): - article.cover_image.save( - f"article_image_{post.id}.jpg", cover_image, save=False - ) - article.save(update_fields=["cover_image"]) - - if created and url and post.link_meta is None and settings.EMBEDLY_KEY: - post.link_meta = get_or_create_link_meta(url) - post.save() - - return PostProxy(submission, post) - - def front_page(self, listing_params): - """ - List posts on front page - - Args: - listing_params (channels.utils.ListingParams): the pagination/sorting params requested for the listing - - Returns: - praw.models.listing.generator.ListingGenerator: - A generator of posts for a subreddit - """ - return self._get_listing(self.reddit.front, listing_params) - - def list_posts(self, channel_name, listing_params): - """ - List posts for a channel - - Args: - channel_name(str): the channel name identifier - listing_params (channels.utils.ListingParams): the pagination/sorting params requested for the listing - - Returns: - praw.models.listing.generator.ListingGenerator: - A generator of posts for a subreddit - """ - channel = self.get_channel(channel_name) - return self._get_listing(channel, listing_params) - - def list_user_posts(self, username, listing_params): - """List posts submitted by a given user""" - redditor = Redditor(self.reddit, name=username) - return self._get_listing(redditor.submissions, listing_params) - - def list_user_comments(self, username, listing_params): - """List comments submitted by a given user""" - redditor = Redditor(self.reddit, name=username) - return self._get_listing(redditor.comments, listing_params) - - def _get_listing(self, listing, listing_params): - """ - List posts using the 'hot' algorithm - - Args: - listing(praw.models.listing.BaseListingMixin): the listing to return a generator for - listing_params (channels.utils.ListingParams): the pagination/sorting params requested for the listing - - Returns: - praw.models.listing.generator.ListingGenerator: - A generator of posts for a subreddit - """ - before, after, count, sort = listing_params - if sort not in VALID_POST_SORT_TYPES: - raise ValueError("Sort method '{}' is not supported".format(sort)) - - params = {} - if before is not None: - params["before"] = before - if after is not None: - params["after"] = after - if count is not None: - params["count"] = count - - kwargs = { - "limit": settings.MITOPEN_CHANNEL_POST_LIMIT, - "params": params, - } - - if sort == POSTS_SORT_HOT: - return listing.hot(**kwargs) - elif sort == POSTS_SORT_NEW: - return listing.new(**kwargs) - elif sort == POSTS_SORT_TOP: - return listing.top(**kwargs) - else: - raise Exception( # pylint:disable=broad-exception-raised - "Sort method '{}' is in VALID_POST_SORT_TYPES but not actually supported".format( - sort - ) - ) - - def get_submission(self, submission_id): - """ - Gets the submission - - Args: - submission_id(str): the base36 id for the submission - - Returns: - praw.models.Submission: the submission - """ - return self.reddit.submission(id=submission_id) - - def get_post(self, post_id): - """ - Gets the post - - Args: - post_id(str): the base36 id for the post - - Returns: - channels.proxies.PostProxy: the submitted post - """ - return proxy_post(self.get_submission(post_id)) - - @reddit_object_persist(search_index_helpers.update_post_text) - def update_post( - self, post_id, *, text=None, article_content=None, cover_image=None - ): - """ - Updates the post - - Args: - post_id(str): the base36 id for the post - text (str): The text for the post - article_content (dict): The article content as a JSON dict - cover_image (bytes): The article cover image - - Raises: - ValueError: if the url post was provided - - Returns: - praw.models.Submission: the submitted post - """ - if text and article_content: - raise ValueError("Only one of text and article_content can be specified") - - if not text and not article_content and not cover_image: - raise ValueError( - "One of text, article_content, or cover_image must be specified" - ) - - post = self.get_post(post_id) - - if post.post_type: - # new validation - if text and post.post_type != LINK_TYPE_SELF: - raise ValueError( - f"Posts of type '{post.post_type}' cannot have text updated" - ) - elif article_content and post.post_type != EXTENDED_POST_TYPE_ARTICLE: - raise ValueError( - f"Posts of type '{post.post_type}' cannot have article updated" - ) - elif not post.is_self: - # legacy validation - raise ValueError("Posts with a url cannot be updated") - - with transaction.atomic(): - if text: - Post.objects.filter(post_id=post_id).update(text=text, edited=True) - return proxy_post(post.edit(text)) - - edited = False - - if article_content: - post.article.content = article_content - edited = True - if cover_image: - if hasattr(cover_image, "name"): - post.article.cover_image.save( - f"article_image_{post.id}.jpg", cover_image, save=False - ) - edited = True - elif post.article.cover_image: - post.article.cover_image = None - edited = True - post.article.save() - - if edited: - # pylint: disable=protected-access - post._self_post.edited = True - post._self_post.save() - - return post - - def pin_post(self, post_id, pinned): - """ - Pin the Post! - - Args: - post_id(str): the base36 id for the post - pinned(bool): the value for the 'stickied' field - """ - post = self.get_post(post_id) - post.mod.sticky(pinned) - - @reddit_object_persist(search_index_helpers.update_post_removal_status) - def remove_post(self, post_id): - """ - Removes the post, opposite of approve_post - - Args: - post_id(str): the base36 id for the post - """ - post = self.get_post(post_id) - with transaction.atomic(): - Post.objects.filter(post_id=post_id).update(removed=True) - post.mod.remove() - return post - - @reddit_object_persist(search_index_helpers.update_post_removal_status) - def approve_post(self, post_id): - """ - Approves the post, opposite of remove_post - - Args: - post_id(str): the base36 id for the post - """ - post = self.get_post(post_id) - with transaction.atomic(): - Post.objects.filter(post_id=post_id).update(removed=False) - post.mod.approve() - return post - - @reddit_object_persist(search_index_helpers.set_post_to_deleted) - def delete_post(self, post_id): - """ - Deletes the post - - Args: - post_id(str): the id of the post to delete - - """ - post = self.get_post(post_id) - with transaction.atomic(): - # pylint: disable=protected-access - post._self_post.deleted = True - post._self_post.save() - post.delete() - return post - - @reddit_object_persist(search_index_helpers.index_new_comment) - def create_comment(self, text, post_id=None, comment_id=None): - """ - Create a new comment in reply to a post or comment - - Args: - text(str): the text of the comment - post_id(str): the parent post id if replying to a post - comment_id(str): the parent comment id if replying to a comment - - Raises: - ValueError: if both post_id and comment_id are provided - - Returns: - praw.models.Comment: the submitted comment - """ - if num_items_not_none([post_id, comment_id]) != 1: - raise ValueError("Exactly one of post_id and comment_id must be provided") - - if post_id is not None: - comment = self.get_post(post_id).reply(text) - else: - comment = self.get_comment(comment_id).reply(text) - - _, link_id = get_kind_and_id(comment.link_id) - - with transaction.atomic(): - Post.objects.filter(post_id=link_id).update( - num_comments=Coalesce("num_comments", 0) + 1 - ) - - create_comment( - post=Post.objects.get(post_id=link_id), - comment=comment, - author=self.user, - ) - - return comment - - @reddit_object_persist(search_index_helpers.update_comment_text) - def update_comment(self, comment_id, text): - """ - Updates a existing comment - - Args: - comment_id(str): the id of the comment - text(str): the updated text of the comment - - Returns: - praw.models.Comment: the updated comment - """ - comment = self.get_comment(comment_id) - - with transaction.atomic(): - Comment.objects.filter(comment_id=comment.id).update(text=text, edited=True) - comment = comment.edit(text) - return comment - - @reddit_object_persist(search_index_helpers.update_comment_removal_status) - def remove_comment(self, comment_id): - """ - Removes a comment - - Args: - comment_id(str): the id of the comment - """ - comment = self.get_comment(comment_id) - with transaction.atomic(): - Comment.objects.filter(comment_id=comment_id).update(removed=True) - comment.mod.remove() - return comment - - @reddit_object_persist(search_index_helpers.update_comment_removal_status) - def approve_comment(self, comment_id): - """ - Approves a comment - - Args: - comment_id(str): the id of the comment - """ - comment = self.get_comment(comment_id) - with transaction.atomic(): - Comment.objects.filter(comment_id=comment_id).update(removed=False) - comment.mod.approve() - return comment - - @reddit_object_persist(search_index_helpers.set_comment_to_deleted) - def delete_comment(self, comment_id): - """ - Deletes the comment - - Args: - comment_id(str): the id of the comment to delete - - """ - comment = self.get_comment(comment_id) - with transaction.atomic(): - Comment.objects.filter(comment_id=comment_id).update(deleted=False) - comment.delete() - return comment - - def get_comment(self, comment_id): - """ - Gets the comment - - Args: - comment_id(str): the base36 id for the comment - - Returns: - praw.models.Comment: the comment - """ - return self.reddit.comment(comment_id) - - def list_comments(self, post_id, sort): - """ - Lists the comments of a post_id - - Args: - post_id(str): the base36 id for the post - sort(str): the sort method for comments - - Returns: - praw.models.CommentForest: the base of the comment tree - """ - if sort not in VALID_COMMENT_SORT_TYPES: - raise ValueError( - "Sort method '{}' is not supported for comments".format(sort) - ) - - post = self.get_post(post_id) - post.comment_sort = sort - post.comment_limit = settings.MITOPEN_REDDIT_COMMENTS_LIMIT - return post.comments - - def more_comments(self, parent_id, post_id, children, sort): - """ - Fetches data for a comment and its children and returns a list of comments - (which might include another MoreComment) - - Args: - parent_id (str): the fullname for the comment - post_id (str): the id of the post - children (list(str)): - a list of comment ids - sort(str): the sort method for comments - - Returns: - list: A list of comments, might include a MoreComment at the end if more fetching required - """ - more_comments = self.init_more_comments( - parent_id=parent_id, post_id=post_id, children=children, sort=sort - ) - - # more_comments.comments() can return either a list of comments or a CommentForest object - comments = more_comments.comments() - if isinstance(comments, CommentForest): - comments = comments.list() - - # if the number of comments is less than the number of children, it means that the morecomments - # object did not return all the comments, so we need to manually add another morecomments - # object with the remaining children; not sure why praw does not do it automatically - # anyway this seems to happen only with objects that do NOT look like this one: - # - if len(comments) < len(children): - remaining_morecomments = self.init_more_comments( - parent_id=parent_id, - post_id=post_id, - children=children[len(comments) :], - sort=sort, - ) - comments.append(remaining_morecomments) - return comments - - def init_more_comments(self, parent_id, post_id, children, sort): - """ - Initializes a MoreComments instance from the passed data and fetches channel - - Args: - parent_id (str): the fullname for the comment - post_id (str): the id of the post - children(list(str)): - a list of comment ids - sort(str): the sort method for comments - - Returns: - praw.models.MoreComments: the set of more comments - """ - if parent_id is not None: - qualified_parent_id = "{kind}_{parent_id}".format( - kind=get_kind_mapping()["comment"], parent_id=parent_id - ) - else: - qualified_parent_id = "{kind}_{parent_id}".format( - kind=get_kind_mapping()["submission"], parent_id=post_id - ) - - if sort not in VALID_COMMENT_SORT_TYPES: - raise ValueError( - "Sort method '{}' is not supported for comments".format(sort) - ) - - more_comments = more.MoreComments( - self.reddit, - { - "children": children, - "count": len(children), - "parent_id": qualified_parent_id, - }, - ) - more_comments.submission = self.reddit.submission(post_id) - more_comments.submission.comment_limit = settings.MITOPEN_REDDIT_COMMENTS_LIMIT - more_comments.submission.comment_sort = sort - - more_comments._load_comment = ( - replace_load_comment( # pylint: disable=protected-access - more_comments._load_comment # pylint: disable=protected-access - ) - ) - more_comments.comments() # load the comments - return more_comments - - def add_contributor(self, contributor_name, channel_name): - """ - Adds a user to the contributors of a channel - - Args: - contributor_name(str): the username for the user to be added as contributor - channel_name(str): the channel name identifier - - Returns: - praw.models.Redditor: the reddit representation of the user - """ - try: - user = User.objects.get(username=contributor_name) - except User.DoesNotExist: - raise NotFound("User {} does not exist".format(contributor_name)) - proxied_channel = self.get_channel(channel_name) - with transaction.atomic(): - add_user_role(proxied_channel.channel, ROLE_CONTRIBUTORS, user) - proxied_channel.contributor.add(user) - search_index_helpers.upsert_profile(user.profile.id) - return Redditor(self.reddit, name=contributor_name) - - def remove_contributor(self, contributor_name, channel_name): - """ - Removes a user from the contributors of a channel - - Args: - contributor_name(str): the username for the user to be added as contributor - channel_name(str): the channel name identifier - - """ - try: - user = User.objects.get(username=contributor_name) - except User.DoesNotExist: - raise NotFound("User {} does not exist".format(contributor_name)) - # This doesn't check if a user is a moderator because they should have access to the channel - # regardless of their contributor status - proxied_channel = self.get_channel(channel_name) - with transaction.atomic(): - remove_user_role(proxied_channel.channel, ROLE_CONTRIBUTORS, user) - proxied_channel.contributor.remove(user) - search_index_helpers.upsert_profile(user.profile.id) - - def list_contributors(self, channel_name): - """ - Returns a list of contributors in a channel - - Args: - channel_name(str): the channel name identifier - - Returns: - praw.models.listing.generator.ListingGenerator: a generator representing the contributors in the channel - """ - return self.get_channel(channel_name).contributor() - - def add_moderator(self, moderator_name, channel_name): - """ - Add a user to moderators for the channel - - Args: - moderator_name(str): username of the user - channel_name(str): name of the channel - """ - try: - user = User.objects.get(username=moderator_name) - except User.DoesNotExist: - raise NotFound("User {} does not exist".format(moderator_name)) - proxied_channel = self.get_channel(channel_name) - self_channel = Channel.objects.get(name=channel_name) - with transaction.atomic(): - add_user_role(proxied_channel.channel, ROLE_MODERATORS, user) - try: - proxied_channel.moderator.add(user) - Api(user).accept_invite(channel_name) - NotificationSettings.objects.get_or_create( - user=user, - notification_type=NOTIFICATION_TYPE_MODERATOR, - channel=self_channel, - defaults={"trigger_frequency": FREQUENCY_IMMEDIATE}, - ) - - except APIException as ex: - if ex.error_type != "ALREADY_MODERATOR": - raise - - search_index_helpers.upsert_profile(user.profile.id) - - def accept_invite(self, channel_name): - """ - Accept invitation as a subreddit moderator - - Args: - channel_name(str): name of the channel - """ - self.get_channel(channel_name).mod.accept_invite() - - def remove_moderator(self, moderator_name, channel_name): - """ - Remove moderator from a channel - - Args: - moderator_name(str): username of the user - channel_name(str): name of the channel - """ - try: - user = User.objects.get(username=moderator_name) - except User.DoesNotExist: - raise NotFound("User {} does not exist".format(moderator_name)) - - proxied_channel = self.get_channel(channel_name) - self_channel = Channel.objects.get(name=channel_name) - with transaction.atomic(): - remove_user_role(proxied_channel.channel, ROLE_MODERATORS, user) - proxied_channel.moderator.remove(user) - NotificationSettings.objects.filter( - user=user, - channel=self_channel, - notification_type=NOTIFICATION_TYPE_MODERATOR, - ).delete() - - search_index_helpers.upsert_profile(user.profile.id) - - def _list_moderators(self, *, channel_name, moderator_name): - """ - Returns a list of moderators for the channel - - Args: - channel_name(str): name of the channel - moderator_name(str): optional moderator username to filter list to - - Returns: - praw.models.listing.generator.ListingGenerator: a generator representing the contributors in the channel - """ - return self.get_channel(channel_name).moderator(redditor=moderator_name) - - def list_moderators(self, channel_name): - """ - Returns a list of moderators for the channel - - Args: - channel_name(str): name of the channel - - Returns: - praw.models.listing.generator.ListingGenerator: a generator representing the contributors in the channel - """ - return self._list_moderators(channel_name=channel_name, moderator_name=None) - - def is_moderator(self, channel_name, moderator_name): - """ - Returns True if the given username is a moderator on the channel - - Args: - channel_name(str): name of the channel - moderator_name(str): moderator username - - Returns: - bool: True if the given username is a moderator on the channel - """ - if not moderator_name: - # If we just let this pass through to reddit it will helpfully assume we mean to return all moderators. - # So we have to be explicit here. - raise ValueError("Missing moderator_name") - # generators always eval True, so eval as list first and then as bool - try: - return bool( - list( - self._list_moderators( - channel_name=channel_name, moderator_name=moderator_name - ) - ) - ) - except PrawForbidden: - return False - - def add_subscriber(self, subscriber_name, channel_name): - """ - Adds an user to the subscribers of a channel - - Args: - subscriber_name(str): the username for the user to be added as subscriber - channel_name(str): the channel name identifier - - Returns: - praw.models.Redditor: the reddit representation of the user - """ - try: - user = User.objects.get(username=subscriber_name) - except User.DoesNotExist: - raise NotFound("User {} does not exist".format(subscriber_name)) - channel = Api(user).get_channel(channel_name) - with transaction.atomic(): - sync_channel_subscription_model(channel_name, user) - try: - channel.subscribe() - except PrawForbidden as ex: - raise PermissionDenied() from ex - search_index_helpers.upsert_profile(user.profile.id) - return Redditor(self.reddit, name=subscriber_name) - - def remove_subscriber(self, subscriber_name, channel_name): - """ - Removes an user from the subscribers of a channel - - Args: - subscriber_name(str): the username for the user to be added as subscriber - channel_name(str): the channel name identifier - - """ - try: - user = User.objects.get(username=subscriber_name) - except User.DoesNotExist: - raise NotFound("User {} does not exist".format(subscriber_name)) - channel = Api(user).get_channel(channel_name) - with transaction.atomic(): - ChannelSubscription.objects.filter( - user=user, channel__name=channel_name - ).delete() - try: - channel.unsubscribe() - except PrawNotFound: - # User is already unsubscribed, - # or maybe there's another unrelated 403 error from reddit, but we can't tell the difference, - # and the double removal case is probably more common. - pass - search_index_helpers.upsert_profile(user.profile.id) - - def is_subscriber(self, subscriber_name, channel_name): - """ - Checks if an user is subscriber a channel - - Args: - subscriber_name(str): the username for the user to be added as subscriber - channel_name(str): the channel name identifier - - Returns: - bool: whether the user has subscribed to the channel - """ - try: - user = User.objects.get(username=subscriber_name) - except User.DoesNotExist: - raise NotFound("User {} does not exist".format(subscriber_name)) - - api = Api(user) - return channel_name in (channel.display_name for channel in api.list_channels()) - - def report_post(self, post_id, reason): - """ - Reports a post to moderators - - Args: - post_id(str): the id of the post to report - reason(str): the reason why the post is being reported - """ - self.get_post(post_id).report(reason) - - def report_comment(self, comment_id, reason): - """ - Reports a comment to moderators - - Args: - comment_id(str): the id of the comment to report - reason(str): the reason why the comment is being reported - """ - self.get_comment(comment_id).report(reason) - - def list_reports(self, channel_name): - """ - Lists reported content in a channel - - Args: - channel_name(str): the channel name identifier - - Returns: - praw.models.listing.generator.ListingGenerator: a generator representing the reports in the channel - """ - return self.get_channel(channel_name).mod.reports() - - def ignore_comment_reports(self, comment_id): - """ - Ignore further reports on this comment - - Args: - comment_id(str): the id of the comment to report - """ - self.get_comment(comment_id).mod.ignore_reports() - - def ignore_post_reports(self, post_id): - """ - Ignore further reports on this post - - Args: - post_id(str): the id of the post to report - """ - self.get_post(post_id).mod.ignore_reports() - - def add_post_subscription(self, post_id): - """ - Adds a subscription to a post - - Args: - post_id(str): the id of the post to subscribe to - - Returns: - Subscription: the subscription - """ - subscription, _ = Subscription.objects.get_or_create( - user=self.user, - post_id=post_id, - comment_id=None, # must be explicit about this - ) - return subscription - - def remove_post_subscription(self, post_id): - """ - Remove a subscription to a post - - Args: - post_id(str): the id of the post to unsubscribe from - """ - Subscription.objects.filter( - user=self.user, post_id=post_id, comment_id__isnull=True - ).delete() - - def add_comment_subscription(self, post_id, comment_id): - """ - Adds a subscription to a comment - - Args: - post_id(str): the id of the post to subscribe to - comment_id(str): the id of the comment to subscribe to - - Returns: - Subscription: the subscription - """ - subscription, _ = Subscription.objects.get_or_create( - user=self.user, post_id=post_id, comment_id=comment_id - ) - return subscription - - def remove_comment_subscription(self, post_id, comment_id): - """ - Remove a subscription to a comment - - Args: - post_id(str): the id of the post to unsubscribe from - comment_id(str): the id of the comment to unsubscribe from - """ - Subscription.objects.filter( - user=self.user, post_id=post_id, comment_id=comment_id - ).delete() diff --git a/channels/api_test.py b/channels/api_test.py deleted file mode 100644 index 9830e492f6..0000000000 --- a/channels/api_test.py +++ /dev/null @@ -1,1574 +0,0 @@ -"""API tests""" -# pylint: disable=redefined-outer-name,too-many-lines -from unittest.mock import Mock, MagicMock -from urllib.parse import urljoin -from types import SimpleNamespace -from datetime import datetime, timedelta -import pytz - -from django.contrib.auth.models import AnonymousUser -import pytest -from praw.models import Comment as RedditComment -from praw.models.comment_forest import CommentForest -from praw.models.reddit.redditor import Redditor -from prawcore.exceptions import ResponseException, Forbidden -from rest_framework.exceptions import NotFound - -from channels import api -from channels.constants import ( - COMMENTS_SORT_BEST, - CHANNEL_TYPE_PUBLIC, - CHANNEL_TYPE_PRIVATE, - CHANNEL_TYPE_RESTRICTED, - VALID_CHANNEL_TYPES, - POST_TYPE, - COMMENT_TYPE, - VoteActions, - ROLE_CONTRIBUTORS, - ROLE_MODERATORS, - LINK_TYPE_LINK, - LINK_TYPE_SELF, - LINK_TYPE_ANY, - EXTENDED_POST_TYPE_ARTICLE, - POSTS_SORT_HOT, -) -from channels.factories.models import ArticleFactory, ChannelFactory, PostFactory -from channels.models import ( - Article, - Channel, - Comment, - Post, - RedditAccessToken, - RedditRefreshToken, - Subscription, - ChannelSubscription, - ChannelGroupRole, -) -from channels.utils import DEFAULT_LISTING_PARAMS, ListingParams -from channels.test_utils import assert_properties_eq -from search import search_index_helpers -from open_discussions.factories import UserFactory -from notifications.models import NotificationSettings, NOTIFICATION_TYPE_MODERATOR -from notifications.factories import NotificationSettingsFactory - -pytestmark = pytest.mark.django_db - - -def _mock_channel(*, name, **kwargs): - """Create a mock channel and associated DB record""" - if not Channel.objects.filter(name=name).exists(): - ChannelFactory.create(name=name) - return Mock(display_name=name, **kwargs) - - -def _mock_post(*, post_id, subreddit, **kwargs): - """Create a mock post and associated DB record""" - if not Post.objects.filter(post_id=post_id).exists(): - PostFactory.create( - post_id=post_id, - is_text=True, - channel=Channel.objects.get(name=subreddit.display_name), - ) - return Mock( - id=post_id, - created=1_547_749_404, - ups=1, - banned_by=None, - removed=False, - selftext="content", - url="http://example.com", - **kwargs, - ) - - -def _mock_comment(*, comment_id, submission, subreddit, parent_id, **kwargs): - """Create a mock comment and associated DB record""" - author = kwargs.pop("user", None) or UserFactory.create() - mock_author = Mock() - mock_author.configure_mock(name=author.username) - comment = Mock( - id=comment_id, - parent_id=parent_id, - body="comment body", - removed=False, - banned_by=None, - created=1_547_749_404, - score=1, - author=mock_author, - submission=submission, - subreddit=subreddit, - **kwargs, - ) - api.create_comment( - post=Post.objects.get(post_id=submission.id), comment=comment, author=author - ) - return comment - - -@pytest.fixture() -def mock_get_client(mocker): - """Mock reddit get_client""" - return mocker.patch( - "channels.api._get_client", - autospec=True, - return_value=MagicMock( - subreddit=Mock( - return_value=_mock_channel( - name="channel", - submit=Mock( - return_value=_mock_post( - post_id="abc", subreddit=_mock_channel(name="channel") - ) - ), - ) - ), - submission=Mock( - return_value=_mock_post( - post_id="abc", - subreddit=_mock_channel(name="subreddit"), - reply=Mock( - return_value=_mock_comment( - comment_id="456", - parent_id="t3_abc", - link_id="t3_abc", - submission=_mock_post( - post_id="abc", subreddit=_mock_channel(name="subreddit") - ), - subreddit=_mock_channel(name="subreddit"), - ) - ), - edit=Mock( - return_value=_mock_post( - post_id="abc", subreddit=_mock_channel(name="subreddit") - ) - ), - ) - ), - comment=Mock( - return_value=_mock_comment( - comment_id="567", - parent_id="t3_123", - link_id="t3_123", - submission=_mock_post( - post_id="123", subreddit=_mock_channel(name="other_subreddit") - ), - subreddit=_mock_channel(name="other_subreddit"), - reply=Mock( - return_value=_mock_comment( - comment_id="789", - parent_id="t1_567", - link_id="t3_123", - submission=_mock_post( - post_id="123", - subreddit=_mock_channel(name="other_subreddit"), - ), - subreddit=_mock_channel(name="other_subreddit"), - ) - ), - ) - ), - ), - ) - - -@pytest.fixture() -def mock_client(mock_get_client): - """Mock reddit client""" - return mock_get_client.return_value - - -@pytest.fixture() -def mock_upsert_profile(mocker): - """Mock of upsert_profile function""" - return mocker.patch("channels.api.search_index_helpers.upsert_profile") - - -@pytest.fixture() -def listing_params(): - """Fixture for a basic ListingParams object""" - return ListingParams(None, None, 0, POSTS_SORT_HOT) - - -@pytest.mark.parametrize( - "vote_func", [api.Api.apply_post_vote, api.Api.apply_comment_vote] -) -@pytest.mark.parametrize( - "request_data,likes_value,expected_instance_vote_func", - [ - ({"upvoted": True}, None, "upvote"), - ({"upvoted": True}, False, "upvote"), - ({"downvoted": True}, None, "downvote"), - ({"downvoted": True}, True, "downvote"), - ({"upvoted": False}, True, "clear_vote"), - ({"downvoted": False}, False, "clear_vote"), - ({"upvoted": True}, True, None), - ({"upvoted": False}, False, None), - ({"downvoted": True}, False, None), - ({"downvoted": False}, True, None), - ], -) -def test_apply_vote( - mocker, vote_func, request_data, likes_value, expected_instance_vote_func -): - """ - Tests that the functions to apply an upvote/downvote behave appropriately given - the voting request and the current state of upvotes/downvotes for the user. - """ - mocker.patch("search.search_index_helpers.update_indexed_score") - mock_instance = mocker.Mock(likes=likes_value) - vote_result = vote_func(mock_instance, request_data, allow_downvote=True) - expected_vote_success = expected_instance_vote_func is not None - assert vote_result is expected_vote_success - if expected_vote_success: - expected_vote_func = getattr(mock_instance, expected_instance_vote_func) - assert expected_vote_func.call_count == 1 - - -@pytest.mark.parametrize( - "vote_func,expected_allowed_downvote,expected_instance_type", - [ - (api.Api.apply_post_vote, False, POST_TYPE), - (api.Api.apply_comment_vote, True, COMMENT_TYPE), - ], -) -def test_vote_indexing( - mocker, vote_func, expected_allowed_downvote, expected_instance_type -): - """Test that an upvote/downvote calls a function to update the index""" - post = PostFactory.create(is_text=True) - patched_vote_indexer = mocker.patch( - "channels.api.search_index_helpers.update_indexed_score" - ) - # Test upvote - mock_reddit_obj = Mock() - mock_reddit_obj.id = post.post_id - mock_reddit_obj.likes = False - vote_func(mock_reddit_obj, {"upvoted": True}) - patched_vote_indexer.assert_called_once_with( - mock_reddit_obj, expected_instance_type, VoteActions.UPVOTE - ) - # Test downvote (which may not be allowed) - patched_vote_indexer.reset_mock() - mock_reddit_obj.likes = True - vote_func(mock_reddit_obj, {"downvoted": True}) - assert patched_vote_indexer.called is expected_allowed_downvote - if patched_vote_indexer.called: - patched_vote_indexer.assert_called_once_with( - mock_reddit_obj, expected_instance_type, VoteActions.DOWNVOTE - ) - # Test unchanged vote - patched_vote_indexer.reset_mock() - mock_reddit_obj.likes = True - vote_func(mock_reddit_obj, {"upvoted": True}) - assert not patched_vote_indexer.called - - -def test_get_session(settings): - """Test that _get_session uses the access token from settings""" - settings.MITOPEN_REDDIT_ACCESS_TOKEN = "ACCESS_TOKEN" - # pylint: disable=protected-access - assert api._get_session().headers[api.ACCESS_TOKEN_HEADER_NAME] == "ACCESS_TOKEN" - - -def test_get_channel_user(mock_get_client): - """Test get_channels for logged-in user""" - user = UserFactory.create() - channel = api.Api(user=user).get_channel("test") - assert channel == mock_get_client.return_value.subreddit.return_value - mock_get_client.assert_called_once_with(user=user) - mock_get_client.return_value.subreddit.assert_called_once_with("test") - - -def test_list_channels_user(mock_get_client): - """Test list_channels for logged-in user""" - user = UserFactory.create() - mock_get_client.return_value.user.subreddits.return_value = [ - _mock_channel(name="abc") - ] - channels = api.Api(user=user).list_channels() - assert channels == mock_get_client.return_value.user.subreddits.return_value - mock_get_client.assert_called_once_with(user=user) - mock_get_client.return_value.user.subreddits.assert_called_once_with(limit=None) - - -@pytest.mark.parametrize( - "kwargs, expected, allowed_post_types", - [ - [ - {"channel_type": CHANNEL_TYPE_PUBLIC}, - {"subreddit_type": CHANNEL_TYPE_PUBLIC}, - [LINK_TYPE_LINK, LINK_TYPE_SELF], - ], - [ - {"channel_type": CHANNEL_TYPE_PRIVATE}, - {"subreddit_type": CHANNEL_TYPE_PRIVATE}, - [LINK_TYPE_LINK, LINK_TYPE_SELF], - ], - [ - {"channel_type": CHANNEL_TYPE_RESTRICTED}, - {"subreddit_type": CHANNEL_TYPE_RESTRICTED}, - [LINK_TYPE_LINK, LINK_TYPE_SELF], - ], - [ - {"link_type": LINK_TYPE_ANY}, - {"link_type": LINK_TYPE_ANY}, - [LINK_TYPE_LINK, LINK_TYPE_SELF], - ], - [ - {"link_type": LINK_TYPE_LINK}, - {"link_type": LINK_TYPE_LINK}, - [LINK_TYPE_LINK], - ], - [ - {"link_type": LINK_TYPE_SELF}, - {"link_type": LINK_TYPE_SELF}, - [LINK_TYPE_SELF], - ], - [ - {"allowed_post_types": [LINK_TYPE_LINK]}, - {"link_type": LINK_TYPE_ANY}, - [LINK_TYPE_LINK], - ], - ], -) -def test_create_channel_user( - mock_get_client, indexing_decorator, kwargs, expected, allowed_post_types -): - """Test create_channel for logged-in user""" - user = UserFactory.create() - # some defaults - input_kwargs = { - "channel_type": CHANNEL_TYPE_PUBLIC, - "link_type": LINK_TYPE_ANY, - **kwargs, - } - expected = { - "subreddit_type": input_kwargs["channel_type"], - "link_type": input_kwargs["link_type"], - **expected, - } - channel = api.Api(user=user).create_channel("name", "Title", **input_kwargs) - assert channel == mock_get_client.return_value.subreddit.create.return_value - mock_get_client.assert_called_once_with(user=user) - mock_get_client.return_value.subreddit.create.assert_called_once_with( - "name", title="Title", allow_top=True, **expected - ) - assert indexing_decorator.mock_persist_func.call_count == 0 - assert Channel.objects.filter(name="name").exists() - channel = Channel.objects.get(name="name") - assert [ - key for key, enabled in channel.allowed_post_types if enabled - ] == allowed_post_types - assert ChannelGroupRole.objects.filter(channel=channel).count() == 2 - assert channel.widget_list is not None - moderator_perms = api.get_role_model( - channel, ROLE_MODERATORS - ).group.groupobjectpermission_set.all() - assert len(moderator_perms) == 1 - assert any( - [ - p.content_object == channel.widget_list - and p.permission.codename == "change_widgetlist" - for p in moderator_perms - ] - ) - - -@pytest.mark.parametrize("channel_setting", api.CHANNEL_SETTINGS) -def test_create_channel_setting(mock_client, channel_setting): - """Test create_channel for {channel_setting}""" - user = UserFactory.create() - kwargs = {channel_setting: "value"} if channel_setting != "allow_top" else {} - expected_kwargs = {"link_type": LINK_TYPE_ANY, **kwargs} - channel = api.Api(user=user).create_channel("name", "Title", **kwargs) - assert channel == mock_client.subreddit.create.return_value - mock_client.subreddit.create.assert_called_once_with( - "name", - title="Title", - subreddit_type=api.CHANNEL_TYPE_PUBLIC, - allow_top=True, - **expected_kwargs, - ) - - -def test_create_channel_invalid_setting(mock_client): - """Test create_channel for invalid other_settings""" - user = UserFactory.create() - client = api.Api(user=user) - with pytest.raises(ValueError): - client.create_channel("name", "Title", invalidarg="bad") - assert mock_client.subreddit.create.call_count == 0 - - -def test_create_channel_user_invalid_type(mock_client): - """Test create_channel for logged-in user""" - user = UserFactory.create() - client = api.Api(user=user) - with pytest.raises(ValueError): - client.create_channel("name", "Title", channel_type="notachanneltype") - assert mock_client.subreddit.create.call_count == 0 - - -def test_create_channel_invalid_membership(mock_client): - """Test create_channel for logged-in user""" - user = UserFactory.create() - client = api.Api(user=user) - with pytest.raises(ValueError): - client.create_channel("name", "Title", membership_is_managed="notabool") - assert mock_client.subreddit.create.call_count == 0 - - -@pytest.mark.parametrize("channel_type", VALID_CHANNEL_TYPES) -def test_update_channel_type(mock_client, channel_type, indexing_decorator): - """Test create_channel for channel_type""" - user = UserFactory.create() - channel = api.Api(user=user).update_channel("name", channel_type=channel_type) - assert channel == mock_client.subreddit.return_value - mock_client.subreddit.assert_called_with("name") - assert mock_client.subreddit.call_count == 2 - mock_client.subreddit.return_value.mod.update.assert_called_once_with( - subreddit_type=channel_type - ) - assert indexing_decorator.mock_persist_func.call_count == 1 - assert ( - search_index_helpers.update_channel_index - in indexing_decorator.mock_persist_func.original - ) - - -@pytest.mark.parametrize("channel_setting", api.CHANNEL_SETTINGS + ("title",)) -def test_update_channel_setting(mock_client, channel_setting, indexing_decorator): - """Test update_channel for channel_setting""" - user = UserFactory.create() - kwargs = {channel_setting: "value" if channel_setting != "allow_top" else False} - channel = api.Api(user=user).update_channel("name", **kwargs) - assert channel == mock_client.subreddit.return_value - mock_client.subreddit.assert_called_with("name") - assert mock_client.subreddit.call_count == 2 - mock_client.subreddit.return_value.mod.update.assert_called_once_with(**kwargs) - assert indexing_decorator.mock_persist_func.call_count == 1 - assert ( - search_index_helpers.update_channel_index - in indexing_decorator.mock_persist_func.original - ) - - -@pytest.mark.parametrize( - "allowed_post_types", - [ - [LINK_TYPE_LINK, LINK_TYPE_SELF, EXTENDED_POST_TYPE_ARTICLE], - [LINK_TYPE_LINK, EXTENDED_POST_TYPE_ARTICLE], - [LINK_TYPE_LINK, LINK_TYPE_SELF], - [LINK_TYPE_SELF, EXTENDED_POST_TYPE_ARTICLE], - [LINK_TYPE_LINK], - [LINK_TYPE_SELF], - [EXTENDED_POST_TYPE_ARTICLE], - ], -) -def test_update_channel_allowed_(mock_client, allowed_post_types): - """Test update_channel for channel_setting""" - user = UserFactory.create() - channel = ChannelFactory.create() - - updated_channel = api.Api(user=user).update_channel( - channel.name, allowed_post_types=allowed_post_types - ) - - assert updated_channel == mock_client.subreddit.return_value - mock_client.subreddit.assert_called_with(channel.name) - assert mock_client.subreddit.call_count == 2 - mock_client.subreddit.return_value.mod.update.assert_called_once_with( - link_type=LINK_TYPE_ANY - ) - - channel.refresh_from_db() - assert [ - key for key, enabled in channel.allowed_post_types if enabled - ] == allowed_post_types - - -@pytest.mark.parametrize("membership_is_managed", [None, True, False]) -def test_update_channel_membership(mock_client, membership_is_managed): - """Test update_channel for membership""" - name = "name" - Channel.objects.create(name=name) - user = UserFactory.create() - channel = api.Api(user=user).update_channel( - name, membership_is_managed=membership_is_managed - ) - assert channel == mock_client.subreddit.return_value - mock_client.subreddit.assert_called_with(name) - assert mock_client.subreddit.call_count == 2 - mock_client.subreddit.return_value.mod.update.assert_called_once_with() - - channel_obj = Channel.objects.get(name=name) - assert channel_obj.membership_is_managed is ( - membership_is_managed if membership_is_managed is not None else False - ) - - -def test_update_channel_invalid_channel_type(mock_client): - """update_channel should restrict to valid channel types""" - user = UserFactory.create() - with pytest.raises(ValueError): - api.Api(user=user).update_channel("name", channel_type="not_a_type") - assert mock_client.subreddit.call_count == 0 - - -def test_update_channel_invalid_key(mock_client): - """update_channel should restrict to valid channel types""" - user = UserFactory.create() - with pytest.raises(ValueError): - api.Api(user=user).update_channel("name", unexpected="key") - assert mock_client.subreddit.call_count == 0 - - -def test_update_channel_invalid_membership(mock_client): - """update_channel should restrict to valid channel types""" - user = UserFactory.create() - with pytest.raises(ValueError): - api.Api(user=user).update_channel("name", membership_is_managed="not_a_bool") - assert mock_client.subreddit.call_count == 0 - - -DEFAULT_POST_PROPS = dict( - title="Title", num_comments=0, edited=False, deleted=False, removed=False, score=1 -) - - -class TestCreatePost: - """Tests for channel API create_post method""" - - @pytest.fixture() - def scenario(self, mock_client): - """Fixture for setup and test data needed for all create_post tests""" - mock_reddit_post_submit = mock_client.subreddit.return_value.submit - mock_returned_post = mock_reddit_post_submit.return_value - Post.objects.filter( - post_id=mock_returned_post.id - ).delete() # don't want this for this test - channel = Channel.objects.create(name="123") - return SimpleNamespace( - mock_reddit_post_submit=mock_reddit_post_submit, - mock_returned_post=mock_returned_post, - channel=channel, - ) - - @pytest.mark.parametrize("text", ["Text", None]) - @pytest.mark.parametrize("exclude_from_frontpage_emails", [True, False]) - def test_create_post_text( # pylint: disable=protected-access,too-many-arguments - self, - mock_client, - contributor_api, - scenario, - text, - exclude_from_frontpage_emails, - user, - ): - """Test create_post with text""" - if not exclude_from_frontpage_emails: - old_post = PostFactory.create(author=user) - old_post.created_on = datetime.now(pytz.UTC) - timedelta(days=10) - old_post.save() - - post = contributor_api.create_post(scenario.channel.name, "Title", text=text) - assert post.__wrapped__ == scenario.mock_returned_post - mock_client.subreddit.assert_called_once_with(scenario.channel.name) - scenario.mock_reddit_post_submit.assert_called_once_with( - "Title", selftext=text or "", url=None - ) - post = Post.objects.filter(post_id=scenario.mock_returned_post.id) - assert post.exists() - assert_properties_eq( - post.first(), - dict( - text=text or "", - url=None, - post_type=LINK_TYPE_SELF, - exclude_from_frontpage_emails=exclude_from_frontpage_emails, - **DEFAULT_POST_PROPS, - ), - ) - - @pytest.mark.parametrize("exclude_from_frontpage_emails", [True, False]) - def test_create_post_url( # pylint: disable=too-many-arguments - self, - mock_client, - contributor_api, - scenario, - exclude_from_frontpage_emails, - user, - ): - """Test create_post with url""" - if not exclude_from_frontpage_emails: - old_post = PostFactory.create(author=user) - old_post.created_on = datetime.now(pytz.UTC) - timedelta(days=10) - old_post.save() - - post = contributor_api.create_post( - scenario.channel.name, "Title", url="http://google.com" - ) - assert post.__wrapped__ == scenario.mock_returned_post - mock_client.subreddit.assert_called_once_with(scenario.channel.name) - scenario.mock_reddit_post_submit.assert_called_once_with( - "Title", selftext=None, url="http://google.com" - ) - post = Post.objects.filter(post_id=scenario.mock_returned_post.id) - assert post.exists() - assert_properties_eq( - post.first(), - dict( - url="http://google.com", - text=None, - post_type=LINK_TYPE_LINK, - exclude_from_frontpage_emails=exclude_from_frontpage_emails, - **DEFAULT_POST_PROPS, - ), - ) - - @pytest.mark.parametrize("exclude_from_frontpage_emails", [True, False]) - def test_create_post_article( # pylint: disable=too-many-arguments - self, - mock_client, - contributor_api, - exclude_from_frontpage_emails, - scenario, - user, - ): - """Test create_post with article content""" - if not exclude_from_frontpage_emails: - old_post = PostFactory.create(author=user) - old_post.created_on = datetime.now(pytz.UTC) - timedelta(days=10) - old_post.save() - - post = contributor_api.create_post( - scenario.channel.name, "Title", article_content=["data"] - ) - assert post.__wrapped__ == scenario.mock_returned_post - mock_client.subreddit.assert_called_once_with(scenario.channel.name) - scenario.mock_reddit_post_submit.assert_called_once_with( - "Title", selftext="", url=None - ) - post = Post.objects.filter(post_id=scenario.mock_returned_post.id) - assert post.exists() - assert_properties_eq( - post.first(), - dict( - url=None, - text=None, - post_type=EXTENDED_POST_TYPE_ARTICLE, - exclude_from_frontpage_emails=exclude_from_frontpage_emails, - **DEFAULT_POST_PROPS, - ), - ) - article_query = Article.objects.filter( - post__post_id=scenario.mock_returned_post.id - ) - assert article_query.exists() is True - assert article_query.count() == 1 - assert article_query.first().content == ["data"] - - -@pytest.mark.parametrize( - "kwargs", - [ - {"url": "http://google.com", "text": "Text"}, - {"url": "http://google.com", "text": "Text", "article_content": []}, - {"url": "http://google.com", "article_content": []}, - {"text": "Text", "article_content": []}, - ], -) -def test_create_post_errors(mock_client, kwargs): - """Test create_post with url and text (or neither) raises error""" - client = api.Api(UserFactory.create()) - with pytest.raises(ValueError): - client.create_post("channel", "Title", **kwargs) - assert mock_client.subreddit.call_count == 0 - - -def test_list_posts(mock_client): - """list_posts should return a generator of posts""" - client = api.Api(UserFactory.create()) - posts = client.list_posts("channel", DEFAULT_LISTING_PARAMS) - assert posts == mock_client.subreddit.return_value.hot.return_value - mock_client.subreddit.return_value.hot.assert_called_once_with( - limit=25, params={"count": 0} - ) - mock_client.subreddit.assert_called_once_with("channel") - - -def test_list_posts_invalid_sort(mock_client): - """list_posts should raise an error is sort is invalid""" - client = api.Api(UserFactory.create()) - with pytest.raises(ValueError): - client.list_posts("channel", ListingParams(None, None, 0, "bad")) - mock_client.subreddit.assert_called_once_with("channel") - - -def test_get_post(mock_client): - """Test get_post""" - client = api.Api(UserFactory.create()) - post = client.get_post("abc") - assert post.__wrapped__ == mock_client.submission.return_value - assert post._self_post.post_id == "abc" # pylint: disable=protected-access - mock_client.submission.assert_called_once_with(id="abc") - - -def test_update_post_text(mock_client, indexing_decorator): - """Test update_post for text passes""" - mock_client.submission.return_value.selftext = "text" - client = api.Api(UserFactory.create()) - post = client.update_post("abc", text="Text") - assert post.__wrapped__ == mock_client.submission.return_value.edit.return_value - assert post._self_post.post_id == "abc" # pylint: disable=protected-access - mock_client.submission.assert_called_once_with(id="abc") - mock_client.submission.return_value.edit.assert_called_once_with("Text") - # This API function should be wrapped with the indexing decorator and pass in a specific indexer function - assert indexing_decorator.mock_persist_func.call_count == 1 - assert ( - search_index_helpers.update_post_text - in indexing_decorator.mock_persist_func.original - ) - - -def test_update_post_article(mock_client, indexing_decorator): - """Test update_post for article passes""" - mock_client.submission.return_value.selftext = "" - client = api.Api(UserFactory.create()) - Post.objects.filter(post_id=mock_client.submission.return_value.id).delete() - article = PostFactory.create( - is_article=True, post_id=mock_client.submission.return_value.id - ).article - updated_content = [{"data": "updated"}] - post_id = article.post.post_id - post = client.update_post(post_id, article_content=updated_content) - assert post.__wrapped__ == mock_client.submission.return_value - assert post._self_post.post_id == post_id # pylint: disable=protected-access - mock_client.submission.assert_called_once_with(id=post_id) - article.refresh_from_db() - assert article.content == updated_content - # This API function should be wrapped with the indexing decorator and pass in a specific indexer function - assert indexing_decorator.mock_persist_func.call_count == 1 - assert ( - search_index_helpers.update_post_text - in indexing_decorator.mock_persist_func.original - ) - - -@pytest.mark.parametrize( - "kwargs, post_type", - [ - [{"text": "abc"}, LINK_TYPE_LINK], - [{"article_content": ["abc"]}, LINK_TYPE_LINK], - [{}, LINK_TYPE_SELF], - [{}, EXTENDED_POST_TYPE_ARTICLE], - [{"article_content": ["abc"], "text": "abc"}, LINK_TYPE_SELF], - [{"article_content": ["abc"], "text": "abc"}, EXTENDED_POST_TYPE_ARTICLE], - [{}, EXTENDED_POST_TYPE_ARTICLE], - [{"text": "abc"}, None], - [{"article_content": ["abc"]}, None], - [{"article_content": ["abc"], "text": "abc"}, None], - ], -) -def test_update_post_invalid(mock_client, kwargs, post_type): - """Test update_post raises error if updating a post which is not a self post""" - Post.objects.filter(post_id="abc").update(post_type=post_type) - article = None - mock_client.submission.return_value.is_self = False - if post_type == EXTENDED_POST_TYPE_ARTICLE: - article = ArticleFactory.create( - post=Post.objects.get(post_id=mock_client.submission.return_value.id) - ) - client = api.Api(UserFactory.create()) - with pytest.raises(ValueError): - client.update_post("abc", **kwargs) - assert mock_client.submission.return_value.edit.call_count == 0 - if "article_content" in kwargs and article is not None: - article.refresh_from_db() - assert article.content != kwargs["article_content"] - - -def test_approve_post(mock_client, indexing_decorator): - """Test approve_post passes""" - mock_client.submission.return_value.selftext = "text" - client = api.Api(UserFactory.create()) - client.approve_post("abc") - mock_client.submission.assert_called_once_with(id="abc") - mock_client.submission.return_value.mod.approve.assert_called_once_with() - # This API function should be wrapped with the indexing decorator and pass in a specific indexer function - assert indexing_decorator.mock_persist_func.call_count == 1 - assert ( - search_index_helpers.update_post_removal_status - in indexing_decorator.mock_persist_func.original - ) - - -def test_remove_post(mock_client, indexing_decorator): - """Test remove_post passes""" - mock_client.submission.return_value.selftext = "text" - client = api.Api(UserFactory.create()) - client.remove_post("abc") - mock_client.submission.assert_called_once_with(id="abc") - mock_client.submission.return_value.mod.remove.assert_called_once_with() - # This API function should be wrapped with the indexing decorator and pass in a specific indexer function - assert indexing_decorator.mock_persist_func.call_count == 1 - assert ( - search_index_helpers.update_post_removal_status - in indexing_decorator.mock_persist_func.original - ) - - -def test_create_comment_on_post(mock_client, indexing_decorator): - """Makes correct calls for comment on post""" - Comment.objects.filter( - comment_id=mock_client.submission.return_value.reply.return_value.id - ).delete() # don't want this for this test - client = api.Api(UserFactory.create()) - post = Post.objects.get(post_id="abc") - comment = client.create_comment("text", post_id="abc") - assert comment == mock_client.submission.return_value.reply.return_value - assert mock_client.comment.call_count == 0 - mock_client.submission.assert_called_once_with(id="abc") - mock_client.submission.return_value.reply.assert_called_once_with("text") - # This API function should be wrapped with the indexing decorator and pass in a specific indexer function - assert indexing_decorator.mock_persist_func.call_count == 1 - assert ( - search_index_helpers.index_new_comment - in indexing_decorator.mock_persist_func.original - ) - assert Comment.objects.filter( - comment_id=mock_client.submission.return_value.reply.return_value.id, - parent_id=mock_client.submission.return_value.id, - ).exists() - assert post.num_comments + 1 == Post.objects.get(post_id="abc").num_comments - - -def test_create_comment_on_comment(mock_client, indexing_decorator): - """Makes correct calls for comment on comment""" - Comment.objects.filter( - comment_id=mock_client.comment.return_value.reply.return_value.id - ).delete() # don't want this for this test - client = api.Api(UserFactory.create()) - post = Post.objects.get(post_id="abc") - comment = client.create_comment("text", comment_id="567") - assert comment == mock_client.comment.return_value.reply.return_value - assert mock_client.submission.call_count == 0 - mock_client.comment.assert_called_once_with("567") - mock_client.comment.return_value.reply.assert_called_once_with("text") - # This API function should be wrapped with the indexing decorator and pass in a specific indexer function - assert indexing_decorator.mock_persist_func.call_count == 1 - assert ( - search_index_helpers.index_new_comment - in indexing_decorator.mock_persist_func.original - ) - assert Comment.objects.filter( - comment_id=mock_client.comment.return_value.reply.return_value.id, - parent_id=mock_client.comment.return_value.id, - ).exists() - assert post.num_comments + 1 == Post.objects.get(post_id="123").num_comments - - -def test_create_comment_args_error(mock_client): - """Errors if both args provided""" - client = api.Api(UserFactory.create()) - with pytest.raises(ValueError): - client.create_comment("text", post_id="id1", comment_id="id2") - with pytest.raises(ValueError): - client.create_comment("text") - assert mock_client.submission.call_count == 0 - assert mock_client.comment.call_count == 0 - - -def test_list_comments(mock_client): - """Test list_comments""" - client = api.Api(UserFactory.create()) - result = client.list_comments("abc", COMMENTS_SORT_BEST) - mock_client.submission.assert_called_once_with(id="abc") - assert mock_client.submission.return_value.comment_sort == COMMENTS_SORT_BEST - assert result == mock_client.submission.return_value.comments - - -def test_list_comments_invalid_sort(mock_client): - """Test list_comments with invalid sort raises error""" - client = api.Api(UserFactory.create()) - with pytest.raises(ValueError): - client.list_comments("id", "invalid") - assert mock_client.submission.call_count == 0 - - -def test_get_comment(mock_client): - """Test get_comment""" - client = api.Api(UserFactory.create()) - comment = client.get_comment("id") - assert comment == mock_client.comment.return_value - mock_client.comment.assert_called_once_with("id") - - -def test_delete_comment(mock_client, indexing_decorator): - """Test delete_comment""" - client = api.Api(UserFactory.create()) - client.delete_comment("id") - mock_client.comment.assert_called_once_with("id") - mock_client.comment.return_value.delete.assert_called_once_with() - # This API function should be wrapped with the indexing decorator and pass in a specific indexer function - assert indexing_decorator.mock_persist_func.call_count == 1 - assert ( - search_index_helpers.set_comment_to_deleted - in indexing_decorator.mock_persist_func.original - ) - - -def test_update_comment(mock_client, indexing_decorator): - """Test update_post passes""" - client = api.Api(UserFactory.create()) - comment = client.update_comment("id", "Text") - assert comment == mock_client.comment.return_value.edit.return_value - mock_client.comment.assert_called_once_with("id") - mock_client.comment.return_value.edit.assert_called_once_with("Text") - # This API function should be wrapped with the indexing decorator and pass in a specific indexer function - assert indexing_decorator.mock_persist_func.call_count == 1 - assert ( - search_index_helpers.update_comment_text - in indexing_decorator.mock_persist_func.original - ) - - -def test_approve_comment(mock_client, indexing_decorator): - """Test approve_post passes""" - mock_client.submission.return_value.selftext = "text" - client = api.Api(UserFactory.create()) - client.approve_comment("id") - mock_client.comment.assert_called_once_with("id") - mock_client.comment.return_value.mod.approve.assert_called_once_with() - # This API function should be wrapped with the indexing decorator and pass in a specific indexer function - assert indexing_decorator.mock_persist_func.call_count == 1 - assert ( - search_index_helpers.update_comment_removal_status - in indexing_decorator.mock_persist_func.original - ) - - -def test_remove_comment(mock_client, indexing_decorator): - """Test remove_comment passes""" - mock_client.submission.return_value.selftext = "text" - client = api.Api(UserFactory.create()) - client.remove_comment("id") - mock_client.comment.assert_called_once_with("id") - mock_client.comment.return_value.mod.remove.assert_called_once_with() - # This API function should be wrapped with the indexing decorator and pass in a specific indexer function - assert indexing_decorator.mock_persist_func.call_count == 1 - assert ( - search_index_helpers.update_comment_removal_status - in indexing_decorator.mock_persist_func.original - ) - - -def test_init_more_comments(mock_client, mocker): - """Test init_more_comments""" - client = api.Api(UserFactory.create()) - children = ["t1_itmt", "t1_it56t"] - - more_patch = mocker.patch("praw.models.reddit.more.MoreComments") - result = client.init_more_comments( - "parent_3i", "post_i2", children, COMMENTS_SORT_BEST - ) - - more_patch.assert_called_once_with( - client.reddit, - {"parent_id": "t1_parent_3i", "children": children, "count": len(children)}, - ) - assert result == more_patch.return_value - mock_client.submission.assert_called_once_with("post_i2") - assert result.submission == mock_client.submission.return_value - assert result.submission.comment_sort == COMMENTS_SORT_BEST - result.comments.assert_called_once_with() - - -def test_init_more_comments_no_parents(mock_client, mocker): - """If no parent id is present the post id should be used""" - client = api.Api(UserFactory.create()) - children = ["t1_itmt", "t1_it56t"] - - more_patch = mocker.patch("praw.models.reddit.more.MoreComments") - result = client.init_more_comments(None, "post_i2", children, COMMENTS_SORT_BEST) - - more_patch.assert_called_once_with( - client.reddit, - {"parent_id": "t3_post_i2", "children": children, "count": len(children)}, - ) - assert result == more_patch.return_value - mock_client.submission.assert_called_once_with("post_i2") - assert result.submission == mock_client.submission.return_value - result.comments.assert_called_once_with() - - -def test_init_more_comments_invalid_sort( - mock_client, mocker -): # pylint: disable=unused-argument - """If no parent id is present the post id should be used""" - client = api.Api(UserFactory.create()) - children = ["t1_itmt", "t1_it56t"] - - more_patch = mocker.patch("praw.models.reddit.more.MoreComments") - with pytest.raises(ValueError): - client.init_more_comments(None, "post_i2", children, "invalid_sort") - - assert more_patch.call_count == 0 - - -def test_more_comments(mock_client, mocker): # pylint: disable=unused-argument - """Test more_comments without any extra comments""" - client = api.Api(UserFactory.create()) - children = ["t1_itmt", "t1_it56t"] - - init_more_mock = mocker.patch("channels.api.Api.init_more_comments") - post_id = "post_i2" - mocker.patch.object(RedditComment, "replies", []) - - def _make_comment(comment_id): - """Helper to make a comment with a valid list of replies""" - return RedditComment(client.reddit, id=comment_id) - - comments = [_make_comment(comment_id) for comment_id in children] - init_more_mock.return_value.comments.return_value = CommentForest( - post_id, comments=comments - ) - - result = client.more_comments("parent_3i", post_id, children, COMMENTS_SORT_BEST) - init_more_mock.assert_called_once_with( - parent_id="parent_3i", - post_id="post_i2", - children=children, - sort=COMMENTS_SORT_BEST, - ) - assert result == comments - - -def test_more_comments_with_more_comments( - mock_client, mocker -): # pylint: disable=unused-argument - """Test more_comments with an extra MoreComments""" - client = api.Api(UserFactory.create()) - children = ["1", "2", "3"] - extra_children = ["4", "5", "6"] - - init_more_mock = mocker.patch("channels.api.Api.init_more_comments") - post_id = "post_i2" - mocker.patch.object(RedditComment, "replies", []) - - def _make_comment(comment_id): - """Helper to make a comment with a valid list of replies""" - return RedditComment(client.reddit, id=comment_id) - - first_comments = [_make_comment(child) for child in children] - side_effects = [ - Mock( - comments=Mock(return_value=CommentForest(post_id, comments=first_comments)) - ), - Mock(), # only used for identity comparison - ] - init_more_mock.side_effect = side_effects - - result = client.more_comments( - "parent_3i", post_id, children + extra_children, COMMENTS_SORT_BEST - ) - assert init_more_mock.call_count == 2 - init_more_mock.assert_any_call( - parent_id="parent_3i", - post_id="post_i2", - children=children + extra_children, - sort=COMMENTS_SORT_BEST, - ) - init_more_mock.assert_any_call( - parent_id="parent_3i", - post_id="post_i2", - children=extra_children, - sort=COMMENTS_SORT_BEST, - ) - - assert result[:-1] == first_comments - more_comments = result[-1] - assert side_effects[1] == more_comments - - -def test_list_user_contributions( - mocker, mock_client, listing_params, user -): # pylint: disable=unused-argument - """Test list_user_posts and list_user_comments""" - mock_redditor = Mock() - mocker.patch("channels.api.Redditor", autospec=True, return_value=mock_redditor) - client = api.Api(user) - client.list_user_posts(user.username, listing_params) - assert mock_redditor.submissions.hot.call_count == 1 - client.list_user_comments(user.username, listing_params) - assert mock_redditor.comments.hot.call_count == 1 - - -def test_frontpage(mock_client): - """Test front page""" - client = api.Api(UserFactory.create()) - posts = client.front_page(DEFAULT_LISTING_PARAMS) - assert posts == mock_client.front.hot.return_value - mock_client.front.hot.assert_called_once_with(limit=25, params={"count": 0}) - - -def test_add_contributor(mock_client, mock_upsert_profile): - """Test add contributor""" - client_user = UserFactory.create() - contributor = UserFactory.create() - client = api.Api(client_user) - redditor = client.add_contributor(contributor.username, "channel") - mock_client.subreddit.return_value.contributor.add.assert_called_once_with( - contributor - ) - assert ( - ChannelGroupRole.objects.get( - channel__name="channel", role=ROLE_CONTRIBUTORS - ).group - in contributor.groups.all() - ) - mock_upsert_profile.assert_called_with(contributor.profile.id) - assert isinstance(redditor, Redditor) - assert redditor.name == contributor.username - - -def test_add_remove_contributor_no_user(mock_client): - """Test add and remove contributor in case the user does not exist""" - client_user = UserFactory.create() - client = api.Api(client_user) - with pytest.raises(NotFound): - client.add_contributor("fooooooo", "channel") - assert mock_client.subreddit.return_value.contributor.add.call_count == 0 - - with pytest.raises(NotFound): - client.remove_contributor("fooooooo", "channel") - assert mock_client.subreddit.return_value.contributor.remove.call_count == 0 - - -def test_remove_contributor(mock_client, mock_upsert_profile): - """Test remove contributor""" - client_user = UserFactory.create() - contributor = UserFactory.create() - client = api.Api(client_user) - client.remove_contributor(contributor.username, "channel") - mock_client.subreddit.return_value.contributor.remove.assert_called_once_with( - contributor - ) - assert ( - ChannelGroupRole.objects.get( - channel__name="channel", role=ROLE_CONTRIBUTORS - ).group - not in contributor.groups.all() - ) - mock_upsert_profile.assert_called_with(contributor.profile.id) - - -def test_list_contributors(mock_client): - """Test list contributor""" - client_user = UserFactory.create() - client = api.Api(client_user) - contributors = client.list_contributors("channel") - mock_client.subreddit.return_value.contributor.assert_called_once_with() - assert mock_client.subreddit.return_value.contributor.return_value == contributors - - -def test_add_moderator(mock_client, mock_upsert_profile): - """Test add moderator""" - client = api.Api(UserFactory.create()) - moderator = UserFactory.create() - # pylint: disable=assignment-from-no-return - redditor = client.add_moderator(moderator.username, "channel") - mock_client.subreddit.return_value.moderator.add.assert_called_once_with(moderator) - # API function doesn't return the moderator. To do this the view calls _list_moderators - assert redditor is None - assert ( - ChannelGroupRole.objects.get( - channel__name="channel", role=ROLE_MODERATORS - ).group - in moderator.groups.all() - ) - mock_upsert_profile.assert_called_with(moderator.profile.id) - - notification_setting = NotificationSettings.objects.last() - assert notification_setting.user == moderator - assert notification_setting.notification_type == NOTIFICATION_TYPE_MODERATOR - - -def test_add_moderator_no_user(mock_client): - """Test add moderator where user does not exist""" - client = api.Api(UserFactory.create()) - with pytest.raises(NotFound): - client.add_moderator("foo_username", "channel") - assert mock_client.subreddit.return_value.moderator.add.call_count == 0 - - with pytest.raises(NotFound): - client.remove_moderator("foo_username", "channel") - assert mock_client.subreddit.return_value.moderator.remove.call_count == 0 - - -def test_remove_moderator(mock_client, mock_upsert_profile): - """Test remove moderator""" - client = api.Api(UserFactory.create()) - moderator = UserFactory.create() - channel = Channel.objects.get(name="channel") - NotificationSettingsFactory.create( - channel=channel, notification_type=NOTIFICATION_TYPE_MODERATOR, user=moderator - ) - client.remove_moderator(moderator.username, "channel") - mock_client.subreddit.return_value.moderator.remove.assert_called_once_with( - moderator - ) - assert ( - ChannelGroupRole.objects.get( - channel__name="channel", role=ROLE_MODERATORS - ).group - not in moderator.groups.all() - ) - mock_upsert_profile.assert_called_with(moderator.profile.id) - assert NotificationSettings.objects.count() == 0 - - -def test_list_moderator(mock_client): - """Test list moderator""" - client = api.Api(UserFactory.create()) - moderators = client.list_moderators("channel") - mock_client.subreddit.return_value.moderator.assert_called_once_with(redditor=None) - assert mock_client.subreddit.return_value.moderator.return_value == moderators - - -@pytest.mark.parametrize("is_moderator", [True, False]) -def test_is_moderator(mock_client, is_moderator): - """is_moderator should pass a username to reddit to filter on""" - client = api.Api(UserFactory.create()) - # the actual return value here will be different against a reddit backend - # but truthiness of the return iterable is all that matters - mock_client.subreddit.return_value.moderator.return_value = ( - ["username"] if is_moderator else [] - ) - assert client.is_moderator("channel", "username") is is_moderator - mock_client.subreddit.return_value.moderator.assert_called_once_with( - redditor="username" - ) - - -def test_is_moderator_forbidden(mock_client): - """is_moderator should return False if the user is not allowed to make the API call""" - client = api.Api(UserFactory.create()) - # the actual return value here will be different against a reddit backend - # but truthiness of the return iterable is all that matters - mock_client.subreddit.return_value.moderator.side_effect = Forbidden( - Mock(status_code=403) - ) - assert client.is_moderator("channel", "username") is False - mock_client.subreddit.return_value.moderator.assert_called_once_with( - redditor="username" - ) - - -def test_is_moderator_missing_username(mock_client): # pylint: disable=unused-argument - """is_moderator should raise an exception if the username is missing""" - client = api.Api(UserFactory.create()) - # the actual return value here will be different against a reddit backend - # but truthiness of the return iterable is all that matters - with pytest.raises(ValueError) as ex: - client.is_moderator("channel", "") - assert ex.value.args[0] == "Missing moderator_name" - - -@pytest.mark.parametrize("verify_ssl", [True, False]) -def test_api_constructor(mocker, settings, verify_ssl): - """ - Api() should have a client which uses certain settings to configure its request session - """ - client_user = UserFactory.create() - session_stub = mocker.patch("channels.api.requests.Session", autospec=True) - refresh_token = "token" - session_stub.return_value.get.return_value.json.return_value = { - "refresh_token": refresh_token, - "access_token": "access_token", - "expires_in": 123, - } - session_stub.return_value.headers = {} - - settings.MITOPEN_REDDIT_CLIENT_ID = "client_id" - settings.MITOPEN_REDDIT_SECRET = "secret" - settings.MITOPEN_REDDIT_VALIDATE_SSL = verify_ssl - settings.MITOPEN_REDDIT_URL = "http://fake_url" - settings.VERSION = "1.2.3" - - client = api.Api(client_user) - config = client.reddit.config - assert config.short_url == settings.MITOPEN_REDDIT_URL - assert config.reddit_url == settings.MITOPEN_REDDIT_URL - assert config.oauth_url == settings.MITOPEN_REDDIT_URL - assert config.user_agent == "MIT-Open: {}".format(settings.VERSION) - assert config.client_id == settings.MITOPEN_REDDIT_CLIENT_ID - assert config.client_secret == settings.MITOPEN_REDDIT_SECRET - assert config.refresh_token == refresh_token - - -def test_api_constructor_error(mocker): - """ - If a non-401 response is received during Api() initialization, we should not delete the refresh - and access tokens. - """ - client_user = UserFactory.create() - - error = ResponseException(response=Mock(status_code=400)) - mocker.patch("channels.api._get_client", autospec=True, side_effect=error) - - RedditAccessToken.objects.create(user=client_user, token_value="token") - RedditRefreshToken.objects.create(user=client_user, token_value="token") - - with pytest.raises(ResponseException): - api.Api(client_user) - - # No attempt to clear tokens was made - assert RedditAccessToken.objects.count() == 1 - assert RedditRefreshToken.objects.count() == 1 - - -def test_api_constructor_anonymous_error(mocker): - """ - If a 401 error is raised and the user is anonymous we should just raise the exception instead of trying again - """ - error = ResponseException(response=Mock(status_code=401)) - get_client_mock = mocker.patch( - "channels.api._get_client", autospec=True, side_effect=error - ) - - with pytest.raises(ResponseException): - api.Api(None) - - assert get_client_mock.call_count == 1 - - -def test_api_constructor_401_once(mocker): - """ - If a 401 response is received during Api() initialization, we should delete the refresh - and access tokens and try once more. The second time should succeed - """ - client_user = UserFactory.create() - - mocked_client = Mock() - effect = [ResponseException(response=Mock(status_code=401)), mocked_client] - mocker.patch("channels.api._get_client", autospec=True, side_effect=effect) - - RedditAccessToken.objects.create(user=client_user, token_value="token") - RedditRefreshToken.objects.create(user=client_user, token_value="token") - - assert api.Api(client_user).reddit == mocked_client - - assert RedditAccessToken.objects.count() == 0 - assert RedditRefreshToken.objects.count() == 0 - - -def test_api_constructor_401_twice(mocker): - """ - If a 401 response is received during Api() initialization, we should delete the refresh - and access tokens and try once more. The second time should raise the error - """ - client_user = UserFactory.create() - - effect = [ - ResponseException(response=Mock(status_code=401)), - ResponseException(response=Mock(status_code=401)), - ] - mocker.patch("channels.api._get_client", autospec=True, side_effect=effect) - - RedditAccessToken.objects.create(user=client_user, token_value="token") - RedditRefreshToken.objects.create(user=client_user, token_value="token") - - with pytest.raises(ResponseException): - api.Api(client_user) - - assert RedditAccessToken.objects.count() == 0 - assert RedditRefreshToken.objects.count() == 0 - - -@pytest.mark.parametrize("is_none", [True, False]) -def test_api_constructor_none(is_none): - """Api(None) should initialize for an anonymous user""" - client = api.Api(None if is_none else AnonymousUser()) - assert bool(client.user.is_anonymous) is True - - -def test_get_or_create_auth_tokens(mocker, settings, user): - """ - get_or_create_auth_tokens will contact our plugin's API to get a refresh token for a user, or to create one - """ - settings.MITOPEN_REDDIT_URL = "http://fake" - refresh_token_url = urljoin( - settings.MITOPEN_REDDIT_URL, "/api/v1/generate_refresh_token" - ) - get_session_stub = mocker.patch("channels.api._get_session", autospec=True) - refresh_token_value = "refresh_token" - access_token_value = "access_token" - get_session_stub.return_value.get.return_value.json.return_value = { - "refresh_token": refresh_token_value, - "access_token": access_token_value, - "expires_in": 123, - } - assert RedditAccessToken.objects.filter(user=user).count() == 0 - assert RedditRefreshToken.objects.filter(user=user).count() == 0 - refresh_token, access_token = api.get_or_create_auth_tokens(user) - assert refresh_token.token_value == refresh_token_value - assert access_token.token_value == access_token_value - get_session_stub.return_value.get.assert_called_once_with( - refresh_token_url, params={"username": user.username} - ) - get_session_stub.return_value.get.return_value.json.assert_called_once_with() - assert RedditAccessToken.objects.filter(user=user).count() == 1 - assert RedditRefreshToken.objects.filter(user=user).count() == 1 - - -def test_add_subscriber(mock_client, mock_upsert_profile): - """Test add subscriber""" - client = api.Api(UserFactory.create()) - subscriber = UserFactory.create() - redditor = client.add_subscriber(subscriber.username, "channel") - mock_client.subreddit.return_value.subscribe.assert_called_once_with() - assert redditor.name == subscriber.username - assert ChannelSubscription.objects.filter( - channel__name="channel", user=subscriber - ).exists() - mock_upsert_profile.assert_called_with(subscriber.profile.id) - - -def test_add_remove_subscriber_no_user(mock_client): - """Test add and remove subscriber in case the user does not exist""" - client_user = UserFactory.create() - client = api.Api(client_user) - with pytest.raises(NotFound): - client.add_subscriber("fooooooo", "channel") - assert mock_client.subreddit.return_value.subscribe.call_count == 0 - - with pytest.raises(NotFound): - client.remove_contributor("fooooooo", "channel") - assert mock_client.subreddit.return_value.unsubscribe.call_count == 0 - - -def test_remove_subscriber(mock_client, mock_upsert_profile): - """Test remove subscriber""" - client = api.Api(UserFactory.create(username="mitodl")) - subscriber = UserFactory.create(username="01BTN7HY2SGT9677JXGNDDW859") - client.remove_subscriber(subscriber.username, "testchannel5") - mock_client.subreddit.return_value.unsubscribe.assert_called_once_with() - assert not ChannelSubscription.objects.filter( - channel__name="testchannel5", user=subscriber - ).exists() - mock_upsert_profile.assert_called_with(subscriber.profile.id) - - -def test_is_subscriber(mock_client): - """Test is subscriber""" - client = api.Api(UserFactory.create(username="mitodl")) - subscriber = UserFactory.create() - mock_client.user.subreddits.return_value = [ - _mock_channel(name="sub1"), - _mock_channel(name="sub2"), - ] - assert client.is_subscriber(subscriber.username, "channel") is False - assert client.is_subscriber(subscriber.username, "sub2") is True - assert mock_client.user.subreddits.call_count == 2 - - -def test_report_comment(mock_client): - """Test report_comment""" - client = api.Api(UserFactory.create()) - client.report_comment("id", "reason") - mock_client.comment.assert_called_once_with("id") - mock_client.comment.return_value.report.assert_called_once_with("reason") - - -def test_report_post(mock_client): - """Test report_post""" - client = api.Api(UserFactory.create()) - client.report_post("abc", "reason") - mock_client.submission.assert_called_once_with(id="abc") - mock_client.submission.return_value.report.assert_called_once_with("reason") - - -def test_list_reports(mock_client): - """Test list_reports""" - client = api.Api(UserFactory.create()) - assert ( - client.list_reports("channel") - == mock_client.subreddit.return_value.mod.reports.return_value - ) - mock_client.subreddit.assert_called_once_with("channel") - mock_client.subreddit.return_value.mod.reports.assert_called_once_with() - - -def test_ignore_comment_reports(mock_client): - """Test ignore_comment_reports""" - client = api.Api(UserFactory.create()) - client.ignore_comment_reports("456") - mock_client.comment.assert_called_once_with("456") - mock_client.comment.return_value.mod.ignore_reports.assert_called_once_with() - - -def test_ignore_post_reports(mock_client): - """Test ignore_post_reports""" - client = api.Api(UserFactory.create()) - client.ignore_post_reports("abc") - mock_client.submission.assert_called_once_with(id="abc") - mock_client.submission.return_value.mod.ignore_reports.assert_called_once_with() - - -def test_add_post_subscription(mock_client, user): # pylint: disable=unused-argument - """Test add_post_subscription""" - client = api.Api(user) - assert not Subscription.objects.filter(user=user, post_id="abc").exists() - client.add_post_subscription("abc") - assert Subscription.objects.filter(user=user, post_id="abc").exists() - - -def test_remove_post_subscription(mock_client, user): # pylint: disable=unused-argument - """Test remove_post_subscription""" - client = api.Api(user) - client.add_post_subscription("abc") - assert Subscription.objects.filter(user=user, post_id="abc").exists() - client.remove_post_subscription("abc") - assert not Subscription.objects.filter(user=user, post_id="abc").exists() - - -def test_add_comment_subscription(mock_client, user): # pylint: disable=unused-argument - """Test add_comment_subscription""" - client = api.Api(user) - assert not Subscription.objects.filter( - user=user, post_id="abc", comment_id="def" - ).exists() - client.add_comment_subscription("abc", "def") - assert Subscription.objects.filter( - user=user, post_id="abc", comment_id="def" - ).exists() - - -def test_remove_comment_subscription( - mock_client, user -): # pylint: disable=unused-argument - """Test remove_comment_subscription""" - client = api.Api(user) - client.add_comment_subscription("abc", "def") - assert Subscription.objects.filter( - user=user, post_id="abc", comment_id="def" - ).exists() - client.remove_comment_subscription("abc", "def") - assert not Subscription.objects.filter( - user=user, post_id="abc", comment_id="def" - ).exists() - - -@pytest.mark.parametrize( - "link_type, expected", - [ - [None, [LINK_TYPE_LINK, LINK_TYPE_SELF]], - [LINK_TYPE_ANY, [LINK_TYPE_LINK, LINK_TYPE_SELF]], - [LINK_TYPE_LINK, [LINK_TYPE_LINK]], - [LINK_TYPE_SELF, [LINK_TYPE_SELF]], - ], -) -def test_get_allowed_post_types_from_link_type(link_type, expected): - """Tests that allowed_post_types is correctly determined from link_type""" - assert api.get_allowed_post_types_from_link_type(link_type) == expected diff --git a/channels/apps.py b/channels/apps.py deleted file mode 100644 index 5e658641ab..0000000000 --- a/channels/apps.py +++ /dev/null @@ -1,14 +0,0 @@ -"""Channel app""" -from django.apps import AppConfig - - -class ChannelsConfig(AppConfig): - """Channels AppConfig""" - - name = "channels" - - def ready(self): - """ - Ready handler. Import signals. - """ - import channels.signals # pylint: disable=unused-import diff --git a/channels/backpopulate_api.py b/channels/backpopulate_api.py deleted file mode 100644 index ca83ddaf04..0000000000 --- a/channels/backpopulate_api.py +++ /dev/null @@ -1,88 +0,0 @@ -"""API for backpopulating the db from reddit""" -from datetime import datetime, timezone -import logging - -from django.conf import settings -from django.contrib.auth import get_user_model - -from channels import api, utils -from channels.constants import ( - LINK_TYPE_LINK, - LINK_TYPE_SELF, - EXTENDED_POST_TYPE_ARTICLE, - DELETED_COMMENT_OR_POST_TEXT, -) - -User = get_user_model() -log = logging.getLogger() - - -def backpopulate_post(*, post, submission): - """ - Backpopulates a post with values from a submission - - Args: - post (channels.models.Post): the post to backpopulate - submission (Submission): the reddit submission to source data from - """ - - if not submission.is_self: - post.post_type = LINK_TYPE_LINK - post.url = submission.url - if post.link_meta is None and settings.EMBEDLY_KEY: - post.link_meta = utils.get_or_create_link_meta(submission.url) - elif getattr(post, "article", None): - post.post_type = EXTENDED_POST_TYPE_ARTICLE - else: - post.post_type = LINK_TYPE_SELF - post.text = submission.selftext - - try: - if submission.author: - post.author = User.objects.get(username=submission.author.name) - except User.DoesNotExist: - log.warning( - "Unable to find author '%s'' for submission '%s'", - submission.author.name, - submission.id, - ) - - post.title = submission.title - post.score = submission.ups - post.num_comments = submission.num_comments - post.edited = submission.edited if submission.edited is False else True - post.removed = submission.banned_by is not None - # this already has a values, but it's incorrect for records prior to the creation of the Post model - post.created_on = datetime.fromtimestamp(submission.created, tz=timezone.utc) - post.deleted = submission.selftext == DELETED_COMMENT_OR_POST_TEXT - post.save() - - -def backpopulate_comments(*, post, submission): - """ - Backpopulates a post's comments with values from a submission CommentTree - - Args: - post (channels.models.Post): the post to backpopulate - submission (Submission): the reddit submission to source data from - - Returns: - int: number of comments backpopulated - """ - submission.comments.replace_more(limit=None) - all_comments = submission.comments.list() - author_usernames = { - comment.author.name for comment in all_comments if comment.author - } - authors_by_username = User.objects.in_bulk(author_usernames, field_name="username") - update_count = 0 - - for comment in all_comments: - author = ( - authors_by_username.get(comment.author.name) if comment.author else None - ) - - api.create_comment(post=post, comment=comment, author=author) - update_count += 1 - - return update_count diff --git a/channels/backpopulate_api_test.py b/channels/backpopulate_api_test.py deleted file mode 100644 index 8e784b8927..0000000000 --- a/channels/backpopulate_api_test.py +++ /dev/null @@ -1,262 +0,0 @@ -"""Backpopulate API tests""" -from datetime import datetime, timezone - -import pytest - -from channels import backpopulate_api -from channels.constants import ( - LINK_TYPE_SELF, - LINK_TYPE_LINK, - EXTENDED_POST_TYPE_ARTICLE, - VALID_EXTENDED_POST_TYPES, - DELETED_COMMENT_OR_POST_TEXT, -) -from channels.factories.models import PostFactory, ArticleFactory, LinkMetaFactory -from channels.models import Comment -from channels.test_utils import assert_properties_eq -from open_discussions.factories import UserFactory - -pytestmark = pytest.mark.django_db - - -CREATED_TIMESTAMP = 1_547_749_404 -CREATED_ON_DATETIME = datetime(2019, 1, 17, 18, 23, 24, tzinfo=timezone.utc) - - -@pytest.mark.parametrize("post_type", VALID_EXTENDED_POST_TYPES) -@pytest.mark.parametrize("has_author", [True, False]) -@pytest.mark.parametrize("author_exists", [True, False]) -@pytest.mark.parametrize("is_removed", [True, False]) -@pytest.mark.parametrize("is_deleted", [True, False]) -@pytest.mark.parametrize("is_edited", [True, False]) -def test_backpopulate_post( - mocker, - settings, - post_type, - has_author, - author_exists, - is_removed, - is_deleted, - is_edited, -): # pylint: disable=too-many-arguments,too-many-locals - """Tests backpopulate_post""" - - settings.EMBEDLY_KEY = "abc" - author = UserFactory.create() - post = PostFactory.create(unpopulated=True, post_type=None) - if post_type == EXTENDED_POST_TYPE_ARTICLE: - post.article = ArticleFactory.create(author=author) - post.save() - mock_author = mocker.Mock() - mock_author.configure_mock(name=author.username if author_exists else "missing") - - if is_deleted: - selftext = DELETED_COMMENT_OR_POST_TEXT - elif post_type == LINK_TYPE_SELF: - selftext = "content" - else: - selftext = "" - - url, link_meta = None, None - if post_type == LINK_TYPE_LINK: - url = "http://example.com" - link_meta = LinkMetaFactory.create(url=url) - - mock_link_meta = mocker.patch( - "channels.utils.get_or_create_link_meta", return_value=link_meta - ) - - submission = mocker.Mock( - id=post.post_id, - title="title", - is_self=post_type != LINK_TYPE_LINK, - author=mock_author if has_author else None, - selftext=selftext, - url=url, - ups=12, - num_comments=123, - edited=is_edited, - banned_by="abc" if is_removed else None, - created=CREATED_TIMESTAMP, - ) - backpopulate_api.backpopulate_post(post=post, submission=submission) - - post.refresh_from_db() - - if post_type == LINK_TYPE_LINK: - mock_link_meta.assert_called_once_with(url) - else: - mock_link_meta.assert_not_called() - - assert_properties_eq( - post, - dict( - author=author if has_author and author_exists else None, - text=selftext if post_type == LINK_TYPE_SELF else None, - link_meta=link_meta, - title="title", - edited=is_edited, - score=12, - url=url, - num_comments=123, - created_on=CREATED_ON_DATETIME, - removed=is_removed, - deleted=is_deleted, - post_type=post_type, - ), - ) - - -def test_backpopulate_comments(mocker): - """Tests backpopulate_comments""" - author = UserFactory.create() - mock_author = mocker.Mock() - mock_author.configure_mock(name=author.username) - missing_author = mocker.Mock() - missing_author.configure_mock(name="missing") - post = PostFactory.create() - submission = mocker.Mock(comments=mocker.MagicMock()) - comments = [ - mocker.Mock( - id="1", - parent_id=f"t3_{post.post_id}", - author=mock_author, - body="comment", - score=12, - edited=False, - banned_by=None, - created=CREATED_TIMESTAMP, - ), - # deleted - mocker.Mock( - id="2", - parent_id=f"t3_{post.post_id}", - author=mock_author, - body=DELETED_COMMENT_OR_POST_TEXT, - score=12, - edited=False, - banned_by=None, - created=CREATED_TIMESTAMP, - ), - # removed - mocker.Mock( - id="3", - parent_id=f"t3_{post.post_id}", - author=mock_author, - body="comment removed", - score=12, - edited=False, - banned_by="abc", - created=CREATED_TIMESTAMP, - ), - # edited - mocker.Mock( - id="4", - parent_id=f"t3_{post.post_id}", - author=mock_author, - body="comment edited", - score=12, - edited=True, - banned_by="abc", - created=CREATED_TIMESTAMP, - ), - # missing author - mocker.Mock( - id="5", - parent_id=f"t3_{post.post_id}", - author=missing_author, - body="comment missing author", - score=12, - edited=False, - banned_by=None, - created=CREATED_TIMESTAMP, - ), - # no author - mocker.Mock( - id="6", - parent_id=f"t3_{post.post_id}", - author=None, - body="comment no author", - score=12, - edited=False, - banned_by=None, - created=CREATED_TIMESTAMP, - ), - ] - submission.comments.list.return_value = comments - - result = backpopulate_api.backpopulate_comments(post=post, submission=submission) - - assert result == len(comments) - - submission.comments.replace_more.assert_called_once_with(limit=None) - - expected_values = [ - dict( - author=author, - text="comment", - score=12, - edited=False, - removed=False, - deleted=False, - created_on=CREATED_ON_DATETIME, - ), - # deleted - dict( - author=author, - text=DELETED_COMMENT_OR_POST_TEXT, - score=12, - edited=False, - removed=False, - deleted=True, - created_on=CREATED_ON_DATETIME, - ), - # removed - dict( - author=author, - text="comment removed", - score=12, - edited=False, - removed=True, - deleted=False, - created_on=CREATED_ON_DATETIME, - ), - # edited - dict( - author=author, - text="comment edited", - score=12, - edited=True, - removed=True, - deleted=False, - created_on=CREATED_ON_DATETIME, - ), - # missing author - dict( - author=None, - text="comment missing author", - score=12, - edited=False, - removed=False, - deleted=False, - created_on=CREATED_ON_DATETIME, - ), - # no author - dict( - author=None, - text="comment no author", - score=12, - edited=False, - removed=False, - deleted=False, - created_on=CREATED_ON_DATETIME, - ), - ] - - populated_comments = list( - Comment.objects.order_by("id").filter( - comment_id__in=[comment.id for comment in comments] - ) - ) - for comment, expected in zip(populated_comments, expected_values): - assert_properties_eq(comment, expected) diff --git a/channels/conftest.py b/channels/conftest.py deleted file mode 100644 index 6fe8af53b0..0000000000 --- a/channels/conftest.py +++ /dev/null @@ -1,8 +0,0 @@ -"""Test config for channels""" -import pytest - - -@pytest.fixture(autouse=True) -def mock_search_tasks(mocker): - """Patch the helpers so they don't fire celery tasks""" - return mocker.patch("channels.api.search_index_helpers") diff --git a/channels/constants.py b/channels/constants.py deleted file mode 100644 index 0feb66edb5..0000000000 --- a/channels/constants.py +++ /dev/null @@ -1,62 +0,0 @@ -"""Constants for channels""" -from enum import Enum, auto - - -CHANNEL_TYPE_PUBLIC = "public" -CHANNEL_TYPE_RESTRICTED = "restricted" -CHANNEL_TYPE_PRIVATE = "private" - -VALID_CHANNEL_TYPES = ( - CHANNEL_TYPE_PRIVATE, - CHANNEL_TYPE_PUBLIC, - CHANNEL_TYPE_RESTRICTED, -) - -VALID_CHANNEL_CHOICES = zip( - VALID_CHANNEL_TYPES, map(str.capitalize, VALID_CHANNEL_TYPES) -) - -LINK_TYPE_ANY = "any" -LINK_TYPE_LINK = "link" -LINK_TYPE_SELF = "self" - -VALID_LINK_TYPES = (LINK_TYPE_ANY, LINK_TYPE_LINK, LINK_TYPE_SELF) - -EXTENDED_POST_TYPE_ARTICLE = "article" - -VALID_EXTENDED_POST_TYPES = (LINK_TYPE_LINK, LINK_TYPE_SELF, EXTENDED_POST_TYPE_ARTICLE) -VALID_EXTENDED_POST_CHOICES = list( - zip(VALID_EXTENDED_POST_TYPES, VALID_EXTENDED_POST_TYPES) -) - -POSTS_SORT_HOT = "hot" -POSTS_SORT_TOP = "top" -POSTS_SORT_NEW = "new" - -VALID_POST_SORT_TYPES = (POSTS_SORT_HOT, POSTS_SORT_TOP, POSTS_SORT_NEW) - -COMMENTS_SORT_BEST = "best" -COMMENTS_SORT_NEW = "new" -COMMENTS_SORT_OLD = "old" - -VALID_COMMENT_SORT_TYPES = (COMMENTS_SORT_BEST, COMMENTS_SORT_NEW, COMMENTS_SORT_OLD) - -POST_TYPE = "post" -COMMENT_TYPE = "comment" - -ROLE_MODERATORS = "moderators" -ROLE_CONTRIBUTORS = "contributors" -ROLE_CHOICES = (ROLE_MODERATORS, ROLE_CONTRIBUTORS) - -WIDGET_LIST_CHANGE_PERM = "widgets.change_widgetlist" - -DELETED_COMMENT_OR_POST_TEXT = "[deleted]" - - -class VoteActions(Enum): - """An enum indicating the valid vote actions that can be taken for a post or comment""" - - UPVOTE = auto() - DOWNVOTE = auto() - CLEAR_UPVOTE = auto() - CLEAR_DOWNVOTE = auto() diff --git a/channels/exceptions.py b/channels/exceptions.py deleted file mode 100644 index 6d97c387f0..0000000000 --- a/channels/exceptions.py +++ /dev/null @@ -1,31 +0,0 @@ -""" -Exceptions for the channels app -""" -from rest_framework import status -from rest_framework.exceptions import APIException - - -class RemoveUserException(Exception): - """ - To be raised in case the provided user or username cannot be removed - """ - - -class ConflictException(APIException): - """ - An action would cause a conflict with an existing resource - """ - - status_code = status.HTTP_409_CONFLICT - default_detail = "Resource conflict." - default_code = "resource_conflict" - - -class GoneException(APIException): - """ - Existing resource is gone - """ - - status_code = status.HTTP_410_GONE - default_detail = "Resource is gone." - default_code = "resource_gone" diff --git a/channels/factories/__init__.py b/channels/factories/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/channels/factories/models.py b/channels/factories/models.py deleted file mode 100644 index 62cc03d309..0000000000 --- a/channels/factories/models.py +++ /dev/null @@ -1,286 +0,0 @@ -"""Factories for making test data""" -import operator -import string -from functools import reduce - -import base36 -import faker -import factory -from factory import SubFactory -from factory.django import DjangoModelFactory -from factory.fuzzy import FuzzyChoice, FuzzyText -import pytz - -from django.contrib.contenttypes.models import ContentType -from channels import api -from channels.constants import ( - VALID_CHANNEL_TYPES, - LINK_TYPE_SELF, - LINK_TYPE_LINK, - VALID_EXTENDED_POST_TYPES, - EXTENDED_POST_TYPE_ARTICLE, -) -from channels.factories.utils import channel_name -from channels.models import ( - RedditRefreshToken, - RedditAccessToken, - Subscription, - LinkMeta, - Channel, - ChannelInvitation, - ChannelMembershipConfig, - Post, - Comment, - Article, - SpamCheckResult, -) -from open_discussions.factories import UserFactory - -FAKE = faker.Factory.create() - -DEFAULT_ALLOWED_POST_TYPES = reduce(operator.or_, Channel.allowed_post_types.values()) - - -class RedditRefreshTokenFactory(DjangoModelFactory): - """Factory for refresh tokens""" - - user = factory.SubFactory(UserFactory) - - token_value = factory.Faker("word") - - class Meta: - model = RedditRefreshToken - - -class RedditAccessTokenFactory(DjangoModelFactory): - """Factory for access tokens""" - - user = factory.SubFactory(UserFactory) - - token_value = factory.Faker("word") - token_expires_at = factory.LazyFunction( - lambda: FAKE.date_time_this_year( - before_now=False, after_now=True, tzinfo=pytz.utc - ) - ) - - class Meta: - model = RedditAccessToken - - class Params: - expired = factory.Trait( - token_expires_at=factory.LazyFunction( - lambda: FAKE.date_time_this_year( - before_now=True, after_now=False, tzinfo=pytz.utc - ) - ) - ) - - -class LinkMetaFactory(DjangoModelFactory): - """Factory for a channels.models.LinkMeta object""" - - url = FuzzyText(prefix="https://") - thumbnail = FuzzyText(prefix="https://", suffix=".jpg") - - class Meta: - model = LinkMeta - - -class ChannelMembershipConfigFactory(DjangoModelFactory): - """Factory for channels.models.ChannelMembershipConfig""" - - name = factory.Faker("text", max_nb_chars=50) - query = factory.LazyFunction(lambda: {"email__endswith": "@mit.edu"}) - - class Meta: - model = ChannelMembershipConfig - - -class ChannelFactory(DjangoModelFactory): - """Factory for a channels.models.Channel object""" - - name = factory.LazyAttributeSequence(channel_name) - allowed_post_types = DEFAULT_ALLOWED_POST_TYPES - title = factory.Faker("text", max_nb_chars=50) - channel_type = FuzzyChoice(VALID_CHANNEL_TYPES) - about = factory.List( - [ - factory.Dict({"node": "text", "value": factory.Faker("text")}), - factory.Dict({"node": "text", "value": factory.Faker("text")}), - factory.Dict({"node": "text", "value": factory.Faker("text")}), - ] - ) - moderator_notifications = False - - @factory.post_generation - def create_roles( - self, create, extracted, **kwargs - ): # pylint: disable=unused-argument - """Create the channel groups and roles after the channel is created""" - if not create: - return - - api.create_channel_groups_and_roles(self) - - class Meta: - model = Channel - - -class ChannelInvitationFactory(DjangoModelFactory): - """Factory for a channels.models.ChannelInvitation object""" - - inviter = SubFactory(UserFactory) - channel = SubFactory(ChannelFactory) - user = None - email = factory.Faker("email") - - class Params: - redeemed = factory.Trait( - user=SubFactory(UserFactory, email=factory.SelfAttribute("..email")) - ) - - class Meta: - model = ChannelInvitation - - -class PostFactory(DjangoModelFactory): - """Factory for a channels.models.Post object""" - - author = SubFactory(UserFactory) - channel = SubFactory(ChannelFactory) - link_meta = factory.Maybe( - factory.LazyAttribute(lambda post: post.post_type == LINK_TYPE_LINK), - yes_declaration=SubFactory(LinkMetaFactory), - no_declaration=None, - ) - - post_id = factory.Sequence(base36.dumps) - post_type = FuzzyChoice(VALID_EXTENDED_POST_TYPES) - - title = factory.Faker("text", max_nb_chars=50) - text = factory.Maybe( - factory.LazyAttribute(lambda post: post.post_type == LINK_TYPE_SELF), - yes_declaration=factory.Faker("text", max_nb_chars=100), - no_declaration=None, - ) - url = factory.Maybe( - factory.LazyAttribute(lambda post: post.post_type == LINK_TYPE_LINK), - yes_declaration=factory.Faker("url"), - no_declaration=None, - ) - article = factory.Maybe( - factory.LazyAttribute( - lambda post: post.post_type == EXTENDED_POST_TYPE_ARTICLE - ), - yes_declaration=factory.RelatedFactory( - "channels.factories.models.ArticleFactory", - "post", - # special case to support nullable author only on Post - author=factory.LazyAttribute( - lambda article: article.factory_parent.author or UserFactory.create() - ), - ), - no_declaration=None, - ) - - edited = False - removed = False - deleted = False - num_comments = 0 - - class Meta: - model = Post - - class Params: - # this trait denotes what a comment that hasn't had data populated from reddit looks like - unpopulated = factory.Trait( - title=None, - url=None, - text=None, - author=None, - edited=None, - removed=None, - deleted=None, - ) - is_link = factory.Trait(post_type=LINK_TYPE_LINK) - is_text = factory.Trait(post_type=LINK_TYPE_SELF) - is_article = factory.Trait(post_type=EXTENDED_POST_TYPE_ARTICLE) - - -class ArticleFactory(DjangoModelFactory): - """Factory for channels.models.Article""" - - author = factory.SubFactory(UserFactory) - post = factory.SubFactory( - "channels.factories.models.PostFactory", - is_article=True, - article=None, - author=factory.SelfAttribute("..author"), - ) - content = factory.List( - [ - factory.Dict({"node": "text", "value": factory.Faker("text")}), - factory.Dict({"node": "text", "value": factory.Faker("text")}), - factory.Dict({"node": "text", "value": factory.Faker("text")}), - ] - ) - - class Meta: - model = Article - - -class CommentFactory(DjangoModelFactory): - """Factory for a channels.models.Comment object""" - - post = SubFactory(PostFactory) - author = SubFactory(UserFactory) - - comment_id = FuzzyText(chars=string.ascii_lowercase) - parent_id = FuzzyText(chars=string.ascii_lowercase) - - text = factory.Faker("text", max_nb_chars=100) - edited = False - removed = False - deleted = False - - class Meta: - model = Comment - - class Params: - # this trait denotes what a comment that hasn't had data populated from reddit looks like - unpopulated = factory.Trait( - text=None, author=None, edited=None, removed=None, deleted=None - ) - - -class SubscriptionFactory(DjangoModelFactory): - """Factory for Subscription""" - - user = factory.SubFactory(UserFactory) - post_id = factory.Sequence(base36.dumps) - comment_id = factory.Maybe( - "is_comment", - yes_declaration=factory.Sequence(base36.dumps), - no_declaration=None, - ) - - class Meta: - model = Subscription - - class Params: - is_comment = False - - -class SpamCheckResultFactory(DjangoModelFactory): - """Factory for SpamCheckResult""" - - content_object = SubFactory(CommentFactory) - object_id = factory.SelfAttribute("content_object.id") - content_type = factory.LazyAttribute( - lambda o: ContentType.objects.get_for_model(o.content_object) - ) - user_ip = "111.11.111.1" - - class Meta: - model = SpamCheckResult diff --git a/channels/factories/reddit.py b/channels/factories/reddit.py deleted file mode 100644 index dc3bc4a9e8..0000000000 --- a/channels/factories/reddit.py +++ /dev/null @@ -1,541 +0,0 @@ -"""Factories for making test data""" -import copy -import json -import os -import time -from datetime import datetime - -import pytz -from django.contrib.auth import get_user_model -import factory -from factory.fuzzy import FuzzyChoice - -from channels import api -from channels.constants import VALID_CHANNEL_TYPES, LINK_TYPE_ANY -from channels.factories.utils import channel_name -from channels.models import Channel, Article -from open_discussions.factories import UserFactory - -STRATEGY_CREATE = "create" -STRATEGY_BUILD = "build" - -SERIALIZABLE_KEYS = ("comments", "posts", "channels", "users") - -User = get_user_model() - - -class RedditChannel: # pylint: disable=too-many-instance-attributes - """Simple factory representation for a reddit channel (subreddit)""" - - def __init__(self, **kwargs): - self.name = kwargs.get("name", None) - self.title = kwargs.get("title", None) - self.display_name = kwargs.get("display_name", None) - self.subreddit_type = kwargs.get("subreddit_type", None) - self.channel_type = kwargs.get("channel_type", None) - self.link_type = kwargs.get("link_type", None) - self.description = kwargs.get("description", None) - self.public_description = kwargs.get("public_description", None) - self.user_is_contributor = kwargs.get("user_is_contributor", True) - self.user_is_moderator = kwargs.get("user_is_moderator", True) - self.allowed_post_types = kwargs.get( - "allowed_post_types", Channel.allowed_post_types.keys() - ) - self.api = kwargs.get("api", None) - - -class RedditPost: # pylint: disable=too-many-instance-attributes - """Simple factory representation for a reddit post""" - - def __init__(self, **kwargs): - self.id = kwargs.get("id", None) - self.title = kwargs.get("title", None) - self.text = kwargs.get("text", None) - self.article_content = kwargs.get("article_content", None) - self.url = kwargs.get("url", None) - self.channel = kwargs.get("channel", None) - self.created = kwargs.get("created", None) - self.api = kwargs.get("api", None) - - -class RedditComment: - """Simple factory representation for a reddit comment""" - - def __init__(self, **kwargs): - self.id = kwargs.get("id", None) - self.text = kwargs.get("text", None) - self.comment_id = kwargs.get("comment_id", None) - self.post_id = kwargs.get("post_id", None) - self.children = kwargs.get("children", []) - self.created = kwargs.get("created", None) - self.api = kwargs.get("api", None) - - -def serialize_factory_result(obj): - """ - Serializes a factory object for JSON storage - - Args: - obj: the object to serialize - - Returns: - dict: serialized form of the object - """ - if isinstance(obj, User): - return {"username": obj.username} - elif isinstance(obj, RedditComment): - return { - "id": obj.id, - "text": obj.text, - "comment_id": obj.comment_id, - "post_id": obj.post_id, - "children": [serialize_factory_result(child) for child in obj.children], - } - elif isinstance(obj, RedditPost): - if obj.url is not None: - return {"id": obj.id, "title": obj.title, "url": obj.url} - elif Article.objects.filter(post__post_id=obj.id).exists(): - return { - "id": obj.id, - "title": obj.title, - "article_content": Article.objects.get(post__post_id=obj.id).content, - } - elif obj.text is not None: - return {"id": obj.id, "title": obj.title, "text": obj.text} - elif isinstance(obj, RedditChannel): - return { - "name": obj.name, - "title": obj.title, - "channel_type": obj.channel_type, - "description": obj.description, - "public_description": obj.public_description, - } - - raise Exception("Unable to serialize: {}".format(obj)) - - -def transform_to_factory_kwargs(data, original_kwargs=None, prefix=""): - """ - Transforms factory data into the correct kwargs to pass to the factory - - Args: - data (dict): dictionary of data from the factory_data file - original_kwargs (dict): kwargs passed into the factory function from code - prefix (str): argument prefix string - - Returns: - dict: the generate kwargs to call the factory with - """ - if original_kwargs is None: - original_kwargs = {} - - kwargs = { - key: value for key, value in original_kwargs.items() if key not in data.keys() - } - - for key, value in data.items(): - prefixed_key = "{}__{}".format(prefix, key) if prefix else key - - if original_kwargs is not None and prefixed_key in original_kwargs: - kwargs[prefixed_key] = original_kwargs[prefixed_key] - elif isinstance(value, dict): - kwargs.update(transform_to_factory_kwargs(value, prefix=prefixed_key)) - elif isinstance(value, list): - kwargs[prefixed_key] = [ - transform_to_factory_kwargs(item, prefix=prefixed_key) for item in value - ] - else: - kwargs[prefixed_key] = value - - return kwargs - - -class FactoryStore: - """ - Handles storage of factory data to/from disk - """ - - def __init__(self, name): - self.filename = "factory_data/{}.json".format(name) - self.data = {} - self._dirty = False - - def load(self): - """Loads the factory data from disk""" - if not self.exists(): - return - - with open(self.filename, "r") as f: - self.data = json.loads(f.read()) - - def exists(self): - """ - Returns True if the factory file exists - - Returns: - bool: True if the file exists - """ - return os.path.exists(self.filename) - - def write(self): - """Saves the accumulated factory data to disk""" - if not self._dirty: - return - - with open(self.filename, "w") as f: - json.dump(self.data, f, indent=2, sort_keys=True) - - self._dirty = False - - def get_instances(self, factory_type): - """ - Gets the dict of instances for the factory type - - Args: - factory_type (str): class of the factory to generate the post - - Returns: - dict: dictionary to store instances in - """ - if factory_type not in self.data: - self.data[factory_type] = {} - - return self.data[factory_type] - - def build_or_create(self, factory_cls, strategy, kwargs): - """ - Creates a new named object from the provided factory - - Args: - factory_cls (cls): class of the factory to generate the post - strategy (str): either a create or build strategy for the factory - kwargs (dict): the kwargs to pass to the factory - - Returns: - object: the created object - """ - if strategy == STRATEGY_CREATE: - return factory_cls.create(**kwargs) - elif strategy == STRATEGY_BUILD: - return factory_cls.build(**kwargs) - else: - raise ValueError('Factory strategy "{}" is invalid'.format(strategy)) - - def get_or_make( - self, factory_cls, factory_type, ident, strategy=STRATEGY_CREATE, **kwargs - ): - """ - Creates a new named object from the provided factory - - Args: - factory_cls (cls): class of the factory to generate the post - factory_type (str): class of the factory to generate the post - ident (str): the logical name of the post within the test - strategy (str): either a create or build strategy for the factory - - Returns: - object: the created object - """ - ident = str(ident) - instances = self.get_instances(factory_type) - if ident not in instances: - result = self.build_or_create(factory_cls, strategy, kwargs) - instances[ident] = serialize_factory_result(result) - self._dirty = True - time.sleep(3) # arbitrary sleep to let reddit async computations catch up - return result - else: - factory_kwargs = transform_to_factory_kwargs( - copy.deepcopy(instances[ident]), original_kwargs=kwargs - ) - return self.build_or_create(factory_cls, strategy, factory_kwargs) - - -class RedditFactories: - """ - Factory for users, channels, posts, and comments - """ - - def __init__(self, store): - self.store = store - - def user(self, ident, strategy=STRATEGY_CREATE, **kwargs): - """ - Creates a new named user - - Args: - ident (str): the logical name of the user within the test - strategy (str): either a create or build strategy for the factory - - Returns: - User: the created user - """ - user = self.store.get_or_make( - UserFactory, "users", ident, strategy=strategy, **kwargs - ) - api.get_or_create_auth_tokens(user) - return user - - def channel(self, ident, user, strategy=STRATEGY_CREATE, **kwargs): - """ - Creates a new named channel - - Args: - ident (str): the logical name of the channel within the test - strategy (str): either a create or build strategy for the factory - - Returns: - Channel: the created channel - """ - return self.store.get_or_make( - RedditChannelFactory, - "channels", - ident, - strategy=strategy, - api=api.Api(user), - **kwargs, - ) - - def text_post(self, ident, user, strategy=STRATEGY_CREATE, **kwargs): - """ - Creates a new named text post - - Args: - ident (str): the logical name of the post within the test - strategy (str): either a create or build strategy for the factory - - Returns: - Post: the created post - """ - return self.store.get_or_make( - RedditTextPostFactory, - "posts", - ident, - strategy=strategy, - api=api.Api(user), - **kwargs, - ) - - def link_post(self, ident, user, strategy=STRATEGY_CREATE, **kwargs): - """ - Creates a new named url post - - Args: - ident (str): the logical name of the post within the test - strategy (str): either a create or build strategy for the factory - - Returns: - Post: the created post - """ - return self.store.get_or_make( - RedditLinkPostFactory, - "posts", - ident, - strategy=strategy, - api=api.Api(user), - **kwargs, - ) - - def article_post(self, ident, user, strategy=STRATEGY_CREATE, **kwargs): - """ - Creates a new named article post - - Args: - ident (str): the logical name of the post within the test - strategy (str): either a create or build strategy for the factory - - Returns: - Post: the created post - """ - return self.store.get_or_make( - ArticlePostFactory, - "posts", - ident, - strategy=strategy, - api=api.Api(user), - **kwargs, - ) - - def comment(self, ident, user, strategy=STRATEGY_CREATE, **kwargs): - """ - Creates a new named comment - - Args: - ident (str): the logical name of the comment within the test - strategy (str): either a create or build strategy for the factory - - Returns: - Comment: the created comment - """ - return self.store.get_or_make( - RedditCommentFactory, - "comments", - ident, - strategy=strategy, - api=api.Api(user), - **kwargs, - ) - - -def _timestamp_to_iso_str(timestamp): - """ - Converts the timestamp value into a iso str - - Args: - timestamp(float): the timestamp to convert - - Returns: - str: converted timestamp - """ - return datetime.fromtimestamp(timestamp).replace(tzinfo=pytz.utc).isoformat() - - -class RedditChannelFactory(factory.Factory): - """Factory for reddit-persisted channels""" - - api = None - name = factory.LazyAttributeSequence(channel_name) - title = factory.Faker("text", max_nb_chars=50) - description = factory.Faker("text", max_nb_chars=500) - public_description = factory.Faker("text", max_nb_chars=80) - channel_type = FuzzyChoice(VALID_CHANNEL_TYPES) - link_type = LINK_TYPE_ANY - ga_tracking_id = None - allowed_post_types = Channel.allowed_post_types.keys() - - @factory.post_generation - def _create_in_reddit( - self, create, extracted, **kwargs - ): # pylint: disable=unused-argument - """Lazily create the channel""" - if not create: - return - if not self.api: - raise ValueError("RedditChannelFactory requires an api instance") - - self.api.create_channel( - self.name, - self.title, - channel_type=self.channel_type, - link_type=self.link_type, - description=self.description, - public_description=self.public_description, - allowed_post_types=self.allowed_post_types, - ) - - class Meta: - model = RedditChannel - - -class RedditPostFactory(factory.Factory): - """Abstract factory for posts""" - - api = None - id = None - created = None - title = factory.Faker("text", max_nb_chars=50) - channel = factory.SubFactory( - RedditChannelFactory, api=factory.SelfAttribute("..api") - ) - permalink = factory.Faker("word") - - class Meta: - abstract = True - model = RedditPost - - -class RedditTextPostFactory(RedditPostFactory): - """Factory for text posts""" - - text = factory.Faker("text", max_nb_chars=100) - article_content = None - - @factory.post_generation - def _create_in_reddit(self, *args, **kwargs): # pylint: disable=unused-argument - """Create the post""" - if not self.api: - raise ValueError("RedditTextPostFactory requires an api instance") - - reddit_post = self.api.create_post( - self.channel.name, - self.title, - text=self.text, - article_content=self.article_content, - ) - - self.id = reddit_post.id - self.created = _timestamp_to_iso_str(reddit_post.created) - self.permalink = reddit_post.permalink - - -class RedditLinkPostFactory(RedditPostFactory): - """Factory for link posts""" - - url = factory.Faker("uri") - - @factory.post_generation - def _create_in_reddit(self, *args, **kwargs): # pylint: disable=unused-argument - """Create the post""" - if not self.api: - raise ValueError("RedditLinkPostFactory requires an api instance") - - reddit_post = self.api.create_post(self.channel.name, self.title, url=self.url) - - self.id = reddit_post.id - self.created = _timestamp_to_iso_str(reddit_post.created) - self.permalink = reddit_post.permalink - - -class ArticlePostFactory(RedditTextPostFactory): - """Factory for article posts""" - - article_content = factory.List( - [ - factory.Dict({"node": "text", "value": factory.Faker("text")}), - factory.Dict({"node": "text", "value": factory.Faker("text")}), - factory.Dict({"node": "text", "value": factory.Faker("text")}), - ] - ) - text = None - - -class RedditCommentFactory(factory.Factory): - """Factory for comments""" - - id = None - api = None - comment_id = None - created = None - children = factory.LazyFunction(lambda: []) - text = factory.Faker("text", max_nb_chars=100) - - @factory.lazy_attribute - def post_id(self): - """Lazily create the post""" - if not self.api: - raise ValueError("RedditCommentFactory requires an api instance") - - if self.comment_id: - return None - - return RedditTextPostFactory.create(api=self.api).id - - @factory.post_generation - def create_in_reddit(self, *args, **kwargs): # pylint: disable=unused-argument - """Lazily create the comment""" - if not self.api: - raise ValueError("RedditCommentFactory requires an api instance") - - comment = self.api.create_comment( - self.text, - post_id=self.post_id - if not self.comment_id - else None, # only use post_id if top-level comment - comment_id=self.comment_id, - ) - - self.id = comment.id - self.created = _timestamp_to_iso_str(comment.created) - - class Meta: - model = RedditComment diff --git a/channels/factories/utils.py b/channels/factories/utils.py deleted file mode 100644 index e0c9a267e8..0000000000 --- a/channels/factories/utils.py +++ /dev/null @@ -1,14 +0,0 @@ -"""Factory utils""" -import faker - -from open_discussions.utils import now_in_utc - -FAKE = faker.Factory.create() - - -def channel_name(channel, index): # pylint: disable=unused-argument - """Generate a channel name from the current time and a random word""" - now = now_in_utc().timestamp() - return "{}_{}_{}".format(int(now), index, FAKE.word())[ - :21 - ] # maximum of 21-char channel names diff --git a/channels/management/__init__.py b/channels/management/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/channels/management/commands/__init__.py b/channels/management/commands/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/channels/management/commands/add_index_user_to_channels.py b/channels/management/commands/add_index_user_to_channels.py deleted file mode 100644 index 47180b6e04..0000000000 --- a/channels/management/commands/add_index_user_to_channels.py +++ /dev/null @@ -1,81 +0,0 @@ -"""Management command to add the indexing user account as a moderator to all channels""" -import sys -import traceback - -from django.conf import settings -from django.contrib.auth import get_user_model -from django.core.management.base import BaseCommand -from prawcore import Forbidden - -from channels.api import get_admin_api, Api -from channels.models import Channel - -User = get_user_model() - - -class Command(BaseCommand): - """Add indexing user as moderator to all channels""" - - help = "Add indexing user as moderator to all channels" - - def handle(self, *args, **options): - """Adds the indexing user as the moderator on all channels""" - - index_api = get_admin_api() - failed = False - for channel in Channel.objects.values_list("name", flat=True): - processed = False - for user in User.objects.filter(is_staff=True): - user_api = Api(user) - try: - existing_mods = sorted( - user_api.list_moderators(channel), - key=lambda moderator: moderator.date, - ) - if settings.INDEXING_API_USERNAME not in [ - mod.name for mod in existing_mods - ]: - if existing_mods and existing_mods[0].name != user.username: - # First mod is most powerful mod, use that one. - user_api = Api(User.objects.get(username=existing_mods[0])) - # Add the indexing user as moderator if not present - user_api.add_moderator(settings.INDEXING_API_USERNAME, channel) - # Remove all the old moderators in reverse order - for mod in reversed(existing_mods): - user_api.remove_moderator(mod.name, channel) - # Add back all the old moderators in original order - for mod in existing_mods: - index_api.add_moderator(mod.name, channel) - self.stdout.write( - self.style.SUCCESS( - "Channel '{}' SUCCESS: Indexing user added.".format( - channel - ) - ) - ) - else: - self.stdout.write( - self.style.SUCCESS( - "Channel '{}' Indexing user already present.".format( - channel - ) - ) - ) - processed = True - break - except Forbidden: - # Just try the next user - pass - except: # pylint: disable=bare-except - self.stderr.write( - "Channel '{}' ERROR: {}".format(channel, traceback.format_exc()) - ) - failed = True - if not processed: - self.stderr.write( - "No working user found for Channel '{}'".format(channel) - ) - failed = True - - if failed: - sys.exit(1) diff --git a/channels/management/commands/backpopulate_channel_fields.py b/channels/management/commands/backpopulate_channel_fields.py deleted file mode 100644 index d783a3399e..0000000000 --- a/channels/management/commands/backpopulate_channel_fields.py +++ /dev/null @@ -1,27 +0,0 @@ -"""Management command to backpopulate channel fields""" -from django.core.management.base import BaseCommand - -from channels.tasks import populate_channel_fields -from open_discussions.utils import now_in_utc - - -class Command(BaseCommand): - """Backpopulate channel fields from reddit""" - - help = "Backpopulate channel fields from reddit" - - def handle(self, *args, **options): - """Run celery task to backpopulate channel fields from reddit""" - task = populate_channel_fields.delay() - self.stdout.write( - "Started celery task {task} to populate channel fieldss".format(task=task) - ) - self.stdout.write("Waiting on task...") - start = now_in_utc() - task.get() - total_seconds = (now_in_utc() - start).total_seconds() - self.stdout.write( - "Population of channel fields finished, took {} seconds".format( - total_seconds - ) - ) diff --git a/channels/management/commands/backpopulate_channel_widget_lists.py b/channels/management/commands/backpopulate_channel_widget_lists.py deleted file mode 100644 index b38fff93d7..0000000000 --- a/channels/management/commands/backpopulate_channel_widget_lists.py +++ /dev/null @@ -1,57 +0,0 @@ -"""Management command to create Channel WidgetList records""" -from django.db import transaction -from django.core.management.base import BaseCommand -from guardian.shortcuts import assign_perm - -from channels.api import get_admin_api -from channels.constants import ROLE_MODERATORS, WIDGET_LIST_CHANGE_PERM -from channels.models import Channel -from widgets.models import WidgetList, WidgetInstance -from widgets.serializers.markdown import MarkdownWidgetSerializer - - -class Command(BaseCommand): - """Create Channel WidgetList records""" - - help = "Create Channel WidgetList records" - - def handle(self, *args, **options): - """Adds WidgetLists to existing channels""" - api = get_admin_api() - for channel_id in Channel.objects.values_list("id", flat=True): - with transaction.atomic(): - channel = Channel.objects.select_for_update().get(id=channel_id) - self.stdout.write(f"Channel: {channel.name}") - - subreddit = api.get_channel(channel.name) - widget_list = None - - if channel.widget_list is None: - widget_list = WidgetList.objects.create() - WidgetInstance.objects.create( - widget_list=widget_list, - widget_type=MarkdownWidgetSerializer.name, - title="About this channel", - configuration={"source": subreddit.description}, - position=0, - ) - - channel.widget_list = widget_list - channel.save() - - moderator_group_role = ( - channel.channelgrouprole_set.filter(role=ROLE_MODERATORS) - .select_for_update() - .first() - ) - - if moderator_group_role: - assign_perm( - WIDGET_LIST_CHANGE_PERM, - moderator_group_role.group, - channel.widget_list, - ) - self.stdout.write(f"Permission added: {WIDGET_LIST_CHANGE_PERM}") - else: - self.stderr.write("\tNo moderator group found") - self.stdout.write("Done") diff --git a/channels/management/commands/backpopulate_post_and_comment_fields.py b/channels/management/commands/backpopulate_post_and_comment_fields.py deleted file mode 100644 index f6cd3f1643..0000000000 --- a/channels/management/commands/backpopulate_post_and_comment_fields.py +++ /dev/null @@ -1,29 +0,0 @@ -"""Management command to backpopulate post and comment fields""" -from django.core.management.base import BaseCommand - -from channels.tasks import populate_post_and_comment_fields -from open_discussions.utils import now_in_utc - - -class Command(BaseCommand): - """Backpopulates post and comment fields""" - - help = "Backpopulates post and comment fields" - - def handle(self, *args, **options): - """Backpopulates post and comment fields""" - task = populate_post_and_comment_fields.delay() - self.stdout.write( - "Started celery task {task} to backpopulate post and comment fields".format( - task=task - ) - ) - self.stdout.write("Waiting on task...") - start = now_in_utc() - task.get() - total_seconds = (now_in_utc() - start).total_seconds() - self.stdout.write( - "Backpopulate of post and comment fields finished, took {} seconds".format( - total_seconds - ) - ) diff --git a/channels/management/commands/backpopulate_posts.py b/channels/management/commands/backpopulate_posts.py deleted file mode 100644 index 97d52ae64f..0000000000 --- a/channels/management/commands/backpopulate_posts.py +++ /dev/null @@ -1,56 +0,0 @@ -"""Management command for populating posts and comments from reddit""" -import sys - -import base36 -from django.core.management import BaseCommand - -from channels import tasks - - -class Command(BaseCommand): - """Populate posts and comments from reddit""" - - help = "Populate posts and comments from reddit" - - def add_arguments(self, parser): - parser.add_argument("--post", nargs="?", action="append") - - def handle(self, *args, **options): - """Populate posts and comments from reddit""" - - if options["post"]: - task = tasks.populate_posts_and_comments.delay( - [base36.loads(post_id) for post_id in options["post"]] - ) - else: - task = tasks.populate_all_posts_and_comments.delay() - - self.stdout.write( - "Started celery task {task} to backpopulate posts and comments".format( - task=task - ) - ) - self.stdout.write("Waiting on task...") - results = task.get() - # Results will look like this: - # results = { - # 'posts': 1734, - # 'comments': 3547, - # "failures": [ - # {"thing_type": "comment", "thing_id": "c4", "reason": "errors happen"}, - # {"thing_type": "post", "thing_id": "b9i", "reason": "more than you want them to"} - # ] - # } - self.stdout.write("Successes:") - self.stdout.write(f"Posts: {results['posts']}") - self.stdout.write(f"Comments: {results['comments']}") - failures = results["failures"] - if failures: - self.stdout.write("") - self.stdout.write("Failures:") - self.stdout.write("thing_type thing_id reason") - for failure in results["failures"]: - self.stdout.write( - f"{failure['thing_type']:<12} {failure['thing_id']:<10} {failure['reason']}" - ) - sys.exit(1) diff --git a/channels/management/commands/backpopulate_subscriptions_roles.py b/channels/management/commands/backpopulate_subscriptions_roles.py deleted file mode 100644 index 36cd5cd8a0..0000000000 --- a/channels/management/commands/backpopulate_subscriptions_roles.py +++ /dev/null @@ -1,29 +0,0 @@ -"""Management command to create/update each user's channels.models.ChannelSubscription""" -from django.core.management.base import BaseCommand - -from channels.tasks import populate_subscriptions_and_roles -from open_discussions.utils import now_in_utc - - -class Command(BaseCommand): - """Create/update each user's channel subscriptions and moderator/contributor roles""" - - help = "Create/update each user's ChannelSubscriptions and ChannelRoles (subscriber, moderator, contributor)" - - def handle(self, *args, **options): - """Run celery task to create/update channel subscriptions and moderator/contributor roles""" - task = populate_subscriptions_and_roles.delay() - self.stdout.write( - "Started celery task {task} to populate channel user roles and subscriptions".format( - task=task - ) - ) - self.stdout.write("Waiting on task...") - start = now_in_utc() - task.get() - total_seconds = (now_in_utc() - start).total_seconds() - self.stdout.write( - "Population of channel user roles and subscriptions finished, took {} seconds".format( - total_seconds - ) - ) diff --git a/channels/management/commands/reclassify_spam.py b/channels/management/commands/reclassify_spam.py deleted file mode 100644 index 379c04caa6..0000000000 --- a/channels/management/commands/reclassify_spam.py +++ /dev/null @@ -1,80 +0,0 @@ -"""Reclassify posts/comments as spam or ham""" -from django.core.management.base import BaseCommand - -from channels import tasks -from open_discussions.utils import now_in_utc - - -class Command(BaseCommand): - """Reclassify posts/comments as spam or ham""" - - help = __doc__ - - def add_arguments(self, parser): - parser.add_argument( - "--spam", - dest="is_spam", - action="store_true", - help="Mark comments and posts as spam.", - ) - - parser.add_argument( - "--ham", - dest="is_ham", - action="store_true", - help="Mark comments and posts as ham", - ) - - parser.add_argument( - "-c", - "--comment-id", - dest="comment_ids", - action="append", - default=[], - help="Comment ids to reclassify", - ) - parser.add_argument( - "-p", - "--post-id", - dest="post_ids", - action="append", - default=[], - help="Post ids to reclassify", - ) - parser.add_argument( - "--retire-users", - dest="retire_users", - action="store_true", - default=False, - help="Retire users", - ) - parser.add_argument( - "--skip-akismet", - dest="skip_akismet", - action="store_true", - default=False, - help="Skip submitting spam/ham reclassification to askimet", - ) - - def handle(self, *args, **options): - if options["is_spam"]: - is_spam = True - elif options["is_ham"]: - is_spam = False - else: - self.stdout.write("Either --spam or --ham flag is required") - return - - task = tasks.update_spam.delay( - spam=is_spam, - comment_ids=options["comment_ids"], - post_ids=options["post_ids"], - retire_users=options["retire_users"], - skip_akismet=options["skip_akismet"], - ) - - self.stdout.write("Waiting on task...") - start = now_in_utc() - task.get() - total_seconds = (now_in_utc() - start).total_seconds() - self.stdout.write("Updated spam, took {} seconds".format(total_seconds)) diff --git a/channels/management/commands/set_channel_allow_top.py b/channels/management/commands/set_channel_allow_top.py deleted file mode 100644 index d6a39a3fc3..0000000000 --- a/channels/management/commands/set_channel_allow_top.py +++ /dev/null @@ -1,50 +0,0 @@ -"""Management command to set allow_top on channels""" -import sys - -from django.core.management.base import BaseCommand - -from channels.api import get_admin_api -from channels.models import Channel - - -class Command(BaseCommand): - """Sets allow_top=True on channels""" - - help = "Sets allow_top=True on channels" - - def add_arguments(self, parser): - parser.add_argument("--name", nargs="?", action="append") - parser.add_argument("--allow-top", action="store", default=True) - - def handle(self, *args, **options): - """Sets allow_top on channels""" - channels = Channel.objects.all() - - allow_top = options["allow_top"] - - if options["name"]: - channels = channels.filter(name__in=options["name"]) - - api = get_admin_api() - - self.stdout.write("Found {} channels to update".format(channels.count())) - - failed = False - for channel in channels: - try: - api.update_channel(channel.name, allow_top=allow_top) - self.stdout.write( - self.style.SUCCESS( - "Channel '{}' SUCCESS: set allow_top={}".format( - channel.name, allow_top - ) - ) - ) - except Exception as exc: # pylint: disable=broad-except - self.stderr.write( - "Channel '{}' ERROR: {}".format(channel.name, str(exc)) - ) - failed = True - - if failed: - sys.exit(1) diff --git a/channels/management/commands/subscribe_all_users_to_channel.py b/channels/management/commands/subscribe_all_users_to_channel.py deleted file mode 100644 index 4418e133e2..0000000000 --- a/channels/management/commands/subscribe_all_users_to_channel.py +++ /dev/null @@ -1,27 +0,0 @@ -"""Subscribes all users to a new channel""" -from django.core.management.base import BaseCommand - -from channels import tasks -from open_discussions.utils import now_in_utc - - -class Command(BaseCommand): - """Subscribes all users to a new channel""" - - help = "Subscribes all users to a new channel" - - def add_arguments(self, parser): - parser.add_argument("channel_names", metavar="CHANNEL_NAME", nargs="+") - - def handle(self, *args, **options): - task = tasks.subscribe_all_users_to_channels.delay( - channel_names=options["channel_names"] - ) - - self.stdout.write("Waiting on task...") - start = now_in_utc() - task.get() - total_seconds = (now_in_utc() - start).total_seconds() - self.stdout.write( - "Subscribed all users to channels, took {} seconds".format(total_seconds) - ) diff --git a/channels/management/commands/update_managed_channel_memberships.py b/channels/management/commands/update_managed_channel_memberships.py deleted file mode 100644 index c40d247510..0000000000 --- a/channels/management/commands/update_managed_channel_memberships.py +++ /dev/null @@ -1,27 +0,0 @@ -"""Update managed channel memberships""" -from django.core.management.base import BaseCommand - -from channels import tasks -from open_discussions.utils import now_in_utc - - -class Command(BaseCommand): - """Update managed channel memberships""" - - help = __doc__ - - def add_arguments(self, parser): - parser.add_argument("channel_names", metavar="CHANNEL_NAME", nargs="+") - - def handle(self, *args, **options): - task = tasks.update_memberships_for_managed_channels.delay( - channel_names=options["channel_names"] - ) - - self.stdout.write("Waiting on task...") - start = now_in_utc() - task.get() - total_seconds = (now_in_utc() - start).total_seconds() - self.stdout.write( - "Updated user channel memberships, took {} seconds".format(total_seconds) - ) diff --git a/channels/membership_api.py b/channels/membership_api.py deleted file mode 100644 index e226e8a171..0000000000 --- a/channels/membership_api.py +++ /dev/null @@ -1,101 +0,0 @@ -"""API for managing channel memberships""" -import logging -import operator -from functools import reduce - -from django.contrib.auth import get_user_model - -from channels.api import get_admin_api -from channels.models import Channel -from profiles.filters import UserFilter -from profiles.models import Profile - -log = logging.getLogger() -User = get_user_model() - - -def update_memberships_for_managed_channels(*, channel_ids=None, user_ids=None): - """ - Update channels that are managed and have channel memberhip configs - - Args: - channel_ids (list of int): - optional list of channel ids to generate memberships for - user_ids (list of int): - optional list of user ids to filter to - """ - # channels with a membership config - channels = Channel.objects.filter( - membership_is_managed=True, channel_membership_configs__isnull=False - ) - - if channel_ids: - channels = channels.filter(id__in=channel_ids) - for channel in channels: - update_memberships_for_managed_channel(channel, user_ids=user_ids) - - -def update_memberships_for_managed_channel(channel, *, user_ids=None): - """ - Update the channel memberships for a given channel. - If the channel is not managed, nothing happens. - - Args: - channel (Channel): - the channel to generate memberships for - user_ids (list of int): - optional list of user ids to filter to - """ - if ( - not channel.membership_is_managed - or not channel.channel_membership_configs.exists() - ): - log.debug( - "update_managed_channel_membership() called for a channel" - "that is not managed and/or has no channel membership configs: %s", - channel.name, - ) - return - - admin_api = get_admin_api() - active_users = User.objects.filter(is_active=True) - - # create a list of user queries as generated by UserFilter - filtered_user_queries = [ - UserFilter(config.query, queryset=active_users).qs - for config in channel.channel_membership_configs.all() - ] - # bitwise OR the queries together so that users that match ANY of them are added to the channel - users_in_channel = reduce( - operator.or_, - filtered_user_queries, - # specify an initial empty query in case we hit a race condition and - # `filtered_user_queries` ended up empty, otherwise `reduce()` would fail - User.objects.none(), - ) - - # ensure that we're not about to select all users, because this is almost definitely not what we want - # this can happen if the query configs didn't match ANY filter options - # this is a bit of a hack to protect this, but it's sufficient for now - if str(users_in_channel.query) == str(active_users.query): - log.error( - "Membership query configs for channel '%s' result in all active users being added, this is likely not desired", - channel.name, - ) - return - - # filter here, rather than earlier - # this ensure the check above works in all cases - if user_ids: - users_in_channel = users_in_channel.filter(id__in=user_ids) - - for user in users_in_channel.only("username").distinct(): - try: - admin_api.add_contributor(user.username, channel.name) - admin_api.add_subscriber(user.username, channel.name) - except Profile.DoesNotExist: - log.exception( - "Channel %s membership update failed due to missing user profile: %s", - channel.name, - user.username, - ) diff --git a/channels/membership_api_test.py b/channels/membership_api_test.py deleted file mode 100644 index 2715b1a52c..0000000000 --- a/channels/membership_api_test.py +++ /dev/null @@ -1,119 +0,0 @@ -"""Tests for membership api""" -import pytest - -from channels.factories.models import ChannelFactory, ChannelMembershipConfigFactory -from channels.membership_api import ( - update_memberships_for_managed_channels, - update_memberships_for_managed_channel, -) -from open_discussions.factories import UserFactory -from profiles.models import Profile - -pytestmark = pytest.mark.django_db - - -def test_update_memberships_for_managed_channels(mocker): - """ - Verify that update_memberships_for_managed_channels() calls - update_memberships_for_managed_channel() with configured channels - """ - # channels with no configs, shouldn't be used - ChannelFactory.create(membership_is_managed=True) - ChannelFactory.create(membership_is_managed=False) - - # channels with configs, only managed one should be used - managed_channel1 = ChannelFactory.create(membership_is_managed=True) - managed_channel1.channel_membership_configs.add( - ChannelMembershipConfigFactory.create() - ) - managed_channel2 = ChannelFactory.create(membership_is_managed=True) - managed_channel2.channel_membership_configs.add( - ChannelMembershipConfigFactory.create() - ) - nonmanaged_channel = ChannelFactory.create(membership_is_managed=False) - nonmanaged_channel.channel_membership_configs.add( - ChannelMembershipConfigFactory.create() - ) - - mock_update_memberships_for_managed_channel = mocker.patch( - "channels.membership_api.update_memberships_for_managed_channel", autospec=True - ) - - update_memberships_for_managed_channels( - channel_ids=[managed_channel1.id], user_ids=[1, 2, 3] - ) - - mock_update_memberships_for_managed_channel.assert_called_once_with( - managed_channel1, user_ids=[1, 2, 3] - ) - - -@pytest.mark.usefixtures("indexing_user") -@pytest.mark.parametrize("is_managed", [True, False]) -@pytest.mark.parametrize("has_configs", [True, False]) -def test_update_memberships_for_managed_channel(mocker, is_managed, has_configs): - """ "Verifies that update_memberships_for_managed_channel() adds matching users as members to a channel""" - mock_api = mocker.patch("channels.api.Api", autospec=True).return_value - channel = ChannelFactory.create(membership_is_managed=is_managed) - if has_configs: - channel.channel_membership_configs.add( - ChannelMembershipConfigFactory.create( - query={"email__endswith": "@matching.email"} - ) - ) - - user = UserFactory.create(email="user@matching.email", is_active=True) - UserFactory.create(email="user2@matching.email", is_active=True) - UserFactory.create(email="user3@matching.email", is_active=False) - - update_memberships_for_managed_channel(channel, user_ids=[user.id]) - - if is_managed and has_configs: - mock_api.add_subscriber.assert_called_once_with(user.username, channel.name) - mock_api.add_contributor.assert_called_once_with(user.username, channel.name) - else: - mock_api.add_subscriber.assert_not_called() - mock_api.add_contributor.assert_not_called() - - -@pytest.mark.usefixtures("indexing_user") -def test_update_memberships_for_managed_channel_missing_profile(mocker): - """Verify that an exception is logged if a profile is missing for a user""" - mock_api = mocker.patch("channels.api.Api", autospec=True).return_value - mock_api.add_contributor.side_effect = Profile.DoesNotExist - user = UserFactory.create(email="user@matching.email", is_active=True, profile=None) - channel = ChannelFactory.create(membership_is_managed=True) - channel.channel_membership_configs.add( - ChannelMembershipConfigFactory.create( - query={"email__endswith": "@matching.email"} - ) - ) - - update_memberships_for_managed_channel(channel, user_ids=[user.id]) - - mock_log = mocker.patch("channels.membership_api.log.exception") - update_memberships_for_managed_channel(channel, user_ids=[user.id]) - mock_log.assert_called_once_with( - "Channel %s membership update failed due to missing user profile: %s", - channel.name, - user.username, - ) - - -@pytest.mark.usefixtures("indexing_user") -def test_update_memberships_for_managed_channel_empty_queries(mocker): - """Verifies that update_memberships_for_managed_channel() bails if the queries would return all users""" - mock_api = mocker.patch("channels.api.Api", autospec=True).return_value - channel = ChannelFactory.create(membership_is_managed=True) - channel.channel_membership_configs.add( - ChannelMembershipConfigFactory.create( - query={} # an empty query should match all users - ) - ) - - UserFactory.create(is_active=True) # this user will match the `active_users` query - - update_memberships_for_managed_channel(channel) - - mock_api.add_subscriber.assert_not_called() - mock_api.add_contributor.assert_not_called() diff --git a/channels/migrations/0001_add_tokens.py b/channels/migrations/0001_add_tokens.py deleted file mode 100644 index 231ef0f93c..0000000000 --- a/channels/migrations/0001_add_tokens.py +++ /dev/null @@ -1,62 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.10.5 on 2017-10-26 18:35 -from __future__ import unicode_literals - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [migrations.swappable_dependency(settings.AUTH_USER_MODEL)] - - operations = [ - migrations.CreateModel( - name="RedditAccessToken", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("token_value", models.CharField(max_length=255, null=True)), - ("token_expires_at", models.DateTimeField(null=True)), - ( - "user", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, - ), - ), - ], - ), - migrations.CreateModel( - name="RedditRefreshToken", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("token_value", models.CharField(max_length=255, null=True)), - ( - "user", - models.OneToOneField( - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, - ), - ), - ], - ), - ] diff --git a/channels/migrations/0002_add_subscription.py b/channels/migrations/0002_add_subscription.py deleted file mode 100644 index 0fddd94718..0000000000 --- a/channels/migrations/0002_add_subscription.py +++ /dev/null @@ -1,51 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.10 on 2018-03-19 19:08 -from __future__ import unicode_literals - -import channels.models -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("channels", "0001_add_tokens"), - ] - - operations = [ - migrations.CreateModel( - name="Subscription", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("created_on", models.DateTimeField(auto_now_add=True)), - ("updated_on", models.DateTimeField(auto_now=True)), - ("post_id", channels.models.Base36IntegerField()), - ("comment_id", channels.models.Base36IntegerField(null=True)), - ( - "user", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, - ), - ), - ], - ), - migrations.AlterUniqueTogether( - name="subscription", - unique_together=set([("user", "post_id", "comment_id")]), - ), - migrations.AlterIndexTogether( - name="subscription", index_together=set([("post_id", "comment_id")]) - ), - ] diff --git a/channels/migrations/0003_channels_comments_posts.py b/channels/migrations/0003_channels_comments_posts.py deleted file mode 100644 index 273e0f1fc2..0000000000 --- a/channels/migrations/0003_channels_comments_posts.py +++ /dev/null @@ -1,84 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.10 on 2018-05-29 16:04 -from __future__ import unicode_literals - -import channels.models -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [("channels", "0002_add_subscription")] - - operations = [ - migrations.CreateModel( - name="Channel", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("created_on", models.DateTimeField(auto_now_add=True)), - ("updated_on", models.DateTimeField(auto_now=True)), - ("name", models.CharField(max_length=100, unique=True)), - ], - options={"abstract": False}, - ), - migrations.CreateModel( - name="Comment", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("created_on", models.DateTimeField(auto_now_add=True)), - ("updated_on", models.DateTimeField(auto_now=True)), - ("comment_id", channels.models.Base36IntegerField(unique=True)), - ("parent_id", channels.models.Base36IntegerField(null=True)), - ], - options={"abstract": False}, - ), - migrations.CreateModel( - name="Post", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("created_on", models.DateTimeField(auto_now_add=True)), - ("updated_on", models.DateTimeField(auto_now=True)), - ("post_id", channels.models.Base36IntegerField(unique=True)), - ( - "channel", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to="channels.Channel", - ), - ), - ], - options={"abstract": False}, - ), - migrations.AddField( - model_name="comment", - name="post", - field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="channels.Post" - ), - ), - ] diff --git a/channels/migrations/0004_channel_membership_is_managed.py b/channels/migrations/0004_channel_membership_is_managed.py deleted file mode 100644 index 675ef7534c..0000000000 --- a/channels/migrations/0004_channel_membership_is_managed.py +++ /dev/null @@ -1,18 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.10 on 2018-07-05 21:39 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [("channels", "0003_channels_comments_posts")] - - operations = [ - migrations.AddField( - model_name="channel", - name="membership_is_managed", - field=models.BooleanField(default=False), - ) - ] diff --git a/channels/migrations/0005_membership_default_true.py b/channels/migrations/0005_membership_default_true.py deleted file mode 100644 index 820fdcaab5..0000000000 --- a/channels/migrations/0005_membership_default_true.py +++ /dev/null @@ -1,22 +0,0 @@ -""" -Set all membership_is_managed to true at the time this migration is run, -since all Channels come from micromasters at this point -""" -from django.db import migrations - - -def set_membership_to_true(apps, schema_editor): - """Set membership_is_managed to true""" - Channel = apps.get_model("channels", "Channel") - # At the point the migration runs - Channel.objects.all().update(membership_is_managed=True) - - -class Migration(migrations.Migration): - dependencies = [("channels", "0004_channel_membership_is_managed")] - - operations = [ - migrations.RunPython( - set_membership_to_true, reverse_code=migrations.RunPython.noop - ) - ] diff --git a/channels/migrations/0006_link_meta.py b/channels/migrations/0006_link_meta.py deleted file mode 100644 index da3b9e6979..0000000000 --- a/channels/migrations/0006_link_meta.py +++ /dev/null @@ -1,42 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.10 on 2018-07-19 14:52 -from __future__ import unicode_literals - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [("channels", "0005_membership_default_true")] - - operations = [ - migrations.CreateModel( - name="LinkMeta", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("created_on", models.DateTimeField(auto_now_add=True)), - ("updated_on", models.DateTimeField(auto_now=True)), - ("url", models.URLField(max_length=2048, unique=True)), - ("thumbnail", models.URLField(blank=True, max_length=2048, null=True)), - ], - options={"abstract": False}, - ), - migrations.AddField( - model_name="post", - name="link_meta", - field=models.ForeignKey( - null=True, - on_delete=django.db.models.deletion.CASCADE, - to="channels.LinkMeta", - ), - ), - ] diff --git a/channels/migrations/0007_avatar_banner.py b/channels/migrations/0007_avatar_banner.py deleted file mode 100644 index 864ce2ae2b..0000000000 --- a/channels/migrations/0007_avatar_banner.py +++ /dev/null @@ -1,23 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.10 on 2018-07-20 21:41 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [("channels", "0006_link_meta")] - - operations = [ - migrations.AddField( - model_name="channel", - name="avatar", - field=models.ImageField(null=True, upload_to=""), - ), - migrations.AddField( - model_name="channel", - name="banner", - field=models.ImageField(null=True, upload_to=""), - ), - ] diff --git a/channels/migrations/0008_channel_ga_tracking_id.py b/channels/migrations/0008_channel_ga_tracking_id.py deleted file mode 100644 index 0be58f2073..0000000000 --- a/channels/migrations/0008_channel_ga_tracking_id.py +++ /dev/null @@ -1,18 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.10 on 2018-08-01 19:19 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [("channels", "0007_avatar_banner")] - - operations = [ - migrations.AddField( - model_name="channel", - name="ga_tracking_id", - field=models.CharField(blank=True, max_length=24, null=True), - ) - ] diff --git a/channels/migrations/0009_avatar_banner_filename.py b/channels/migrations/0009_avatar_banner_filename.py deleted file mode 100644 index b461aa183b..0000000000 --- a/channels/migrations/0009_avatar_banner_filename.py +++ /dev/null @@ -1,28 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.10 on 2018-08-14 17:51 -from __future__ import unicode_literals - -from django.db import migrations, models -import profiles.utils - - -class Migration(migrations.Migration): - - dependencies = [("channels", "0008_channel_ga_tracking_id")] - - operations = [ - migrations.AlterField( - model_name="channel", - name="avatar", - field=models.ImageField( - max_length=2083, null=True, upload_to=profiles.utils.avatar_uri - ), - ), - migrations.AlterField( - model_name="channel", - name="banner", - field=models.ImageField( - max_length=2083, null=True, upload_to=profiles.utils.banner_uri - ), - ), - ] diff --git a/channels/migrations/0010_avatar_small_medium.py b/channels/migrations/0010_avatar_small_medium.py deleted file mode 100644 index ea43bd4542..0000000000 --- a/channels/migrations/0010_avatar_small_medium.py +++ /dev/null @@ -1,39 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.10 on 2018-08-16 16:49 -from __future__ import unicode_literals - -from django.db import migrations, models -import profiles.utils - - -def nullify_avatars(apps, schema_editor): - """ - Set all avatars to None. Since we don't show avatars yet - this avoids the work of populating avatar_small and avatar_medium - """ - Channel = apps.get_model("channels", "Channel") - # At the point the migration runs - Channel.objects.all().update(avatar_medium=None, avatar_small=None, avatar=None) - - -class Migration(migrations.Migration): - - dependencies = [("channels", "0009_avatar_banner_filename")] - - operations = [ - migrations.AddField( - model_name="channel", - name="avatar_medium", - field=models.ImageField( - max_length=2083, null=True, upload_to=profiles.utils.avatar_uri_medium - ), - ), - migrations.AddField( - model_name="channel", - name="avatar_small", - field=models.ImageField( - max_length=2083, null=True, upload_to=profiles.utils.avatar_uri_small - ), - ), - migrations.RunPython(nullify_avatars, reverse_code=migrations.RunPython.noop), - ] diff --git a/channels/migrations/0011_channel_subscriptions_roles.py b/channels/migrations/0011_channel_subscriptions_roles.py deleted file mode 100644 index 9ac563e3e0..0000000000 --- a/channels/migrations/0011_channel_subscriptions_roles.py +++ /dev/null @@ -1,95 +0,0 @@ -# Generated by Django 2.1.2 on 2018-11-08 19:16 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("auth", "0009_alter_user_last_name_max_length"), - ("channels", "0010_avatar_small_medium"), - ] - - operations = [ - migrations.CreateModel( - name="ChannelGroupRole", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("created_on", models.DateTimeField(auto_now_add=True)), - ("updated_on", models.DateTimeField(auto_now=True)), - ( - "role", - models.CharField( - choices=[ - ("moderators", "moderators"), - ("contributors", "contributors"), - ], - max_length=48, - ), - ), - ( - "channel", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to="channels.Channel", - ), - ), - ( - "group", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="auth.Group" - ), - ), - ], - ), - migrations.CreateModel( - name="ChannelSubscription", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("created_on", models.DateTimeField(auto_now_add=True)), - ("updated_on", models.DateTimeField(auto_now=True)), - ( - "channel", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to="channels.Channel", - ), - ), - ( - "user", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, - ), - ), - ], - ), - migrations.AlterUniqueTogether( - name="channelsubscription", unique_together={("user", "channel")} - ), - migrations.AlterUniqueTogether( - name="channelgrouprole", unique_together={("channel", "group", "role")} - ), - migrations.AlterIndexTogether( - name="channelgrouprole", index_together={("channel", "role")} - ), - ] diff --git a/channels/migrations/0012_add_post_type_and_article.py b/channels/migrations/0012_add_post_type_and_article.py deleted file mode 100644 index 22a4e2db0b..0000000000 --- a/channels/migrations/0012_add_post_type_and_article.py +++ /dev/null @@ -1,58 +0,0 @@ -# Generated by Django 2.1.2 on 2018-11-14 22:32 - -from django.conf import settings -import django.contrib.postgres.fields.jsonb -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("channels", "0011_channel_subscriptions_roles"), - ] - - operations = [ - migrations.CreateModel( - name="Article", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("created_on", models.DateTimeField(auto_now_add=True)), - ("updated_on", models.DateTimeField(auto_now=True)), - ("content", django.contrib.postgres.fields.jsonb.JSONField()), - ( - "author", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, - ), - ), - ], - options={"abstract": False}, - ), - migrations.AddField( - model_name="post", - name="post_type", - field=models.CharField( - choices=[("link", "link"), ("self", "self"), ("article", "article")], - max_length=10, - null=True, - ), - ), - migrations.AddField( - model_name="article", - name="post", - field=models.OneToOneField( - on_delete=django.db.models.deletion.CASCADE, to="channels.Post" - ), - ), - ] diff --git a/channels/migrations/0013_add_channel_widgetlist.py b/channels/migrations/0013_add_channel_widgetlist.py deleted file mode 100644 index 68b4195e5e..0000000000 --- a/channels/migrations/0013_add_channel_widgetlist.py +++ /dev/null @@ -1,24 +0,0 @@ -# Generated by Django 2.1.2 on 2018-12-06 22:15 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ("widgets", "0001_initial"), - ("channels", "0012_add_post_type_and_article"), - ] - - operations = [ - migrations.AddField( - model_name="channel", - name="widget_list", - field=models.ForeignKey( - null=True, - on_delete=django.db.models.deletion.SET_NULL, - to="widgets.WidgetList", - ), - ) - ] diff --git a/channels/migrations/0014_add_allowed_post_types.py b/channels/migrations/0014_add_allowed_post_types.py deleted file mode 100644 index e4aeb5156c..0000000000 --- a/channels/migrations/0014_add_allowed_post_types.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 2.1.2 on 2018-12-11 18:37 - -import bitfield.models -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [("channels", "0013_add_channel_widgetlist")] - - operations = [ - migrations.AddField( - model_name="channel", - name="allowed_post_types", - field=bitfield.models.BitField( - [("link", "link"), ("self", "self"), ("article", "article")], - default=None, - null=True, - ), - ) - ] diff --git a/channels/migrations/0015_add_article_cover_image.py b/channels/migrations/0015_add_article_cover_image.py deleted file mode 100644 index 0deacd312f..0000000000 --- a/channels/migrations/0015_add_article_cover_image.py +++ /dev/null @@ -1,42 +0,0 @@ -# Generated by Django 2.1.2 on 2018-12-18 19:27 - -from django.db import migrations, models -import open_discussions.utils -import profiles.utils - - -def article_image_uri_small(instance, filename): - """ - upload_to handler for Article.cover_image_small - """ - return open_discussions.utils.generate_filepath( - filename, instance.post.post_id, "_article_small", "article" - ) - - -class Migration(migrations.Migration): - - dependencies = [("channels", "0014_add_allowed_post_types")] - - operations = [ - migrations.AddField( - model_name="article", - name="cover_image", - field=models.ImageField( - blank=True, - max_length=2083, - null=True, - upload_to=profiles.utils.article_image_uri, - ), - ), - migrations.AddField( - model_name="article", - name="cover_image_small", - field=models.ImageField( - blank=True, - max_length=2083, - null=True, - upload_to=article_image_uri_small, - ), - ), - ] diff --git a/channels/migrations/0016_add_channel_fields.py b/channels/migrations/0016_add_channel_fields.py deleted file mode 100644 index bb093b9109..0000000000 --- a/channels/migrations/0016_add_channel_fields.py +++ /dev/null @@ -1,29 +0,0 @@ -# Generated by Django 2.1.2 on 2019-01-08 19:59 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [("channels", "0015_add_article_cover_image")] - - operations = [ - migrations.AddField( - model_name="channel", - name="channel_type", - field=models.CharField( - choices=[ - ("private", "Private"), - ("public", "Public"), - ("restricted", "Restricted"), - ], - max_length=20, - null=True, - ), - ), - migrations.AddField( - model_name="channel", - name="title", - field=models.CharField(max_length=100, null=True, unique=True), - ), - ] diff --git a/channels/migrations/0017_remove_unique.py b/channels/migrations/0017_remove_unique.py deleted file mode 100644 index 1ae434443a..0000000000 --- a/channels/migrations/0017_remove_unique.py +++ /dev/null @@ -1,16 +0,0 @@ -# Generated by Django 2.1.2 on 2019-01-10 18:31 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [("channels", "0016_add_channel_fields")] - - operations = [ - migrations.AlterField( - model_name="channel", - name="title", - field=models.CharField(max_length=100, null=True), - ) - ] diff --git a/channels/migrations/0018_add_post_and_comment_fields.py b/channels/migrations/0018_add_post_and_comment_fields.py deleted file mode 100644 index 477403a44f..0000000000 --- a/channels/migrations/0018_add_post_and_comment_fields.py +++ /dev/null @@ -1,79 +0,0 @@ -# Generated by Django 2.1.5 on 2019-01-18 19:04 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("channels", "0017_remove_unique"), - ] - - operations = [ - migrations.AddField( - model_name="comment", - name="author", - field=models.ForeignKey( - null=True, - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, - ), - ), - migrations.AddField( - model_name="comment", name="deleted", field=models.BooleanField(null=True) - ), - migrations.AddField( - model_name="comment", name="edited", field=models.BooleanField(null=True) - ), - migrations.AddField( - model_name="comment", name="removed", field=models.BooleanField(null=True) - ), - migrations.AddField( - model_name="comment", name="score", field=models.BigIntegerField(null=True) - ), - migrations.AddField( - model_name="comment", name="text", field=models.TextField(null=True) - ), - migrations.AddField( - model_name="post", - name="author", - field=models.ForeignKey( - null=True, - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, - ), - ), - migrations.AddField( - model_name="post", name="deleted", field=models.BooleanField(null=True) - ), - migrations.AddField( - model_name="post", name="edited", field=models.BooleanField(null=True) - ), - migrations.AddField( - model_name="post", - name="num_comments", - field=models.BigIntegerField(null=True), - ), - migrations.AddField( - model_name="post", name="removed", field=models.BooleanField(null=True) - ), - migrations.AddField( - model_name="post", name="score", field=models.BigIntegerField(null=True) - ), - migrations.AddField( - model_name="post", name="text", field=models.TextField(null=True) - ), - migrations.AddField( - model_name="post", - name="title", - field=models.CharField(max_length=300, null=True), - ), - migrations.AddField( - model_name="post", - name="url", - field=models.URLField(max_length=2048, null=True), - ), - ] diff --git a/channels/migrations/0019_channel_about.py b/channels/migrations/0019_channel_about.py deleted file mode 100644 index 3a2f612fdc..0000000000 --- a/channels/migrations/0019_channel_about.py +++ /dev/null @@ -1,17 +0,0 @@ -# Generated by Django 2.1.5 on 2019-01-29 16:04 - -import django.contrib.postgres.fields.jsonb -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [("channels", "0018_add_post_and_comment_fields")] - - operations = [ - migrations.AddField( - model_name="channel", - name="about", - field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True), - ) - ] diff --git a/channels/migrations/0020_remove_article_thumbnail.py b/channels/migrations/0020_remove_article_thumbnail.py deleted file mode 100644 index b2cc5cfd9c..0000000000 --- a/channels/migrations/0020_remove_article_thumbnail.py +++ /dev/null @@ -1,12 +0,0 @@ -# Generated by Django 2.1.5 on 2019-02-06 19:52 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [("channels", "0019_channel_about")] - - operations = [ - migrations.RemoveField(model_name="article", name="cover_image_small") - ] diff --git a/channels/migrations/0021_post_preview_text.py b/channels/migrations/0021_post_preview_text.py deleted file mode 100644 index d7d2fb07d2..0000000000 --- a/channels/migrations/0021_post_preview_text.py +++ /dev/null @@ -1,14 +0,0 @@ -# Generated by Django 2.1.5 on 2019-02-12 18:57 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [("channels", "0020_remove_article_thumbnail")] - - operations = [ - migrations.AddField( - model_name="post", name="preview_text", field=models.TextField(null=True) - ) - ] diff --git a/channels/migrations/0022_add_channel_invitation.py b/channels/migrations/0022_add_channel_invitation.py deleted file mode 100644 index 26bbfbaf58..0000000000 --- a/channels/migrations/0022_add_channel_invitation.py +++ /dev/null @@ -1,64 +0,0 @@ -# Generated by Django 2.1.5 on 2019-02-26 16:28 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("channels", "0021_post_preview_text"), - ] - - operations = [ - migrations.CreateModel( - name="ChannelInvitation", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("created_on", models.DateTimeField(auto_now_add=True)), - ("updated_on", models.DateTimeField(auto_now=True)), - ("email", models.EmailField(max_length=254)), - ("redeemed", models.BooleanField(db_index=True, default=False)), - ( - "channel", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to="channels.Channel", - ), - ), - ( - "inviter", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="sent_invitations", - to=settings.AUTH_USER_MODEL, - ), - ), - ( - "user", - models.ForeignKey( - null=True, - on_delete=django.db.models.deletion.CASCADE, - related_name="received_invitations", - to=settings.AUTH_USER_MODEL, - ), - ), - ], - ), - migrations.AlterUniqueTogether( - name="channelinvitation", unique_together={("channel", "email")} - ), - migrations.AlterIndexTogether( - name="channelinvitation", index_together={("email", "redeemed")} - ), - ] diff --git a/channels/migrations/0023_add_subscriptions_related_name.py b/channels/migrations/0023_add_subscriptions_related_name.py deleted file mode 100644 index 216dcce943..0000000000 --- a/channels/migrations/0023_add_subscriptions_related_name.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 2.1.11 on 2019-08-15 18:08 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [("channels", "0022_add_channel_invitation")] - - operations = [ - migrations.AlterField( - model_name="subscription", - name="user", - field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="content_subscriptions", - to=settings.AUTH_USER_MODEL, - ), - ) - ] diff --git a/channels/migrations/0024_channel_membership_config.py b/channels/migrations/0024_channel_membership_config.py deleted file mode 100644 index 121d6386f6..0000000000 --- a/channels/migrations/0024_channel_membership_config.py +++ /dev/null @@ -1,37 +0,0 @@ -# Generated by Django 2.2.10 on 2020-03-12 19:42 - -import django.contrib.postgres.fields.jsonb -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [("channels", "0023_add_subscriptions_related_name")] - - operations = [ - migrations.CreateModel( - name="ChannelMembershipConfig", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("created_on", models.DateTimeField(auto_now_add=True)), - ("updated_on", models.DateTimeField(auto_now=True)), - ("name", models.CharField(max_length=150)), - ("query", django.contrib.postgres.fields.jsonb.JSONField(default=dict)), - ( - "channels", - models.ManyToManyField( - related_name="channel_membership_configs", to="channels.Channel" - ), - ), - ], - options={"abstract": False}, - ) - ] diff --git a/channels/migrations/0025_spamcheckresult.py b/channels/migrations/0025_spamcheckresult.py deleted file mode 100644 index b9d84e1711..0000000000 --- a/channels/migrations/0025_spamcheckresult.py +++ /dev/null @@ -1,49 +0,0 @@ -# Generated by Django 2.2.13 on 2020-07-24 13:47 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ("contenttypes", "0002_remove_content_type_name"), - ("channels", "0024_channel_membership_config"), - ] - - operations = [ - migrations.CreateModel( - name="SpamCheckResult", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("created_on", models.DateTimeField(auto_now_add=True)), - ("updated_on", models.DateTimeField(auto_now=True)), - ("object_id", models.PositiveIntegerField(null=True)), - ("user_ip", models.CharField(blank=True, max_length=256, null=True)), - ("user_agent", models.TextField(blank=True, null=True)), - ("checks", models.IntegerField(default=1)), - ("is_spam", models.BooleanField(default=False)), - ( - "content_type", - models.ForeignKey( - limit_choices_to={"model__in": ("post", "comment")}, - null=True, - on_delete=django.db.models.deletion.CASCADE, - to="contenttypes.ContentType", - ), - ), - ], - options={ - "unique_together": {("content_type", "object_id")}, - "index_together": {("content_type", "object_id")}, - }, - ) - ] diff --git a/channels/migrations/0026_channel_moderator_notifications.py b/channels/migrations/0026_channel_moderator_notifications.py deleted file mode 100644 index df884a28f5..0000000000 --- a/channels/migrations/0026_channel_moderator_notifications.py +++ /dev/null @@ -1,16 +0,0 @@ -# Generated by Django 2.2.13 on 2020-11-06 20:28 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [("channels", "0025_spamcheckresult")] - - operations = [ - migrations.AddField( - model_name="channel", - name="moderator_notifications", - field=models.BooleanField(default=False), - ) - ] diff --git a/channels/migrations/0027_post_exclude_from_frontpage_emails.py b/channels/migrations/0027_post_exclude_from_frontpage_emails.py deleted file mode 100644 index fd838aaf49..0000000000 --- a/channels/migrations/0027_post_exclude_from_frontpage_emails.py +++ /dev/null @@ -1,16 +0,0 @@ -# Generated by Django 2.2.20 on 2021-05-13 23:43 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [("channels", "0026_channel_moderator_notifications")] - - operations = [ - migrations.AddField( - model_name="post", - name="exclude_from_frontpage_emails", - field=models.BooleanField(null=True), - ) - ] diff --git a/channels/migrations/0028_blankable_fields.py b/channels/migrations/0028_blankable_fields.py deleted file mode 100644 index 1d4bee3c9f..0000000000 --- a/channels/migrations/0028_blankable_fields.py +++ /dev/null @@ -1,42 +0,0 @@ -# Generated by Django 2.2.27 on 2022-06-09 20:36 - -from django.db import migrations, models -import profiles.utils - - -class Migration(migrations.Migration): - - dependencies = [("channels", "0027_post_exclude_from_frontpage_emails")] - - operations = [ - migrations.AlterField( - model_name="channel", - name="avatar_medium", - field=models.ImageField( - blank=True, - max_length=2083, - null=True, - upload_to=profiles.utils.avatar_uri_medium, - ), - ), - migrations.AlterField( - model_name="channel", - name="avatar_small", - field=models.ImageField( - blank=True, - max_length=2083, - null=True, - upload_to=profiles.utils.avatar_uri_small, - ), - ), - migrations.AlterField( - model_name="channel", - name="banner", - field=models.ImageField( - blank=True, - max_length=2083, - null=True, - upload_to=profiles.utils.banner_uri, - ), - ), - ] diff --git a/channels/migrations/0029_alter_article_content_alter_channel_about_and_more.py b/channels/migrations/0029_alter_article_content_alter_channel_about_and_more.py deleted file mode 100644 index ce60917130..0000000000 --- a/channels/migrations/0029_alter_article_content_alter_channel_about_and_more.py +++ /dev/null @@ -1,28 +0,0 @@ -# Generated by Django 4.1.9 on 2023-06-08 13:00 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("channels", "0028_blankable_fields"), - ] - - operations = [ - migrations.AlterField( - model_name="article", - name="content", - field=models.JSONField(), - ), - migrations.AlterField( - model_name="channel", - name="about", - field=models.JSONField(blank=True, null=True), - ), - migrations.AlterField( - model_name="channelmembershipconfig", - name="query", - field=models.JSONField(default=dict), - ), - ] diff --git a/channels/migrations/__init__.py b/channels/migrations/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/channels/models.py b/channels/models.py deleted file mode 100644 index 9be651e9b8..0000000000 --- a/channels/models.py +++ /dev/null @@ -1,390 +0,0 @@ -"""Channels models""" -from uuid import uuid4 - -import base36 -from bitfield import BitField -from django.conf import settings -from django.contrib.auth.models import User, Group -from django.contrib.contenttypes.fields import GenericForeignKey -from django.contrib.contenttypes.models import ContentType -from django.db.models import JSONField -from django.db import models - -from widgets.models import WidgetList - -from channels.constants import ( - ROLE_CHOICES, - VALID_EXTENDED_POST_CHOICES, - VALID_CHANNEL_CHOICES, - LINK_TYPE_SELF, - LINK_TYPE_LINK, -) -from channels.utils import ( - AVATAR_MEDIUM_MAX_DIMENSION, - AVATAR_SMALL_MAX_DIMENSION, - reddit_slugify, - render_article_text, -) -from open_discussions.models import TimestampedModel -from open_discussions.utils import markdown_to_plain_text -from profiles.utils import ( - avatar_uri, - avatar_uri_small, - avatar_uri_medium, - banner_uri, - make_thumbnail, - article_image_uri, -) - - -class Base36IntegerField(models.BigIntegerField): - """Handles a Reddit base36 encoded string id which is stored as a base10 integer""" - - def get_prep_value(self, value): - """Converts from base36 to base10 for the DB""" - if value is not None: - return base36.loads(value) - return value - - def from_db_value( - self, value, expression, connection - ): # pylint: disable=unused-argument - """Converts from base10 to base36 for application""" - if value is None: - return value - return base36.dumps(value) - - def to_python(self, value): - """Converts from base10 to base36 for application""" - if not value: - return value - - return base36.dumps(value) - - -class RedditRefreshToken(models.Model): - """ - Tracks the refresh token for a given user - """ - - user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) - - token_value = models.CharField(null=True, max_length=255) - - def __str__(self): - return "{}".format(self.token_value) - - -class RedditAccessToken(models.Model): - """ - Tracks the access tokens for a given user - - We generate a new one whenever the latest one expires and then clean up stale ones in a cron - """ - - user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) - - token_value = models.CharField(null=True, max_length=255) - token_expires_at = models.DateTimeField(null=True) - - @classmethod - def valid_tokens_for_user(cls, user, threshold_date): - """ - Returns a QuerySet for valid tokens for the user and threshold_date - - Args: - user (User): the user to find tokens for - threshold_date (datetime): the date before which the tokens should still be valid - - Returns: - QuerySet: query set filtered to nonexpired tokens sorted by most recent first - """ - return cls.objects.filter( - user=user, token_expires_at__gt=threshold_date - ).order_by("-token_expires_at") - - def __str__(self): - return "{} expires: {}".format(self.token_value, self.token_expires_at) - - -class Subscription(TimestampedModel): - """ - Tracks user subscriptions to a post or a comment - """ - - user = models.ForeignKey( - settings.AUTH_USER_MODEL, - on_delete=models.CASCADE, - related_name="content_subscriptions", - ) - post_id = Base36IntegerField() - comment_id = Base36IntegerField(null=True) - - def __str__(self): - """Prints the subscription as a str""" - return "{} is subscribed to post_id: {}, comment_id: {}".format( - self.user, self.post_id, self.comment_id - ) - - class Meta: - unique_together = (("user", "post_id", "comment_id"),) - index_together = (("post_id", "comment_id"),) - - -class Channel(TimestampedModel): - """ - Keep track of channels which are stored in reddit - """ - - name = models.CharField(unique=True, max_length=100) - title = models.CharField(max_length=100, null=True) - membership_is_managed = models.BooleanField(default=False) - - avatar = models.ImageField(null=True, max_length=2083, upload_to=avatar_uri) - avatar_small = models.ImageField( - null=True, max_length=2083, upload_to=avatar_uri_small, blank=True - ) - avatar_medium = models.ImageField( - null=True, max_length=2083, upload_to=avatar_uri_medium, blank=True - ) - banner = models.ImageField( - null=True, max_length=2083, upload_to=banner_uri, blank=True - ) - ga_tracking_id = models.CharField(max_length=24, blank=True, null=True) - widget_list = models.ForeignKey(WidgetList, on_delete=models.SET_NULL, null=True) - about = JSONField(blank=True, null=True) - - # Bitfield mutates the list passed to - allowed_post_types = BitField(flags=VALID_EXTENDED_POST_CHOICES, null=True) - channel_type = models.CharField( - max_length=20, choices=VALID_CHANNEL_CHOICES, null=True - ) - moderator_notifications = models.BooleanField(default=False, null=False) - - def save( - self, *args, update_image=False, **kwargs - ): # pylint: disable=arguments-differ - if update_image: - if self.avatar: - small_thumbnail = make_thumbnail( - self.avatar, AVATAR_SMALL_MAX_DIMENSION - ) - medium_thumbnail = make_thumbnail( - self.avatar, AVATAR_MEDIUM_MAX_DIMENSION - ) - - # name doesn't matter here, we use upload_to to produce that - self.avatar_small.save(f"{uuid4().hex}.jpg", small_thumbnail) - self.avatar_medium.save(f"{uuid4().hex}.jpg", medium_thumbnail) - else: - self.avatar_small = None - self.avatar_medium = None - - return super().save(*args, **kwargs) - - @property - def subscribers(self): - """ - Retrieve channel subscribers - - Returns: - iterable of User: users who are channel subscribers - - """ - return User.objects.filter( - is_active=True, - id__in=ChannelSubscription.objects.filter(channel=self) - .order_by("created_on") - .values_list("user", flat=True), - ).iterator() - - def __str__(self): - return f"{self.name}" - - -class ChannelInvitation(TimestampedModel): - """A pending invitation to a channel""" - - channel = models.ForeignKey(Channel, on_delete=models.CASCADE) - inviter = models.ForeignKey( - settings.AUTH_USER_MODEL, - on_delete=models.CASCADE, - related_name="sent_invitations", - ) - user = models.ForeignKey( - settings.AUTH_USER_MODEL, - on_delete=models.CASCADE, - null=True, - related_name="received_invitations", - ) - email = models.EmailField() - redeemed = models.BooleanField(default=False, db_index=True) - - class Meta: - index_together = (("email", "redeemed"),) - unique_together = (("channel", "email"),) - - def __str__(self): - return f"Invitation to {self.channel.title} by {self.inviter.profile.name} for {self.email}" - - -class LinkMeta(TimestampedModel): - """ - The thumbnail embedly provides for a particular URL - """ - - url = models.URLField(unique=True, max_length=2048) - thumbnail = models.URLField(blank=True, null=True, max_length=2048) - - def __str__(self): - return f"{self.url} with thumbnail {self.thumbnail}" - - -class Post(TimestampedModel): - """Data model for posts""" - - channel = models.ForeignKey(Channel, on_delete=models.CASCADE) - author = models.ForeignKey(User, null=True, on_delete=models.CASCADE) - link_meta = models.ForeignKey(LinkMeta, null=True, on_delete=models.CASCADE) - - post_id = Base36IntegerField(unique=True) - post_type = models.CharField( - max_length=10, choices=VALID_EXTENDED_POST_CHOICES, null=True - ) - - title = models.CharField(max_length=300, null=True) - text = models.TextField(null=True) - preview_text = models.TextField(null=True) - url = models.URLField(max_length=2048, null=True) - score = models.BigIntegerField(null=True) - num_comments = models.BigIntegerField(null=True) - edited = models.BooleanField(null=True) - removed = models.BooleanField(null=True) - deleted = models.BooleanField(null=True) - exclude_from_frontpage_emails = models.BooleanField(null=True) - - @property - def plain_text(self): - """Returns a plaintext represention of the post""" - if getattr(self, "article", None) is not None: - return render_article_text(self.article.content) - elif self.post_type == LINK_TYPE_SELF: - return markdown_to_plain_text(self.text) - elif self.post_type == LINK_TYPE_LINK: - return self.preview_text - return None - - @property - def thumbnail_url(self): - """Returns the url to the thumbnail""" - return self.link_meta.thumbnail if self.link_meta is not None else None - - @property - def slug(self): - """Slugifies the post title""" - return reddit_slugify(self.title) - - def __str__(self): - return f"{self.post_id} on channel {self.channel}" - - -class Article(TimestampedModel): - """Data for an article post_type""" - - author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) - post = models.OneToOneField(Post, on_delete=models.CASCADE) - cover_image = models.ImageField( - null=True, blank=True, max_length=2083, upload_to=article_image_uri - ) - content = JSONField() - - def __str__(self): - return f"{self.post.id} on channel {self.post.channel} by {self.author.profile.name}" - - -class Comment(TimestampedModel): - """Data model for post comments""" - - post = models.ForeignKey(Post, on_delete=models.CASCADE) - author = models.ForeignKey(User, null=True, on_delete=models.CASCADE) - - comment_id = Base36IntegerField(unique=True) - parent_id = Base36IntegerField(null=True) - - text = models.TextField(null=True) - score = models.BigIntegerField(null=True) - edited = models.BooleanField(null=True) - removed = models.BooleanField(null=True) - deleted = models.BooleanField(null=True) - - def __str__(self): - return f"{self.comment_id} on post {self.post}" - - -class ChannelSubscription(TimestampedModel): - """ - Keep track of channel subscribers - """ - - channel = models.ForeignKey(Channel, on_delete=models.CASCADE) - user = models.ForeignKey(User, on_delete=models.CASCADE) - - class Meta: - unique_together = (("user", "channel"),) - - def __str__(self): - return f"User {self.user.username} subscription for Channel {self.channel.name}" - - -class ChannelGroupRole(TimestampedModel): - """ - Keep track of channel moderators and contributors - """ - - channel = models.ForeignKey(Channel, on_delete=models.CASCADE) - group = models.ForeignKey(Group, on_delete=models.CASCADE) - role = models.CharField(max_length=48, choices=zip(ROLE_CHOICES, ROLE_CHOICES)) - - class Meta: - unique_together = (("channel", "group", "role"),) - index_together = (("channel", "role"),) - - def __str__(self): - return ( - f"Group {self.group.name} role {self.role} for Channel {self.channel.name}" - ) - - -class ChannelMembershipConfig(TimestampedModel): - """Data model for managed channel membership configuration""" - - name = models.CharField(max_length=150) - query = JSONField(default=dict) - channels = models.ManyToManyField( - Channel, related_name="channel_membership_configs" - ) - - def __str__(self): - return self.name - - -class SpamCheckResult(TimestampedModel): - """Data model for spam checks""" - - content_type = models.ForeignKey( - ContentType, - null=True, - limit_choices_to={"model__in": ("post", "comment")}, - on_delete=models.CASCADE, - ) - object_id = models.PositiveIntegerField(null=True) - content_object = GenericForeignKey("content_type", "object_id") - - user_ip = models.CharField(max_length=256, null=True, blank=True) - user_agent = models.TextField(null=True, blank=True) - checks = models.IntegerField(default=1) - is_spam = models.BooleanField(default=False) - - class Meta: - unique_together = (("content_type", "object_id"),) - index_together = (("content_type", "object_id"),) diff --git a/channels/models_test.py b/channels/models_test.py deleted file mode 100644 index d650f8b7a7..0000000000 --- a/channels/models_test.py +++ /dev/null @@ -1,32 +0,0 @@ -"""Tests for channel models""" -import pytest - -from channels.factories.models import ChannelMembershipConfigFactory, ChannelFactory -from open_discussions import features - - -@pytest.mark.django_db -@pytest.mark.parametrize("moira_enabled", [True, False]) -@pytest.mark.parametrize( - "query", - [ - {"email__iendswith": "@.mit.edu"}, - {"moira_lists": ["list1"]}, - {"moira_lists": ["list1", "list2"]}, - ], -) -def test_channel_membership_config_save(mocker, settings, query, moira_enabled): - """Test that update_moira_list_users is called for every moira list in the config""" - settings.FEATURES[features.MOIRA] = moira_enabled - mock_update_moira = mocker.patch("moira_lists.tasks.update_moira_list_users.delay") - channel = ChannelFactory.create(membership_is_managed=True) - config = ChannelMembershipConfigFactory.create() - channel.channel_membership_configs.add(config) - config.query = query - config.save() - if moira_enabled and "moira_lists" in query: - mock_update_moira.assert_called_once_with( - query["moira_lists"], channel_ids=[channel.id] - ) - else: - mock_update_moira.assert_not_called() diff --git a/channels/proxies.py b/channels/proxies.py deleted file mode 100644 index 0fe3e8fc7f..0000000000 --- a/channels/proxies.py +++ /dev/null @@ -1,199 +0,0 @@ -"""Object proxies""" -from django.utils.functional import SimpleLazyObject -from wrapt import ObjectProxy - -from channels.models import Channel, Post - - -class PostProxy(ObjectProxy): - # pylint: disable=protected-access - """ - Proxies properties to a Submission or a Post - - This allows properties to be proxied to the Submission unless otherwise overridden - """ - - def __init__(self, submission, post): - """ - Args: - submission (praw.models.reddit.submission.Submission): a PRAW submission object - post (channels.models.Post): the post associated with the submission - """ - # treat submission as the primary proxy target - super().__init__(submission) - # store the post so @property overrides can reference it - self._self_submission = submission - self._self_post = post - - def __eq__(self, other): - """PostProxy equality delegates to submission and post equality checks""" - # isinstance doesn't work here because ObjectProxy spoofs that - if hasattr(other, "_self_submission") and hasattr(other, "_self_post"): - # check the submission first because post may be lazy - return ( - other._self_submission == self._self_submission - and other._self_post == self._self_post - ) - return False - - def __str__(self): - """String representation""" - return f"PostProxy for submission: {self._self_submission.id}" - - @property - def channel(self): - """Return the post channel""" - return self._self_post.channel - - @property - def link_meta(self): - """Return the LinkMeta for this post""" - return self._self_post.link_meta - - @property - def post_type(self): - """Return the post_type""" - return self._self_post.post_type - - @property - def article(self): - """Return the Article for this post""" - return self._self_post.article if hasattr(self._self_post, "article") else None - - @property - def article_content(self): - """Return the article content for this post""" - return self.article.content if self.article is not None else None - - @property - def preview_text(self): - """Return preview_text for this post""" - return self._self_post.preview_text - - @property - def removed(self): - """Return removed flag for this post""" - return self._self_post.removed - - -def proxy_post(submission): - """ - Helper function to proxy a submission - - Args: - submission (praw.models.Submission): submission to proxy - - Returns: - ProxyPost: proxied post - """ - return PostProxy( - submission, SimpleLazyObject(lambda: Post.objects.get(post_id=submission.id)) - ) - - -def proxy_posts(submissions): - """ - Helper function to proxy submissions and posts. - - Args: - submissions (list of praw.models.Submission): - A list of submissions - - Returns: - list of ProxyPost: list of proxied posts - """ - posts = { - post.post_id: post - for post in Post.objects.filter( - post_id__in=[submission.id for submission in submissions] - ).select_related("article", "link_meta", "channel") - } - return [ - PostProxy(submission, posts[submission.id]) - for submission in submissions - if submission.id in posts - ] - - -class ChannelProxy(ObjectProxy): - """ - Proxies properties to a Subreddit or a Channel - - This allows properties to be proxied to the Subreddit unless otherwise overridden - """ - - def __init__(self, subreddit, channel): - """ - Args: - subreddit (praw.models.reddit.subreddit.Subreddit): a PRAW subreddit object - channel (channels.models.Channel): the channel associated with the subreddit - """ - # treat subreddit as the primary proxy target - super().__init__(subreddit) - # store the channel so @property overrides can reference it - self._self_subreddit = subreddit - self._self_channel = channel - - def __getattr__(self, name): - """ - Avoid proxying __getattr__ but "proxy" to the wrapped object on any non-local fields - """ - if name in ( - "allowed_post_types", - "membership_is_managed", - "avatar", - "avatar_small", - "avatar_medium", - "ga_tracking_id", - "banner", - "widget_list_id", - "about", - ): - return getattr(self._self_channel, name) - else: - return getattr(self.__wrapped__, name) - - @property - def channel(self): - """Read-only access to the channel""" - return self._self_channel - - -def proxy_channel(subreddit): - """ - Helper function to proxy a submission - - Args: - subreddit (praw.models.Subreddit): subreddit to proxy - - Returns: - ChannelProxy: proxied channel - """ - return ChannelProxy( - subreddit, - SimpleLazyObject(lambda: Channel.objects.get(name=subreddit.display_name)), - ) - - -def proxy_channels(subreddits): - """ - Helper function to proxy submissions and posts. - - Args: - subreddits (list of praw.models.Subreddit): - A list of subreddits - - Returns: - list of ChannelProxy: list of proxied channels - """ - channels = { - channel.name: channel - for channel in Channel.objects.filter( - name__in=[subreddit.display_name for subreddit in subreddits] - ) - } - return [ - ChannelProxy(subreddit, channels[subreddit.display_name]) - for subreddit in subreddits - if subreddit.display_name in channels - ] diff --git a/channels/serializers/__init__.py b/channels/serializers/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/channels/serializers/base.py b/channels/serializers/base.py deleted file mode 100644 index c5db9df9b2..0000000000 --- a/channels/serializers/base.py +++ /dev/null @@ -1,45 +0,0 @@ -"""Base serializers""" -from django.contrib.auth import get_user_model - -from rest_framework import serializers - -from profiles.models import Profile - -User = get_user_model() - - -class RedditObjectSerializer(serializers.Serializer): - """Serializer class for reddit objects (posts, comments)""" - - def _get_user(self, instance): - """ - Look up user in the context from the post author - - Args: - instance (praw.models.Submission): - The post to look up the user for - """ - if instance.author is None: - return None - if "users" in self.context: - return self.context["users"].get(instance.author.name) - else: - return ( - User.objects.filter(username=instance.author.name) - .select_related("profile") - .first() - ) - - def _get_profile(self, instance): - """Return a user profile if it exists, else None - Args: - instance (praw.models.Submission): - The post to look up the user for - - Returns: - profiles.models.Profile: the user profile if it exists - """ - try: - return self._get_user(instance).profile - except (AttributeError, Profile.DoesNotExist): - return None diff --git a/channels/serializers/channels.py b/channels/serializers/channels.py deleted file mode 100644 index f63740a690..0000000000 --- a/channels/serializers/channels.py +++ /dev/null @@ -1,241 +0,0 @@ -""" -Serializers for channel REST APIs -""" -from rest_framework import serializers -from rest_framework.exceptions import ValidationError - -from channels.constants import VALID_CHANNEL_TYPES, VALID_LINK_TYPES -from channels.models import Channel -from open_discussions.utils import filter_dict_with_renamed_keys -from open_discussions.serializers import WriteableSerializerMethodField - - -class ChannelAppearanceMixin(serializers.Serializer): - """Serializer mixin for channel appearance""" - - avatar = WriteableSerializerMethodField() - avatar_small = serializers.SerializerMethodField() - avatar_medium = serializers.SerializerMethodField() - banner = WriteableSerializerMethodField() - - def get_avatar(self, channel) -> str: - """Get the avatar image URL""" - return channel.avatar.url if channel.avatar else None - - def get_avatar_small(self, channel) -> str: - """Get the avatar image small URL""" - return channel.avatar_small.url if channel.avatar_small else None - - def get_avatar_medium(self, channel) -> str: - """Get the avatar image medium URL""" - return channel.avatar_medium.url if channel.avatar_medium else None - - def get_banner(self, channel) -> str: - """Get the banner image URL""" - return channel.banner.url if channel.banner else None - - def validate_avatar(self, value): - """Empty validation function, but this is required for WriteableSerializerMethodField""" - if not hasattr(value, "name"): - raise ValidationError("Expected avatar to be a file") - return {"avatar": value} - - def validate_banner(self, value): - """Empty validation function, but this is required for WriteableSerializerMethodField""" - if not hasattr(value, "name"): - raise ValidationError("Expected banner to be a file") - return {"banner": value} - - -class ChannelSerializer(ChannelAppearanceMixin, serializers.Serializer): - """Serializer for channels""" - - title = serializers.CharField() - name = serializers.CharField(source="display_name") - description = serializers.CharField(required=False, allow_blank=True) - public_description = serializers.CharField( - required=False, allow_blank=True, max_length=80 - ) - channel_type = serializers.ChoiceField( - source="subreddit_type", choices=VALID_CHANNEL_TYPES - ) - link_type = serializers.ChoiceField( - required=False, - allow_blank=True, - source="submission_type", - choices=VALID_LINK_TYPES, - ) - allowed_post_types = WriteableSerializerMethodField() - user_is_contributor = serializers.SerializerMethodField() - user_is_moderator = serializers.SerializerMethodField() - user_is_subscriber = serializers.SerializerMethodField() - widget_list_id = serializers.IntegerField( - required=False, allow_null=True, read_only=True - ) - membership_is_managed = serializers.BooleanField(required=False) - ga_tracking_id = WriteableSerializerMethodField(allow_null=True) - about = serializers.JSONField(allow_null=True, default=None) - moderator_notifications = WriteableSerializerMethodField() - - def get_user_is_contributor(self, channel) -> bool: - """ - Get is_contributor from reddit object. - For some reason reddit returns None instead of False so an explicit conversion is done here. - """ - return bool(channel.user_is_contributor) - - def get_user_is_moderator(self, channel) -> bool: - """ - Get is_moderator from reddit object. - For some reason reddit returns None instead of False so an explicit conversion is done here. - """ - return bool(channel.user_is_moderator) - - def get_user_is_subscriber(self, channel) -> bool: - """ - Get user_is_subscriber from reddit object. - For some reason reddit returns None instead of False so an explicit conversion is done here. - """ - return bool(channel.user_is_subscriber) - - def get_moderator_notifications(self, channel): - """Get moderator notifications""" - return ( - channel._self_channel.moderator_notifications # pylint: disable=protected-access - ) - - def get_ga_tracking_id(self, channel) -> str: - """Get google analytics tracking id""" - return channel.ga_tracking_id - - def validate_moderator_notifications(self, value): - """Empty validation function, but this is required for WriteableSerializerMethodField""" - if not isinstance(value, bool): - raise ValidationError("Expected moderator_notifications be a boolean") - return {"moderator_notifications": value} - - def validate_ga_tracking_id(self, value): - """Empty validation function, but this is required for WriteableSerializerMethodField""" - if not (value is None or isinstance(value, str)): - raise ValidationError("Expected ga_tracking_id to be a string") - return {"ga_tracking_id": value} - - def get_allowed_post_types(self, channel) -> list[str]: - """Returns a dictionary of allowed post types""" - from channels.api import get_allowed_post_types_from_link_type - - if channel.allowed_post_types: - return [ - post_type - for post_type, enabled in channel.allowed_post_types.items() - if enabled - ] - - return get_allowed_post_types_from_link_type(channel.submission_type) - - def validate_allowed_post_types(self, value): - """Validate the allowed post types""" - if not value: - return {} - - if not isinstance(value, list) and not all( - [isinstance(item, str) for item in value] - ): - raise ValidationError( - "Expected allowed_post_types to be a list of enabled types" - ) - - allowed_keys = Channel.allowed_post_types.keys() - - for allowed_type in value: - if allowed_type not in allowed_keys: - raise ValidationError( - f"Post type {allowed_type} not supported for allowed_post_types" - ) - - return {"allowed_post_types": value} - - def _get_channel(self, name): - """Get channel""" - try: - return self.context["channels"][name] - except KeyError: - # This can happen if the channel is newly created - return Channel.objects.get(name=name) - - def create(self, validated_data): - from channels.api import get_admin_api - - client = get_admin_api() - # This is to reduce number of cassettes which need replacing - validated_data["description"] = validated_data.get("description", "") - validated_data["public_description"] = validated_data.get( - "public_description", "" - ) - - # Set default value for managed to true since this is how micromasters will create channels. - validated_data["membership_is_managed"] = validated_data.get( - "membership_is_managed", True - ) - - lookup = { - "display_name": "name", - "title": "title", - "subreddit_type": "channel_type", - "description": "description", - "public_description": "public_description", - "submission_type": "link_type", - "membership_is_managed": "membership_is_managed", - } - kwargs = filter_dict_with_renamed_keys(validated_data, lookup, optional=True) - - channel = client.create_channel(**kwargs) - client.add_moderator( - self.context["channel_api"].user.username, channel.display_name - ) - return channel - - def update(self, instance, validated_data): - api = self.context["channel_api"] - name = instance.display_name - lookup = { - "title": "title", - "subreddit_type": "channel_type", - "submission_type": "link_type", - "description": "description", - "public_description": "public_description", - "membership_is_managed": "membership_is_managed", - "allowed_post_types": "allowed_post_types", - } - kwargs = filter_dict_with_renamed_keys(validated_data, lookup, optional=True) - - channel = api.update_channel(name=name, **kwargs) - - channel_obj = channel._self_channel # pylint: disable=protected-access - - if "moderator_notifications" in validated_data: - channel_obj.moderator_notifications = validated_data.get( - "moderator_notifications" - ) - channel_obj.save() - - if "ga_tracking_id" in validated_data: - channel_obj.ga_tracking_id = validated_data.get("ga_tracking_id") - channel_obj.save() - - avatar = validated_data.get("avatar") - if avatar: - channel_obj.avatar.save(f"channel_avatar_{name}.jpg", avatar, save=False) - channel_obj.save(update_fields=["avatar"], update_image=True) - - banner = validated_data.get("banner") - if banner: - channel_obj.banner.save(f"channel_banner_{name}.jpg", banner, save=False) - channel_obj.save(update_fields=["banner"], update_image=True) - - if "about" in validated_data: - about = validated_data.get("about") - channel_obj.about = about - channel_obj.save() - - return channel diff --git a/channels/serializers/channels_test.py b/channels/serializers/channels_test.py deleted file mode 100644 index 947ba5d4f4..0000000000 --- a/channels/serializers/channels_test.py +++ /dev/null @@ -1,227 +0,0 @@ -""" -Tests for serializers for channel REST APIS -""" -from unittest.mock import Mock - -import pytest -from channels.api import get_allowed_post_types_from_link_type -from channels.constants import LINK_TYPE_LINK, LINK_TYPE_SELF, LINK_TYPE_ANY -from channels.serializers.channels import ChannelSerializer -from channels.factories.models import ChannelFactory - - -pytestmark = pytest.mark.django_db - - -@pytest.mark.parametrize("has_avatar", [True, False]) -@pytest.mark.parametrize("has_banner", [True, False]) -@pytest.mark.parametrize("has_about", [True, False]) -@pytest.mark.parametrize("ga_tracking_id", [None, "abc123"]) -@pytest.mark.parametrize("membership_is_managed", [True, False]) -@pytest.mark.parametrize("allowed_post_types", [{}, {"self": True, "link": False}]) -@pytest.mark.parametrize("link_type", [LINK_TYPE_ANY, LINK_TYPE_LINK, LINK_TYPE_SELF]) -@pytest.mark.parametrize("moderator_notifications", [True, False]) -def test_serialize_channel( - user, - has_avatar, - has_banner, - has_about, - ga_tracking_id, - membership_is_managed, - allowed_post_types, - link_type, - moderator_notifications, -): # pylint: disable=too-many-arguments - """ - Test serializing a channel - """ - channel = Mock( - display_name="name", - title="title", - subreddit_type="public", - description="description", - public_description="public_description", - submission_type=link_type, - membership_is_managed=membership_is_managed, - allowed_post_types=allowed_post_types, - banner=Mock() if has_banner else None, - avatar=Mock() if has_avatar else None, - avatar_small=Mock() if has_avatar else None, - avatar_medium=Mock() if has_avatar else None, - widget_list_id=123, - about=Mock() if has_about else None, - ga_tracking_id=ga_tracking_id, - ) - - channel._self_channel.moderator_notifications = ( - moderator_notifications # pylint: disable=protected-access - ) - - request = Mock(user=user) - - assert ChannelSerializer(channel, context={"request": request}).data == { - "name": "name", - "title": "title", - "channel_type": "public", - "link_type": link_type, - "description": "description", - "public_description": "public_description", - "user_is_moderator": True, - "user_is_contributor": True, - "user_is_subscriber": True, - "membership_is_managed": membership_is_managed, - "avatar": channel.avatar.url if has_avatar else None, - "avatar_small": channel.avatar_small.url if has_avatar else None, - "avatar_medium": channel.avatar_medium.url if has_avatar else None, - "banner": channel.banner.url if has_banner else None, - "ga_tracking_id": ga_tracking_id, - "allowed_post_types": [ - key for key, enabled in allowed_post_types.items() if enabled - ] - if allowed_post_types - else get_allowed_post_types_from_link_type(link_type), - "widget_list_id": channel.widget_list_id, - "about": channel.about, - "moderator_notifications": moderator_notifications, - } - - -@pytest.mark.parametrize("membership_is_managed", [True, False, None]) -def test_create_channel(staff_user, user, membership_is_managed, mocker, settings): - """ - Test creating a channel - """ - settings.INDEXING_API_USERNAME = staff_user.username - api_mock = mocker.patch("channels.api.Api") - context_api_mock = api_mock(user) - indexer_api_mock = api_mock(staff_user) - validated_data = { - "display_name": "name", - "title": "title", - "subreddit_type": "public", - "submission_type": "self", - "description": "description", - "public_description": "public_description", - } - if membership_is_managed is not None: - validated_data["membership_is_managed"] = membership_is_managed - expected_membership = membership_is_managed is not False - request = Mock(user=user) - channel = ChannelSerializer( - context={"channel_api": context_api_mock, "request": request} - ).create(validated_data) - - indexer_api_mock.create_channel.assert_called_once_with( - name=validated_data["display_name"], - title=validated_data["title"], - channel_type=validated_data["subreddit_type"], - description=validated_data["description"], - public_description=validated_data["public_description"], - link_type=validated_data["submission_type"], - membership_is_managed=expected_membership, - ) - indexer_api_mock.add_moderator.assert_called_once_with( - context_api_mock.user.username, channel.display_name - ) - assert channel == indexer_api_mock.create_channel.return_value - - -@pytest.mark.parametrize( - "validated_data, expected_kwawrgs", - [ - [{}, {}], - [ - { - "title": "title", - "subreddit_type": "public", - "description": "description", - "public_description": "public_description", - "submission_type": "text", - }, - { - "title": "title", - "channel_type": "public", - "description": "description", - "public_description": "public_description", - "link_type": "text", - }, - ], - [ - {"allowed_post_types": ["self", "link", "article"]}, - {"allowed_post_types": ["self", "link", "article"]}, - ], - ], -) -def test_update_channel(user, validated_data, expected_kwawrgs): - """ - Test updating a channel - """ - display_name = "subreddit" - ChannelFactory.create(name=display_name) - instance = Mock(display_name=display_name) - request = Mock(user=user) - api_mock = Mock() - channel = ChannelSerializer( - context={"channel_api": api_mock, "request": request} - ).update(instance, validated_data) - api_mock.update_channel.assert_called_once_with( - name=display_name, **expected_kwawrgs - ) - assert channel == api_mock.update_channel.return_value - - -@pytest.mark.parametrize("about", [None, [{"foo": "bar"}]]) -def test_update_channel_about(user, about): - """ - Test updating the channel about field - """ - channel = ChannelFactory.create(about=None) - instance = Mock(display_name=channel.name) - request = Mock(user=user) - api_mock = Mock() - api_mock.update_channel.return_value._self_channel = ( # pylint: disable=protected-access - channel - ) - ChannelSerializer(context={"channel_api": api_mock, "request": request}).update( - instance, {"about": about} - ) - channel.refresh_from_db() - assert channel.about == about - - -@pytest.mark.parametrize("moderator_notifications", [True, False]) -def test_update_channel_moderator_notifications(user, moderator_notifications): - """ - Test updating the channel moderator_notifications field - """ - channel = ChannelFactory.create(about=None) - instance = Mock(display_name=channel.name) - request = Mock(user=user) - api_mock = Mock() - api_mock.update_channel.return_value._self_channel = ( # pylint: disable=protected-access - channel - ) - ChannelSerializer(context={"channel_api": api_mock, "request": request}).update( - instance, {"moderator_notifications": moderator_notifications} - ) - channel.refresh_from_db() - assert channel.moderator_notifications == moderator_notifications - - -@pytest.mark.parametrize("ga_tracking_id", ["test", "", None]) -def test_update_channel_moderator_notifications_tracking(user, ga_tracking_id): - """ - Test updating the channel moderator_notifications field - """ - channel = ChannelFactory.create(about=None) - instance = Mock(display_name=channel.name) - request = Mock(user=user) - api_mock = Mock() - api_mock.update_channel.return_value._self_channel = ( # pylint: disable=protected-access - channel - ) - ChannelSerializer(context={"channel_api": api_mock, "request": request}).update( - instance, {"ga_tracking_id": ga_tracking_id} - ) - channel.refresh_from_db() - assert channel.ga_tracking_id == ga_tracking_id diff --git a/channels/serializers/comments.py b/channels/serializers/comments.py deleted file mode 100644 index ebb104b544..0000000000 --- a/channels/serializers/comments.py +++ /dev/null @@ -1,291 +0,0 @@ -"""Serializers for commment REST APIs""" -from datetime import datetime, timezone - -from django.contrib.auth import get_user_model -from praw.models import Comment, MoreComments -from praw.models.reddit.submission import Submission -from rest_framework import serializers -from rest_framework.exceptions import ValidationError - -from channels import task_helpers -from channels.constants import DELETED_COMMENT_OR_POST_TEXT -from channels.utils import get_kind_mapping, get_kind_and_id, get_reddit_slug -from channels.models import Subscription -from channels.serializers.base import RedditObjectSerializer -from channels.serializers.utils import parse_bool -from open_discussions.serializers import WriteableSerializerMethodField -from profiles.utils import image_uri - -User = get_user_model() - - -class BaseCommentSerializer(RedditObjectSerializer): - """ - Basic serializer class for reddit comments. Only includes serialization functionality - (no deserialization or validation), and does not fetch/serialize Subscription data - """ - - id = serializers.CharField(read_only=True) - parent_id = serializers.SerializerMethodField() - post_id = serializers.SerializerMethodField() - comment_id = serializers.CharField( - write_only=True, allow_blank=True, required=False - ) - text = serializers.CharField(source="body") - author_id = serializers.SerializerMethodField() - score = serializers.IntegerField(read_only=True) - upvoted = WriteableSerializerMethodField() - removed = WriteableSerializerMethodField() - ignore_reports = serializers.BooleanField(required=False, write_only=True) - downvoted = WriteableSerializerMethodField() - created = serializers.SerializerMethodField() - profile_image = serializers.SerializerMethodField() - author_name = serializers.SerializerMethodField() - author_headline = serializers.SerializerMethodField() - edited = serializers.SerializerMethodField() - comment_type = serializers.SerializerMethodField() - num_reports = serializers.IntegerField(read_only=True) - deleted = serializers.SerializerMethodField() - - def get_post_id(self, instance): - """The post id for this comment""" - return instance.submission.id - - def get_parent_id(self, instance): - """The parent id for this comment""" - parent = instance.parent() - - if isinstance(parent, Submission): - return None - else: - return parent.id - - def get_author_id(self, instance): - """Get the author username or else [deleted]""" - user = self._get_user(instance) - if not user: - return "[deleted]" - return user.username - - def get_upvoted(self, instance): - """Is a comment upvoted?""" - return instance.likes is True - - def get_profile_image(self, instance): - """Find the Profile for the comment author""" - return image_uri(self._get_profile(instance)) - - def get_author_name(self, instance): - """get the author name""" - # this is a similar setup to the get_profile_image thingy above - user = self._get_user(instance) - - if user and user.profile.name: - return user.profile.name - return "[deleted]" - - def get_author_headline(self, instance): - """get the author headline""" - user = self._get_user(instance) - - if user and user.profile: - return user.profile.headline - return None - - def get_downvoted(self, instance): - """Is a comment downvoted?""" - return instance.likes is False - - def get_created(self, instance): - """The ISO-8601 formatted datetime for the creation time""" - return datetime.fromtimestamp(instance.created, tz=timezone.utc).isoformat() - - def get_edited(self, instance): - """Return a Boolean signifying if the comment has been edited or not""" - return instance.edited if instance.edited is False else True - - def get_comment_type(self, instance): # pylint: disable=unused-argument - """Let the frontend know which type this is""" - return "comment" - - def get_removed(self, instance): - """Returns True if the comment was removed""" - return instance.banned_by is not None - - def get_deleted(self, instance): - """Returns True if the comment was deleted""" - return instance.body == DELETED_COMMENT_OR_POST_TEXT # only way to tell - - def to_representation(self, instance): - data = super().to_representation(instance) - if self.context.get("include_permalink_data", False): - return { - **data, - "post_slug": get_reddit_slug(instance.submission.permalink), - "channel_name": instance.submission.subreddit.display_name, - } - return data - - -class CommentSerializer(BaseCommentSerializer): - """ - Full serializer class for reddit comments. Includes deserialization and validation functionality - and can fetch/serialize Subscription information. - """ - - subscribed = WriteableSerializerMethodField() - - @property - def _current_user(self): - """Get the current user""" - return self.context["current_user"] - - def get_subscribed(self, instance): - """Returns True if user is subscribed to the comment""" - if self.context.get("omit_subscriptions", False): - return None - if "comment_subscriptions" not in self.context: - # this code is run if a comment was just created - return Subscription.objects.filter( - user=self._current_user, - post_id=instance.submission.id, - comment_id=instance.id, - ).exists() - return instance.id in self.context.get("comment_subscriptions", []) - - def validate_upvoted(self, value): - """Validate that upvoted is a bool""" - return {"upvoted": parse_bool(value, "upvoted")} - - def validate_downvoted(self, value): - """Validate that downvoted is a bool""" - return {"downvoted": parse_bool(value, "downvoted")} - - def validate_subscribed(self, value): - """Validate that subscribed is a bool""" - return {"subscribed": parse_bool(value, "subscribed")} - - def validate_removed(self, value): - """Validate that removed is a bool""" - return {"removed": parse_bool(value, "removed")} - - def validate(self, attrs): - """Validate that the the combination of fields makes sense""" - if attrs.get("upvoted") and attrs.get("downvoted"): - raise ValidationError("upvoted and downvoted cannot both be true") - return attrs - - def create(self, validated_data): - api = self.context["channel_api"] - post_id = self.context["view"].kwargs["post_id"] - - kwargs = {} - if validated_data.get("comment_id"): - kwargs["comment_id"] = validated_data["comment_id"] - else: - kwargs["post_id"] = post_id - - comment = api.create_comment(text=validated_data["body"], **kwargs) - - api.add_comment_subscription(post_id, comment.id) - - changed = api.apply_comment_vote(comment, validated_data) - - from notifications.tasks import notify_subscribed_users - - notify_subscribed_users.delay( - post_id, validated_data.get("comment_id", None), comment.id - ) - - if not api.is_moderator(comment.subreddit.display_name, comment.author.name): - task_helpers.check_comment_for_spam(self.context["request"], comment.id) - - if changed: - return api.get_comment(comment.id) - else: - return comment - - def update(self, instance, validated_data): - if validated_data.get("comment_id"): - raise ValidationError("comment_id must be provided via URL") - - api = self.context["channel_api"] - if "body" in validated_data: - text = validated_data["body"] - api.update_comment(comment_id=instance.id, text=text) - - if not api.is_moderator( - instance.subreddit.display_name, instance.author.name - ): - task_helpers.check_comment_for_spam( - self.context["request"], instance.id - ) - - if "removed" in validated_data: - if validated_data["removed"] is True: - api.remove_comment(comment_id=instance.id) - else: - api.approve_comment(comment_id=instance.id) - - if "ignore_reports" in validated_data: - ignore_reports = validated_data["ignore_reports"] - if ignore_reports is True: - api.approve_comment(comment_id=instance.id) - api.ignore_comment_reports(instance.id) - - if "subscribed" in validated_data: - post_id = instance.submission.id - if validated_data["subscribed"] is True: - api.add_comment_subscription(post_id, instance.id) - elif validated_data["subscribed"] is False: - api.remove_comment_subscription(post_id, instance.id) - - api.apply_comment_vote(instance, validated_data) - - return api.get_comment(comment_id=instance.id) - - -class MoreCommentsSerializer(serializers.Serializer): - """ - Serializer for MoreComments objects - """ - - parent_id = serializers.SerializerMethodField() - post_id = serializers.SerializerMethodField() - children = serializers.SerializerMethodField() - comment_type = serializers.SerializerMethodField() - - def get_parent_id(self, instance): - """Returns the comment id for the parent comment, or None if the parent is a post""" - kind, _id = get_kind_and_id(instance.parent_id) - if kind == get_kind_mapping()["comment"]: - return _id - return None - - def get_post_id(self, instance): - """Returns the post id the comment belongs to""" - return instance.submission.id - - def get_children(self, instance): - """A list of comment ids for child comments that can be loaded""" - return instance.children - - def get_comment_type(self, instance): # pylint: disable=unused-argument - """Let the frontend know which type this is""" - return "more_comments" - - -class GenericCommentSerializer(serializers.Serializer): - """ - Hack to serialize different types with only one entrypoint - """ - - def to_representation(self, instance): - """ - Overrides the class method to add an extra field - """ - if isinstance(instance, MoreComments): - return MoreCommentsSerializer(instance, context=self.context).data - elif isinstance(instance, Comment): - return CommentSerializer(instance, context=self.context).data - raise ValueError("Unknown type {} in the comments list".format(type(instance))) diff --git a/channels/serializers/comments_test.py b/channels/serializers/comments_test.py deleted file mode 100644 index 93c2f4eb0f..0000000000 --- a/channels/serializers/comments_test.py +++ /dev/null @@ -1,65 +0,0 @@ -""" -Tests for serializers for comment REST APIS -""" -from unittest.mock import Mock - -import pytest -from rest_framework.exceptions import ValidationError - -from channels.serializers.comments import BaseCommentSerializer, CommentSerializer - - -def test_comment_update_with_comment_id(): - """Cannot pass comment_id to a comment, this is provided in the URL""" - with pytest.raises(ValidationError) as ex: - CommentSerializer().update(Mock(), {"comment_id": "something"}) - assert ex.value.args[0] == "comment_id must be provided via URL" - - -def test_comment_validate_upvoted(): - """upvoted must be a bool""" - with pytest.raises(ValidationError) as ex: - CommentSerializer().validate_upvoted("not a bool") - assert ex.value.args[0] == "upvoted must be a bool" - - -def test_comment_validate_downvoted(): - """downvoted must be a bool""" - with pytest.raises(ValidationError) as ex: - CommentSerializer().validate_downvoted("not a bool") - assert ex.value.args[0] == "downvoted must be a bool" - - -def test_comment_only_one_downvote_or_upvote(): - """only one of downvoted or upvoted can be true at the same time""" - with pytest.raises(ValidationError) as ex: - CommentSerializer().validate({"upvoted": True, "downvoted": True}) - assert ex.value.args[0] == "upvoted and downvoted cannot both be true" - - -def test_comment_validate_removed(): - """removed must be a bool""" - with pytest.raises(ValidationError) as ex: - CommentSerializer().validate_removed("not a bool") - assert ex.value.args[0] == "removed must be a bool" - - -def test_comment_including_permalink_data(mocker, reddit_comment_obj, user): - """ - Tests that including the permalink flag in BaseCommentSerializer context produces the correct - values for composing a comment permalink on the front end - """ - mock_slug_value = "slug" - patched_slug_helper = mocker.patch( - "channels.serializers.comments.get_reddit_slug", return_value=mock_slug_value - ) - data = BaseCommentSerializer( - reddit_comment_obj, - context={ - "include_permalink_data": True, - "users": {reddit_comment_obj.author.name: user}, - }, - ).data - assert patched_slug_helper.call_count == 1 - assert data["post_slug"] == mock_slug_value - assert data["channel_name"] == reddit_comment_obj.submission.subreddit.display_name diff --git a/channels/serializers/contributors.py b/channels/serializers/contributors.py deleted file mode 100644 index 4937b9ef27..0000000000 --- a/channels/serializers/contributors.py +++ /dev/null @@ -1,63 +0,0 @@ -"""Serializers for contributor REST APIs""" -from django.contrib.auth import get_user_model -from rest_framework import serializers - -from channels.serializers.validators import validate_email, validate_username -from open_discussions.serializers import WriteableSerializerMethodField -from profiles.models import Profile - -User = get_user_model() - - -class ContributorSerializer(serializers.Serializer): - """Serializer for contributors. Should be accessible by moderators only""" - - contributor_name = WriteableSerializerMethodField() - email = WriteableSerializerMethodField() - full_name = serializers.SerializerMethodField() - - def validate_contributor_name(self, value): - """Validate contributor name""" - return {"contributor_name": validate_username(value)} - - def get_contributor_name(self, instance): - """Returns the name for the contributor""" - return instance.name - - def validate_email(self, value): - """Validate email""" - return {"email": validate_email(value)} - - def get_email(self, instance): - """Get the email from the associated user""" - return ( - User.objects.filter(username=instance.name) - .values_list("email", flat=True) - .first() - ) - - def get_full_name(self, instance): - """Get the full name of the associated user""" - return ( - Profile.objects.filter(user__username=instance.name) - .values_list("name", flat=True) - .first() - ) - - def create(self, validated_data): - api = self.context["channel_api"] - channel_name = self.context["view"].kwargs["channel_name"] - contributor_name = validated_data.get("contributor_name") - email = validated_data.get("email") - - if email and contributor_name: - raise ValueError("Only one of contributor_name, email should be specified") - - if contributor_name: - username = contributor_name - elif email: - username = User.objects.get(email__iexact=email).username - else: - raise ValueError("Missing contributor_name or email") - - return api.add_contributor(username, channel_name) diff --git a/channels/serializers/contributors_test.py b/channels/serializers/contributors_test.py deleted file mode 100644 index c2a152f7f6..0000000000 --- a/channels/serializers/contributors_test.py +++ /dev/null @@ -1,156 +0,0 @@ -""" -Tests for serializers for channel REST APIS -""" -from unittest.mock import Mock - -import pytest -from praw.models.reddit.redditor import Redditor - -from channels.serializers.contributors import ContributorSerializer -from open_discussions.factories import UserFactory - - -pytestmark = pytest.mark.django_db - - -def test_contributor(): - """Serialize of a redditor-like object""" - redditor = Mock(spec=Redditor) - # the `name` attribute cannot be configured during the mock object creation - redditor.name = "fooo_username" - user = UserFactory.create(username=redditor.name) - assert ContributorSerializer(redditor).data == { - "contributor_name": "fooo_username", - "full_name": user.profile.name, - "email": user.email, - } - - -def test_contributor_validate_name_no_string(): - """validate the input in case the value is not a string""" - serializer = ContributorSerializer(data={"contributor_name": 123}) - assert serializer.is_valid() is False - assert serializer.errors["contributor_name"][0] == "username must be a string" - - -def test_contributor_validate_name_no_valid_user(): - """validate the input in case the user does not exists in the DB""" - serializer = ContributorSerializer(data={"contributor_name": "foo_user"}) - assert serializer.is_valid() is False - assert serializer.errors["contributor_name"][0] == "username is not a valid user" - - -def test_contributor_validate_name(): - """validate the input""" - user = UserFactory.create() - serializer = ContributorSerializer(data={"contributor_name": user.username}) - serializer.is_valid() - assert "contributor_name" not in serializer.errors - - -def test_contributor_validate_email_no_string(): - """validate the input in case the value is not a string""" - serializer = ContributorSerializer(data={"email": 123}) - assert serializer.is_valid() is False - assert serializer.errors["email"][0] == "email must be a string" - - -def test_contributor_validate_email_no_valid_user(): - """validate the input in case the user does not exists in the DB""" - serializer = ContributorSerializer(data={"email": "foo_user"}) - assert serializer.is_valid() is False - assert serializer.errors["email"][0] == "email does not exist" - - -def test_contributor_validate_email(): - """validate the input""" - user = UserFactory.create() - serializer = ContributorSerializer(data={"email": user.email}) - serializer.is_valid() - assert "email" not in serializer.errors - - -def test_contributor_create_username(): - """Adds a contributor by username""" - user = UserFactory.create() - contributor_user = UserFactory.create() - contributor_redditor = Mock(spec=Redditor) - contributor_redditor.name = contributor_user.username - api_mock = Mock(add_contributor=Mock(return_value=contributor_redditor)) - contributor = ContributorSerializer( - context={ - "channel_api": api_mock, - "request": Mock(user=user), - "view": Mock(kwargs={"channel_name": "foo_channel"}), - } - ).create({"contributor_name": contributor_user.username}) - assert contributor is contributor_redditor - api_mock.add_contributor.assert_called_once_with( - contributor_user.username, "foo_channel" - ) - - -def test_contributor_create_email(): - """Adds a contributor by email address""" - user = UserFactory.create() - contributor_user = UserFactory.create() - contributor_redditor = Mock(spec=Redditor) - contributor_redditor.name = contributor_user.username - api_mock = Mock(add_contributor=Mock(return_value=contributor_redditor)) - # Make sure that we're testing case insensitivity of email - assert contributor_user.email != contributor_user.email.upper() - contributor = ContributorSerializer( - context={ - "channel_api": api_mock, - "request": Mock(user=user), - "view": Mock(kwargs={"channel_name": "foo_channel"}), - } - ).create({"email": contributor_user.email.upper()}) - assert contributor is contributor_redditor - api_mock.add_contributor.assert_called_once_with( - contributor_user.username, "foo_channel" - ) - - -def test_contributor_create_both(): - """The user should only be able to specify an email address or a username""" - user = UserFactory.create() - contributor_user = UserFactory.create() - contributor_redditor = Mock(spec=Redditor) - contributor_redditor.name = contributor_user.username - api_mock = Mock(add_contributor=Mock(return_value=contributor_redditor)) - - with pytest.raises(ValueError) as ex: - ContributorSerializer( - context={ - "channel_api": api_mock, - "request": Mock(user=user), - "view": Mock(kwargs={"channel_name": "foo_channel"}), - } - ).create( - { - "contributor_name": contributor_user.username, - "email": contributor_user.email, - } - ) - assert ex.value.args[0] == "Only one of contributor_name, email should be specified" - - -def test_contributor_create_neither(): - """The user must specify an email address or a username""" - user = UserFactory.create() - contributor_user = UserFactory.create() - contributor_redditor = Mock(spec=Redditor) - contributor_redditor.name = contributor_user.username - api_mock = Mock(add_contributor=Mock(return_value=contributor_redditor)) - - with pytest.raises(ValueError) as ex: - ContributorSerializer( - context={ - "channel_api": api_mock, - "request": Mock(user=user), - "view": Mock(kwargs={"channel_name": "foo_channel"}), - } - ).create({}) - - assert ex.value.args[0] == "Missing contributor_name or email" diff --git a/channels/serializers/invites.py b/channels/serializers/invites.py deleted file mode 100644 index 2944fed1d3..0000000000 --- a/channels/serializers/invites.py +++ /dev/null @@ -1,28 +0,0 @@ -"""Channel invitation serializers""" -from django.db import transaction - -from rest_framework import serializers - -from channels.models import ChannelInvitation -from channels import tasks - - -class ChannelInvitationSerializer(serializers.ModelSerializer): - """Serializer for channel invitations""" - - def create(self, validated_data): - with transaction.atomic(): - invite, _ = ChannelInvitation.objects.get_or_create( - email=validated_data["email"], - channel=self.context["channel"], - inviter=self.context["inviter"], - ) - - tasks.send_invitation_email.delay(invite.id) - - return invite - - class Meta: - model = ChannelInvitation - fields = ("id", "email", "created_on", "updated_on") - read_only_fields = ("id", "created_on", "updated_on") diff --git a/channels/serializers/invites_test.py b/channels/serializers/invites_test.py deleted file mode 100644 index b02f9a02f3..0000000000 --- a/channels/serializers/invites_test.py +++ /dev/null @@ -1,40 +0,0 @@ -"""Tests for ChannelInvitationSerializer""" -import pytest - -from channels.factories.models import ChannelFactory -from channels.models import ChannelInvitation -from channels.serializers.invites import ChannelInvitationSerializer - - -def test_invite_create_email(user, mocker): - """Invites a user by email""" - mock_tasks = mocker.patch("channels.serializers.invites.tasks") - channel = ChannelFactory.create() - email = "test@example.com" - result = ChannelInvitationSerializer( - context={"channel": channel, "inviter": user} - ).create({"email": email}) - - invite = ChannelInvitation.objects.get(channel=channel, email=email) - - mock_tasks.send_invitation_email.delay.assert_called_once_with(invite.id) - - assert result == invite - assert result.email == email - assert result.inviter == user - assert result.channel == channel - - -def test_invite_create_email_error(user, mocker): - """Rolls back invite record if the celert task fails to queue""" - mock_tasks = mocker.patch("channels.serializers.invites.tasks") - mock_tasks.send_invitation_email.delay.side_effect = Exception() - channel = ChannelFactory.create() - email = "test@example.com" - - with pytest.raises(Exception): - ChannelInvitationSerializer( - context={"channel": channel, "inviter": user} - ).create({"email": email}) - - assert not ChannelInvitation.objects.filter(channel=channel, email=email).exists() diff --git a/channels/serializers/moderators.py b/channels/serializers/moderators.py deleted file mode 100644 index fb3fa4fb97..0000000000 --- a/channels/serializers/moderators.py +++ /dev/null @@ -1,84 +0,0 @@ -"""Serializers for moderator REST APIs""" -from django.contrib.auth import get_user_model -from rest_framework import serializers - -from channels.serializers.validators import validate_email, validate_username -from open_discussions.serializers import WriteableSerializerMethodField -from profiles.models import Profile - -User = get_user_model() - - -class ModeratorPublicSerializer(serializers.Serializer): - """Serializer for moderators, viewable by end users""" - - moderator_name = serializers.SerializerMethodField() - - def get_moderator_name(self, instance): - """Returns the name for the moderator""" - return instance.name - - -class ModeratorPrivateSerializer(serializers.Serializer): - """Serializer for moderators, viewable by other moderators""" - - moderator_name = WriteableSerializerMethodField() - email = WriteableSerializerMethodField() - full_name = serializers.SerializerMethodField() - can_remove = serializers.SerializerMethodField() - - def validate_moderator_name(self, value): - """Validate moderator name""" - return {"moderator_name": validate_username(value)} - - def get_moderator_name(self, instance): - """Returns the name for the moderator""" - return instance.name - - def validate_email(self, value): - """Validate email""" - return {"email": validate_email(value)} - - def get_email(self, instance): - """Get the email from the associated user""" - return ( - User.objects.filter(username=instance.name) - .values_list("email", flat=True) - .first() - ) - - def get_full_name(self, instance): - """Get the full name of the associated user""" - return ( - Profile.objects.filter(user__username=instance.name) - .values_list("name", flat=True) - .first() - ) - - def get_can_remove(self, instance): - """Figure out whether the logged in user can remove this moderator""" - if self.context["mod_date"] is None: - return False - return int(instance.date) >= int(self.context["mod_date"]) - - def create(self, validated_data): - api = self.context["channel_api"] - channel_name = self.context["view"].kwargs["channel_name"] - - moderator_name = validated_data.get("moderator_name") - email = validated_data.get("email") - - if email and moderator_name: - raise ValueError("Only one of moderator_name, email should be specified") - - if moderator_name: - username = moderator_name - elif email: - username = User.objects.get(email__iexact=email).username - else: - raise ValueError("Missing moderator_name or email") - - api.add_moderator(username, channel_name) - return api._list_moderators( # pylint: disable=protected-access - channel_name=channel_name, moderator_name=username - )[0] diff --git a/channels/serializers/moderators_test.py b/channels/serializers/moderators_test.py deleted file mode 100644 index a8cb79ba31..0000000000 --- a/channels/serializers/moderators_test.py +++ /dev/null @@ -1,185 +0,0 @@ -""" -Tests for serializers for channel REST APIS -""" -from unittest.mock import Mock - -import pytest -from praw.models.reddit.redditor import Redditor - -from channels.serializers.moderators import ( - ModeratorPublicSerializer, - ModeratorPrivateSerializer, -) -from open_discussions.factories import UserFactory - - -pytestmark = pytest.mark.django_db - - -@pytest.mark.parametrize("is_public", [True, False]) -def test_moderator(is_public): - """Serialize of a redditor-like object""" - serializer_cls = ( - ModeratorPublicSerializer if is_public else ModeratorPrivateSerializer - ) - redditor = Mock(spec=Redditor) - # the `name` attribute cannot be configured during the mock object creation - redditor.name = "fooo_username" - user = UserFactory.create(username=redditor.name) - assert ( - serializer_cls(redditor).data == {"moderator_name": "fooo_username"} - if is_public - else { - "moderator_name": "fooo_username", - "full_name": user.profile.name, - "email": user.email, - } - ) - - -def test_moderator_validate_name_no_string(): - """validate the input in case the value is not a string""" - serializer = ModeratorPrivateSerializer(data={"moderator_name": 123}) - assert serializer.is_valid() is False - assert serializer.errors["moderator_name"][0] == "username must be a string" - - -def test_moderator_validate_name_no_valid_user(): - """validate the input in case the user does not exists in the DB""" - serializer = ModeratorPrivateSerializer(data={"moderator_name": "foo_user"}) - assert serializer.is_valid() is False - assert serializer.errors["moderator_name"][0] == "username is not a valid user" - - -def test_moderator_validate_name(): - """validate the input""" - user = UserFactory.create() - serializer = ModeratorPrivateSerializer(data={"moderator_name": user.username}) - serializer.is_valid() - assert "moderator_name" not in serializer.errors - - -def test_moderator_validate_email_no_string(): - """validate the input in case the value is not a string""" - serializer = ModeratorPrivateSerializer(data={"email": 123}) - assert serializer.is_valid() is False - assert serializer.errors["email"][0] == "email must be a string" - - -def test_moderator_validate_email_no_valid_user(): - """validate the input in case the user does not exists in the DB""" - serializer = ModeratorPrivateSerializer(data={"email": "foo_user"}) - assert serializer.is_valid() is False - assert serializer.errors["email"][0] == "email does not exist" - - -def test_moderator_validate_email(): - """validate the input""" - user = UserFactory.create() - serializer = ModeratorPrivateSerializer(data={"email": user.email}) - serializer.is_valid() - assert "email" not in serializer.errors - - -def test_moderator_create_username(): - """Adds a moderator by username""" - user = UserFactory.create() - moderator_user = UserFactory.create() - moderator_redditor = Mock(spec=Redditor) - moderator_redditor.name = moderator_user.username - add_moderator_mock = Mock(return_value=None) - list_moderators_mock = Mock(return_value=[moderator_redditor]) - api_mock = Mock( - add_moderator=add_moderator_mock, _list_moderators=list_moderators_mock - ) - channel_name = "foo_channel" - moderator = ModeratorPrivateSerializer( - context={ - "channel_api": api_mock, - "request": Mock(user=user), - "view": Mock(kwargs={"channel_name": channel_name}), - } - ).create({"moderator_name": moderator_user.username}) - assert moderator is moderator_redditor - api_mock.add_moderator.assert_called_once_with( - moderator_user.username, channel_name - ) - list_moderators_mock.assert_called_once_with( - channel_name=channel_name, moderator_name=moderator_user.username - ) - - -def test_moderator_create_email(): - """Adds a moderator by email address""" - user = UserFactory.create() - moderator_user = UserFactory.create() - moderator_redditor = Mock(spec=Redditor) - moderator_redditor.name = moderator_user.username - add_moderator_mock = Mock(return_value=None) - list_moderators_mock = Mock(return_value=[moderator_redditor]) - api_mock = Mock( - add_moderator=add_moderator_mock, _list_moderators=list_moderators_mock - ) - channel_name = "foo_channel" - # Make sure that we're testing case insensitivity of email - assert moderator_user.email != moderator_user.email.upper() - moderator = ModeratorPrivateSerializer( - context={ - "channel_api": api_mock, - "request": Mock(user=user), - "view": Mock(kwargs={"channel_name": channel_name}), - } - ).create({"email": moderator_user.email.upper()}) - assert moderator is moderator_redditor - - add_moderator_mock.assert_called_once_with(moderator_user.username, channel_name) - list_moderators_mock.assert_called_once_with( - channel_name=channel_name, moderator_name=moderator_user.username - ) - - -def test_moderator_create_both(): - """The user should only be able to specify an email address or a username""" - user = UserFactory.create() - moderator_user = UserFactory.create() - moderator_redditor = Mock(spec=Redditor) - moderator_redditor.name = moderator_user.username - api_mock = Mock(add_moderator=Mock(return_value=moderator_redditor)) - # Make sure that we're testing case insensitivity of email - assert moderator_user.email != moderator_user.email.upper() - - with pytest.raises(ValueError) as ex: - ModeratorPrivateSerializer( - context={ - "channel_api": api_mock, - "request": Mock(user=user), - "view": Mock(kwargs={"channel_name": "foo_channel"}), - } - ).create( - { - "email": moderator_user.email.upper(), - "moderator_name": moderator_user.username, - } - ) - assert ex.value.args[0] == "Only one of moderator_name, email should be specified" - - -def test_moderator_create_neither(): - """The user must specify an email address or a username""" - user = UserFactory.create() - moderator_user = UserFactory.create() - moderator_redditor = Mock(spec=Redditor) - moderator_redditor.name = moderator_user.username - api_mock = Mock(add_moderator=Mock(return_value=moderator_redditor)) - # Make sure that we're testing case insensitivity of email - assert moderator_user.email != moderator_user.email.upper() - - with pytest.raises(ValueError) as ex: - ModeratorPrivateSerializer( - context={ - "channel_api": api_mock, - "request": Mock(user=user), - "view": Mock(kwargs={"channel_name": "foo_channel"}), - } - ).create({}) - assert ex.value.args[0] == "Missing moderator_name or email" diff --git a/channels/serializers/posts.py b/channels/serializers/posts.py deleted file mode 100644 index ff865921b8..0000000000 --- a/channels/serializers/posts.py +++ /dev/null @@ -1,297 +0,0 @@ -""" -Serializers for post REST APIs -""" -from datetime import datetime, timezone -from urllib.parse import urlparse, urljoin - -from django.contrib.auth import get_user_model -from rest_framework import serializers -from rest_framework.exceptions import ValidationError, NotFound - -from channels.api import get_post_type -from channels.constants import DELETED_COMMENT_OR_POST_TEXT -from channels.utils import get_reddit_slug, render_article_text -from channels.models import Channel, Subscription -from channels.serializers.base import RedditObjectSerializer -from channels.serializers.utils import parse_bool -from open_discussions.settings import SITE_BASE_URL -from open_discussions.serializers import WriteableSerializerMethodField -from open_discussions.utils import markdown_to_plain_text -from profiles.utils import image_uri - -User = get_user_model() - - -class BasePostSerializer(RedditObjectSerializer): - """ - Basic serializer class for PostProxy objects. Only includes serialization functionality - (no deserialization or validation), and does not fetch/serialize Subscription data - """ - - url = WriteableSerializerMethodField(allow_null=True) - url_domain = serializers.SerializerMethodField() - thumbnail = WriteableSerializerMethodField(allow_null=True) - text = WriteableSerializerMethodField(allow_null=True) - article_content = serializers.JSONField(allow_null=True, default=None) - plain_text = serializers.SerializerMethodField() - title = serializers.CharField() - post_type = serializers.CharField(read_only=True) - slug = serializers.SerializerMethodField() - upvoted = WriteableSerializerMethodField() - removed = WriteableSerializerMethodField() - ignore_reports = serializers.BooleanField(required=False, write_only=True) - stickied = serializers.BooleanField(required=False) - score = serializers.IntegerField(source="ups", read_only=True) - author_id = serializers.CharField(read_only=True, source="author") - id = serializers.CharField(read_only=True) - created = serializers.SerializerMethodField() - num_comments = serializers.IntegerField(read_only=True) - channel_name = serializers.SerializerMethodField() - channel_title = serializers.SerializerMethodField() - channel_type = serializers.SerializerMethodField() - profile_image = serializers.SerializerMethodField() - author_name = serializers.SerializerMethodField() - author_headline = serializers.SerializerMethodField() - edited = serializers.SerializerMethodField() - num_reports = serializers.IntegerField(read_only=True) - deleted = serializers.SerializerMethodField() - - def get_url(self, instance): - """Returns a url or null depending on if it's a self post""" - return instance.url if not instance.is_self else None - - def get_url_domain(self, instance): - """Returns the url's domain or None""" - return urlparse(instance.url).hostname if not instance.is_self else None - - def get_thumbnail(self, instance): - """Returns a thumbnail url or null""" - return instance.link_meta.thumbnail if instance.link_meta is not None else None - - def get_slug(self, instance): - """Returns the post slug""" - return get_reddit_slug(instance.permalink) - - def get_author_name(self, instance): - """get the authors name""" - profile = self._get_profile(instance) - if profile and profile.name: - return profile.name - return "[deleted]" - - def get_author_headline(self, instance): - """get the author's headline""" - profile = self._get_profile(instance) - if profile: - return profile.headline - return None - - def get_profile_image(self, instance): - """Find the profile image for the post author""" - return image_uri(self._get_profile(instance)) - - def get_text(self, instance): - """Returns text or null depending on if it's a self post""" - return instance.selftext if instance.is_self else None - - def get_upvoted(self, instance): - """Did the user upvote this?""" - return instance.likes is True - - def get_created(self, instance): - """The ISO-8601 formatted datetime for the creation time""" - return datetime.fromtimestamp(instance.created, tz=timezone.utc).isoformat() - - def get_channel_name(self, instance): - """The channel which contains the post""" - return instance.channel.name or instance.subreddit.display_name - - def get_channel_title(self, instance): - """The title of the channel""" - return instance.channel.title or instance.subreddit.title - - def get_channel_type(self, instance): - """The type of the channel""" - return instance.channel.channel_type or instance.subreddit.subreddit_type - - def get_edited(self, instance): - """Return a Boolean signifying if the post has been edited or not""" - return instance.edited if instance.edited is False else True - - def get_removed(self, instance): - """Returns True if the post was removed""" - return instance.banned_by is not None - - def get_deleted(self, instance): - """Returns True if the post was deleted""" - return instance.selftext == DELETED_COMMENT_OR_POST_TEXT # only way to tell - - def get_plain_text(self, instance): - """Return plain text content""" - if instance.article is not None: - return render_article_text(instance.article.content) - elif instance.is_self: - return markdown_to_plain_text(instance.selftext) - else: - return instance.preview_text - - -class PostSerializer(BasePostSerializer): - """ - Full serializer class for reddit posts. Includes deserialization and validation functionality - and can fetch/serialize Subscription information. - """ - - cover_image = WriteableSerializerMethodField(allow_null=True) - subscribed = WriteableSerializerMethodField() - - @property - def _current_user(self): - """Get the current user""" - return self.context["current_user"] - - def get_cover_image(self, instance): - """Get the cover image URL""" - if instance.article and instance.article.cover_image: - return urljoin(SITE_BASE_URL, instance.article.cover_image.url) - return None - - def get_subscribed(self, instance): - """Returns True if user is subscrisbed to the post""" - if "post_subscriptions" not in self.context: - # this code is run if a post was just created - return Subscription.objects.filter( - user=self._current_user, post_id=instance.id, comment_id__isnull=True - ).exists() - return instance.id in self.context["post_subscriptions"] - - def validate_upvoted(self, value): - """Validate that upvoted is a bool""" - return {"upvoted": parse_bool(value, "upvoted")} - - def validate_removed(self, value): - """Validate that removed is a bool""" - return {"removed": parse_bool(value, "removed")} - - def validate_text(self, value): - """Validate that text is a string or null""" - if value is not None and not isinstance(value, str): - raise ValidationError("text must be a string") - return {"text": value} - - def validate_url(self, value): - """Validate that URL is a string or null""" - if value is not None and not isinstance(value, str): - raise ValidationError("url must be a string") - return {"url": value} - - def validate_subscribed(self, value): - """Validate that subscribed is a bool""" - return {"subscribed": parse_bool(value, "subscribed")} - - def validate_cover_image(self, value): - """Validation that cover_image is a file, url or None""" - if ( - value is not None - and not hasattr(value, "name") - and not urlparse(value).scheme - ): - raise ValidationError("Expected cover image to be a file or url") - return {"cover_image": value} - - def create(self, validated_data): - """Create a post""" - from channels import task_helpers - from notifications.tasks import notify_moderators - - title = validated_data["title"] - text = validated_data.get("text", None) - url = validated_data.get("url", None) - article_content = validated_data.get("article_content", None) - cover_image = validated_data.get("cover_image", None) - - # Validation occurs here rather than validate(), because we only want to do this when we create posts, - # not when we update them - try: - get_post_type(text=text, url=url, article_content=article_content) - except ValueError as exc: - raise ValidationError(exc.args[0]) from exc - - api = self.context["channel_api"] - channel_name = self.context["view"].kwargs["channel_name"] - try: - post = api.create_post( - channel_name, - title=title, - text=text, - url=url, - article_content=article_content, - cover_image=cover_image, - ) - except Channel.DoesNotExist as exc: - raise NotFound("Channel doesn't exist") from exc - - api.add_post_subscription(post.id) - - changed = api.apply_post_vote(post, validated_data) - - if changed or cover_image: - post = api.get_post(post_id=post.id) - - if not api.is_moderator(post.subreddit.display_name, post.author.name): - task_helpers.check_post_for_spam(self.context["request"], post.id) - else: - notify_moderators.delay(post.id, channel_name) - - return post - - def update(self, instance, validated_data): # pylint: disable=too-many-branches - """Update the post""" - from channels import task_helpers - - post_id = self.context["view"].kwargs["post_id"] - - if "url" in validated_data: - raise ValidationError("Cannot edit url for a post") - - api = self.context["channel_api"] - - if "removed" in validated_data: - removed = validated_data["removed"] - if removed is True: - api.remove_post(post_id) - elif removed is False: - api.approve_post(post_id) - - if "ignore_reports" in validated_data: - ignore_reports = validated_data["ignore_reports"] - if ignore_reports is True: - api.approve_post(post_id) - api.ignore_post_reports(post_id) - - update_kwargs = {} - for attr in ("text", "article_content", "cover_image"): - if attr in validated_data: - update_kwargs[attr] = validated_data[attr] - - if update_kwargs: - instance = api.update_post(post_id=post_id, **update_kwargs) - - if not api.is_moderator( - instance.subreddit.display_name, instance.author.name - ): - task_helpers.check_post_for_spam(self.context["request"], post_id) - - if "stickied" in validated_data: - sticky = validated_data["stickied"] - api.pin_post(post_id, sticky) - - if "subscribed" in validated_data: - if validated_data["subscribed"] is True: - api.add_post_subscription(post_id) - elif validated_data["subscribed"] is False: - api.remove_post_subscription(post_id) - - api.apply_post_vote(instance, validated_data) - - return api.get_post(post_id=post_id) diff --git a/channels/serializers/posts_test.py b/channels/serializers/posts_test.py deleted file mode 100644 index 7fae5cf7e3..0000000000 --- a/channels/serializers/posts_test.py +++ /dev/null @@ -1,59 +0,0 @@ -""" -Tests for serializers for channel REST APIS -""" -from unittest.mock import Mock - -import pytest -from rest_framework.exceptions import ValidationError - -from channels.serializers.posts import PostSerializer - - -pytestmark = pytest.mark.django_db - - -def test_post_validate_upvoted(): - """upvoted must be a bool""" - with pytest.raises(ValidationError) as ex: - PostSerializer().validate_upvoted("not a bool") - assert ex.value.args[0] == "upvoted must be a bool" - - -def test_post_validate_text(): - """text must be a string""" - with pytest.raises(ValidationError) as ex: - PostSerializer().validate_text(["not a string"]) - assert ex.value.args[0] == "text must be a string" - - -def test_post_validate_url(): - """url must be a string""" - with pytest.raises(ValidationError) as ex: - PostSerializer().validate_url(["not a string"]) - assert ex.value.args[0] == "url must be a string" - - -def test_post_both_text_and_url(): - """We can't create a post with both text and url specified""" - with pytest.raises(ValidationError) as ex: - PostSerializer().create({"title": "title", "text": "text", "url": "url"}) - assert ( - ex.value.args[0] - == "Not more than one of text, url, or article_content can be provided" - ) - - -def test_post_edit_url(): - """Cannot update the URL for a post""" - with pytest.raises(ValidationError) as ex: - PostSerializer( - context={"request": Mock(), "view": Mock(kwargs={"post_id": "post"})} - ).update(Mock(), {"url": "url"}) - assert ex.value.args[0] == "Cannot edit url for a post" - - -def test_post_validate_removed(): - """removed must be a bool""" - with pytest.raises(ValidationError) as ex: - PostSerializer().validate_removed("not a bool") - assert ex.value.args[0] == "removed must be a bool" diff --git a/channels/serializers/reports.py b/channels/serializers/reports.py deleted file mode 100644 index 3725cb3086..0000000000 --- a/channels/serializers/reports.py +++ /dev/null @@ -1,83 +0,0 @@ -""" -Serializers for report REST APIs -""" - -from praw.models import Comment -from praw.models.reddit.submission import Submission -from rest_framework import serializers -from rest_framework.exceptions import ValidationError - -from channels.proxies import proxy_post -from channels.serializers.comments import CommentSerializer -from channels.serializers.posts import PostSerializer - - -class ReportSerializer(serializers.Serializer): - """Serializer for reporting posts and comments""" - - post_id = serializers.CharField(required=False) - comment_id = serializers.CharField(required=False) - reason = serializers.CharField(max_length=100) - - def validate(self, attrs): - """Validate data""" - if "post_id" not in attrs and "comment_id" not in attrs: - raise ValidationError( - "You must provide one of either 'post_id' or 'comment_id'" - ) - elif "post_id" in attrs and "comment_id" in attrs: - raise ValidationError( - "You must provide only one of either 'post_id' or 'comment_id', not both" - ) - - return attrs - - def create(self, validated_data): - """Create a new report""" - api = self.context["channel_api"] - post_id = validated_data.get("post_id", None) - comment_id = validated_data.get("comment_id", None) - reason = validated_data["reason"] - result = {"reason": reason} - if post_id: - api.report_post(post_id, reason) - result["post_id"] = post_id - else: - api.report_comment(comment_id, reason) - result["comment_id"] = comment_id - return result - - -class ReportedContentSerializer(serializers.Serializer): - """ - Serializer for reported content - """ - - comment = serializers.SerializerMethodField() - post = serializers.SerializerMethodField() - reasons = serializers.SerializerMethodField() - - def get_comment(self, instance): - """Returns the comment if this report was for one""" - if isinstance(instance, Comment): - return CommentSerializer(instance, context=self.context).data - - return None - - def get_post(self, instance): - """Returns the post if this report was for one""" - if isinstance(instance, Submission): - return PostSerializer(proxy_post(instance), context=self.context).data - - return None - - def get_reasons(self, instance): - """ - Returns the reasons that have been reported so far - - Returns: - list of str: list of reasons a post/comment has been reported for - """ - return sorted( - {report[0] for report in instance.user_reports + instance.mod_reports} - ) diff --git a/channels/serializers/reports_test.py b/channels/serializers/reports_test.py deleted file mode 100644 index e26d6f65c2..0000000000 --- a/channels/serializers/reports_test.py +++ /dev/null @@ -1,74 +0,0 @@ -""" -Tests for serializers for channel REST APIS -""" -from unittest.mock import Mock - -import pytest -from rest_framework.exceptions import ValidationError - -from channels.serializers.reports import ReportSerializer, ReportedContentSerializer - - -pytestmark = pytest.mark.django_db - - -def test_report_validate_no_ids(): - """validate either post_id or comment_id needs to be specified""" - with pytest.raises(ValidationError) as ex: - ReportSerializer().validate({}) - assert ( - ex.value.args[0] == "You must provide one of either 'post_id' or 'comment_id'" - ) - - -def test_report_validate_both_ids(): - """validate either post_id or comment_id needs to be specified""" - with pytest.raises(ValidationError) as ex: - ReportSerializer().validate({"comment_id": "1", "post_id": "2"}) - assert ( - ex.value.args[0] - == "You must provide only one of either 'post_id' or 'comment_id', not both" - ) - - -def test_report_validate_one_id(): - """validate passes if only comment_id or post_id is specified""" - serializer = ReportSerializer() - serializer.validate({"post_id": "2"}) - serializer.validate({"comment_id": "1"}) - - -def test_report_comment_create(): - """Adds a comment report""" - payload = {"comment_id": "abc", "reason": "reason"} - api_mock = Mock() - assert ( - ReportSerializer( - context={"channel_api": api_mock, "request": Mock(), "view": Mock()} - ).create(payload) - == payload - ) - api_mock.report_comment.assert_called_once_with("abc", "reason") - - -def test_report_post_create(): - """Adds a post report""" - payload = {"post_id": "abc", "reason": "reason"} - api_mock = Mock() - assert ( - ReportSerializer( - context={"channel_api": api_mock, "request": Mock(), "view": Mock()} - ).create(payload) - == payload - ) - api_mock.report_post.assert_called_once_with("abc", "reason") - - -def test_reported_comment(): - """Serialize of a reported content object""" - reported_content = Mock() - reported_content.user_reports = [["spam", 1]] - reported_content.mod_reports = [["spam", "jane"], ["junk", "jow"]] - assert ReportedContentSerializer().get_reasons(reported_content) == sorted( - ["spam", "junk"] - ) diff --git a/channels/serializers/subscribers.py b/channels/serializers/subscribers.py deleted file mode 100644 index 7201f4536c..0000000000 --- a/channels/serializers/subscribers.py +++ /dev/null @@ -1,39 +0,0 @@ -""" -Serializers for channel REST APIs -""" - -from django.contrib.auth import get_user_model -from rest_framework import serializers -from rest_framework.exceptions import ValidationError - -from channels.models import ChannelSubscription -from open_discussions.serializers import WriteableSerializerMethodField - -User = get_user_model() - - -class SubscriberSerializer(serializers.Serializer): - """Serializer for subscriber""" - - subscriber_name = WriteableSerializerMethodField() - - def get_subscriber_name(self, instance): - """Returns the name for the subscriber""" - return instance.username - - def validate_subscriber_name(self, value): - """Validates the subscriber name""" - if not isinstance(value, str): - raise ValidationError("subscriber name must be a string") - if not User.objects.filter(username=value).exists(): - raise ValidationError("subscriber name is not a valid user") - return {"subscriber_name": value} - - def create(self, validated_data): - api = self.context["channel_api"] - channel_name = self.context["view"].kwargs["channel_name"] - username = validated_data["subscriber_name"] - api.add_subscriber(username, channel_name) - return ChannelSubscription.objects.get( - channel__name=channel_name, user__username=username - ).user diff --git a/channels/serializers/subscribers_test.py b/channels/serializers/subscribers_test.py deleted file mode 100644 index a2954f8648..0000000000 --- a/channels/serializers/subscribers_test.py +++ /dev/null @@ -1,71 +0,0 @@ -""" -Tests for serializers for channel REST APIS -""" -from unittest.mock import Mock - -import pytest -from rest_framework.exceptions import ValidationError - -from channels.api import sync_channel_subscription_model -from channels.factories.models import ChannelFactory -from channels.serializers.subscribers import SubscriberSerializer -from open_discussions.factories import UserFactory - - -pytestmark = pytest.mark.django_db - - -def test_subscriber(): - """Serialize of a redditor-like object""" - redditor_name = "fooo_username" - redditor_user = UserFactory.create(username=redditor_name) - assert SubscriberSerializer(redditor_user).data == { - "subscriber_name": redditor_name - } - - -def test_subscriber_validate_name_no_string(): - """validate the input in case the value is not a string""" - with pytest.raises(ValidationError) as ex: - SubscriberSerializer().validate_subscriber_name(None) - assert ex.value.args[0] == "subscriber name must be a string" - - -def test_subscriber_validate_name_no_valid_user(): - """validate the input in case the user does not exists in the DB""" - with pytest.raises(ValidationError) as ex: - SubscriberSerializer().validate_subscriber_name("foo_user") - assert ex.value.args[0] == "subscriber name is not a valid user" - - -def test_subscriber_validate_name(): - """validate the input""" - user = UserFactory.create() - assert SubscriberSerializer().validate_subscriber_name(user.username) == { - "subscriber_name": user.username - } - - -def test_subscriber_create(): - """Adds a subscriber""" - user = UserFactory.create() - ChannelFactory.create(name="foo_channel") - subscriber_user = UserFactory.create() - api_mock = Mock( - add_subscriber=Mock( - side_effect=[ - sync_channel_subscription_model("foo_channel", subscriber_user) - ] - ) - ) - subscriber = SubscriberSerializer( - context={ - "channel_api": api_mock, - "request": Mock(user=user), - "view": Mock(kwargs={"channel_name": "foo_channel"}), - } - ).create({"subscriber_name": subscriber_user.username}) - assert subscriber.id == subscriber_user.id - api_mock.add_subscriber.assert_called_once_with( - subscriber_user.username, "foo_channel" - ) diff --git a/channels/serializers/utils.py b/channels/serializers/utils.py deleted file mode 100644 index 8f760fc5f7..0000000000 --- a/channels/serializers/utils.py +++ /dev/null @@ -1,11 +0,0 @@ -"""Serializer utils""" -from rest_framework import serializers - - -def parse_bool(value, field_name): - """Helper method to parse boolean values""" - if value in serializers.BooleanField.TRUE_VALUES: - return True - if value in serializers.BooleanField.FALSE_VALUES: - return False - raise serializers.ValidationError("{} must be a bool".format(field_name)) diff --git a/channels/serializers/validators.py b/channels/serializers/validators.py deleted file mode 100644 index 115c27eae9..0000000000 --- a/channels/serializers/validators.py +++ /dev/null @@ -1,29 +0,0 @@ -"""Serializer utils""" -from django.contrib.auth import get_user_model - -from rest_framework.serializers import ValidationError - - -User = get_user_model() - - -def validate_username(value): - """ - Helper function to validate the username - """ - if not isinstance(value, str): - raise ValidationError("username must be a string") - if not User.objects.filter(username=value).exists(): - raise ValidationError("username is not a valid user") - return value - - -def validate_email(value): - """ - Helper function to validate email - """ - if not isinstance(value, str): - raise ValidationError("email must be a string") - if not User.objects.filter(email__iexact=value).exists(): - raise ValidationError("email does not exist") - return value diff --git a/channels/serializers/validators_test.py b/channels/serializers/validators_test.py deleted file mode 100644 index 194e2e64d3..0000000000 --- a/channels/serializers/validators_test.py +++ /dev/null @@ -1,35 +0,0 @@ -"""Tests for validators""" -import pytest -from rest_framework.serializers import ValidationError - -from channels.serializers.validators import validate_email, validate_username -from open_discussions.factories import UserFactory - -pytestmark = pytest.mark.django_db - - -@pytest.mark.parametrize( - "email,fails", - [(123, True), ("notexists@example.com", True), ("exists@example.com", False)], -) -def test_validate_email(email, fails): - """Tests behavior of validate_email""" - UserFactory.create(email="exists@example.com") - if fails: - with pytest.raises(ValidationError): - validate_email(email) - else: - assert validate_email(email) == email - - -@pytest.mark.parametrize( - "username,fails", [(123, True), ("notexists", True), ("exists", False)] -) -def test_validate_username(username, fails): - """Tests behavior of validate_username""" - UserFactory.create(username="exists") - if fails: - with pytest.raises(ValidationError): - validate_username(username) - else: - assert validate_username(username) == username diff --git a/channels/signals.py b/channels/signals.py deleted file mode 100644 index 9d9af999ec..0000000000 --- a/channels/signals.py +++ /dev/null @@ -1,28 +0,0 @@ -"""Signals for channels""" -from django.db.models.signals import post_save -from django.dispatch import receiver - -from channels.models import ChannelMembershipConfig -from moira_lists.tasks import update_moira_list_users -from open_discussions import features - - -@receiver( - post_save, - sender=ChannelMembershipConfig, - dispatch_uid="channelmembershipconfig_post_save", -) -def handle_create_course_run_certificate( - sender, instance, created, **kwargs -): # pylint: disable=unused-argument - """ - Update moira lists when a ChannelMembershipConfig model is saved. - """ - if "moira_lists" in instance.query and features.is_enabled(features.MOIRA): - update_moira_list_users.delay( - instance.query.get("moira_lists", []), - channel_ids=[ - channel_id - for channel_id in instance.channels.values_list("id", flat=True) - ], - ) diff --git a/channels/spam.py b/channels/spam.py deleted file mode 100644 index a6f43d61a6..0000000000 --- a/channels/spam.py +++ /dev/null @@ -1,169 +0,0 @@ -"""Check for spam""" -import logging -import re -from types import SimpleNamespace - -import akismet -from django.conf import settings -from django.utils.functional import SimpleLazyObject -from ipware import get_client_ip - -from channels.models import SpamCheckResult -from open_discussions import features - -log = logging.getLogger() - - -def save_spam_result(*, user_ip, user_agent, object_type, object_id, is_spam): - """ - Create or update a SpamCheck object with Akismet result - - Args: - user_ip(str): user's ip address - user_agent(str): user's browser agent - object_type(ContentType): the type of object (post, comment) to check - object_id(int): The id of the object - is_spam(bool): if the object was flagged as spam - """ - result, created = SpamCheckResult.objects.get_or_create( - content_type=object_type, - object_id=object_id, - defaults={ - "checks": 1, - "user_ip": user_ip, - "user_agent": user_agent, - "is_spam": is_spam, - }, - ) - if not created: - result.user_ip = user_ip - result.user_agent = user_agent - result.checks = result.checks + 1 - result.is_spam = is_spam - result.save() - - -def extract_spam_check_headers(request): - """Extract and validate the headers""" - user_ip, _ = get_client_ip(request) - user_agent = request.META.get("HTTP_USER_AGENT", "") - - return SimpleNamespace(user_ip=user_ip, user_agent=user_agent) - - -def exempt_from_spamcheck(email): - """ - Determine if a user should be exempt from a spam check based on email - - Args: - email(str): The email of the user - - Returns: - bool: True if exempt else False - """ - pattern = "|".join([email for email in settings.SPAM_EXEMPT_EMAILS]) - return ( - features.is_enabled(features.SPAM_EXEMPTIONS) - and re.search(r"({})$".format(pattern), email) is not None - ) - - -def create_akismet_client(): - """Initialize the akismet client""" - if not all([settings.AKISMET_API_KEY, settings.AKISMET_BLOG_URL]): - log.info( - "One or more of AKISMET_API_KEY and AKISMET_BLOG_URL is not configured" - ) - return None - - try: - return akismet.Akismet( - key=settings.AKISMET_API_KEY, blog_url=settings.AKISMET_BLOG_URL - ) - except akismet.AkismetError: - log.exception("Akismet is not configured correctly") - except: # pylint: disable=bare-except - log.exception("Error initializing Akismet client") - - return None - - -class SpamChecker: - """Spam checking for posts and comments""" - - def __init__(self): - self._client = SimpleLazyObject(create_akismet_client) - - def _can_spam_check(self): - """Returns True if the spam checker is properly configured and can operate""" - return hasattr(self._client, "comment_check") - - def is_post_spam(self, *, user_ip, user_agent, post): - """ - Detect if a post is spam - - Args: - user_ip(str): user's ip address - user_agent(str): user's browser agent - post(channels.models.Post): the post to check - - Returns: - bool: True if the post is spam - """ - if not self._can_spam_check(): - # if we can't verify it, assume it's not spam - return False - - if not user_ip or not user_agent: - log.info("Couldn't determine user agent or ip, assuming to be spam") - return True - - try: - log.debug("Spam checking post content") - return self._client.comment_check( - user_ip=user_ip, - user_agent=user_agent, - comment_content=post.plain_text, - comment_type="forum-post", - comment_author=post.author.profile.name, - comment_author_email=post.author.email, - is_test=settings.AKISMET_IS_TESTING, - ) - except: # pylint: disable=bare-except - log.exception("Error trying to spam check w/ Akismet") - return False - - def is_comment_spam(self, *, user_ip, user_agent, comment): - """ - Detect if a comment is spam - - Args: - user_ip(str): user's ip address - user_agent(str): user's browser agent - comment(channels.models.Comment): the comment to check - - Returns: - bool: True if the comment is spam - """ - if not self._can_spam_check(): - # if we can't verify it, assume it's not spam - return False - - if not user_ip or not user_agent: - log.info("Couldn't determine user agent or ip, assuming to be spam") - return True - - try: - log.debug("Spam checking comment content") - return self._client.comment_check( - user_ip=user_ip, - user_agent=user_agent, - comment_content=comment.text, - comment_type="reply", - comment_author=comment.author.profile.name, - comment_author_email=comment.author.email, - is_test=settings.AKISMET_IS_TESTING, - ) - except: # pylint: disable=bare-except - log.exception("Error trying to spam check w/ Akismet") - return False diff --git a/channels/spam_test.py b/channels/spam_test.py deleted file mode 100644 index 9b0a009298..0000000000 --- a/channels/spam_test.py +++ /dev/null @@ -1,246 +0,0 @@ -"""Spam verification tests""" -from types import SimpleNamespace - -from akismet import AkismetError -import pytest -from django.contrib.contenttypes.models import ContentType - -from channels.constants import POST_TYPE, COMMENT_TYPE -from channels.factories.models import PostFactory, CommentFactory -from channels.models import SpamCheckResult -from channels.spam import ( - SpamChecker, - extract_spam_check_headers, - save_spam_result, - exempt_from_spamcheck, -) - -# pylint: disable=redefined-outer-name -from open_discussions import features - - -@pytest.fixture(autouse=True) -def default_settings(settings): - """Default settings for tests""" - settings.AKISMET_API_KEY = "test-key" - settings.AKISMET_BLOG_URL = "http://mit.edu" - # just in case we somehow execute it if a test fails - settings.AKISMET_IS_TESTING = True - - -@pytest.fixture() -def user_request_args(): - """User request args extracted from headers""" - return SimpleNamespace(user_agent="UserAgent", user_ip="127.0.0.1") - - -@pytest.fixture() -def mock_akismet(mocker): # pylint: disable=unused-argument - """Fixture for a valid request and checker""" - return mocker.patch("channels.spam.akismet.Akismet", autospec=True) - - -@pytest.fixture -def post_checker( - user, user_request_args, mock_akismet -): # pylint: disable=unused-argument - """Fixture for post check""" - post = PostFactory.create(author=user) - - def _check(**kwargs): - resolved_kwargs = {**vars(user_request_args), "post": post, **kwargs} - - checker = SpamChecker() - - return checker.is_post_spam(**resolved_kwargs) - - return SimpleNamespace(post=post, check=_check) - - -@pytest.fixture -def comment_checker( - user, user_request_args, mock_akismet -): # pylint: disable=unused-argument - """Fixture for post check""" - comment = CommentFactory.create(author=user) - - def _check(**kwargs): - resolved_kwargs = {**vars(user_request_args), "comment": comment, **kwargs} - - checker = SpamChecker() - - return checker.is_comment_spam(**resolved_kwargs) - - return SimpleNamespace(comment=comment, check=_check) - - -@pytest.mark.parametrize( - "headers, expected", - [ - [ - dict(HTTP_X_FORWARDED_FOR="127.0.0.7"), - SimpleNamespace(user_agent="", user_ip="127.0.0.7"), - ], - [ - dict(HTTP_USER_AGENT="user-agent", HTTP_X_FORWARDED_FOR="127.0.0.7"), - SimpleNamespace(user_agent="user-agent", user_ip="127.0.0.7"), - ], - ], -) -def test_extract_spam_check_headers(rf, headers, expected): - """Test that extract_spam_check_headers extracts user agent and ip from request headers""" - request = rf.post("/api", **headers) - - assert extract_spam_check_headers(request) == expected - - -@pytest.mark.parametrize( - "checker", - [pytest.lazy_fixture("post_checker"), pytest.lazy_fixture("comment_checker")], -) -def test_not_configured(settings, mock_akismet, checker): - """Verify that Akismet doesn't mark anything as spam if it's not configured""" - settings.AKISMET_API_KEY = None - settings.AKISMET_BLOG_URL = None - - assert checker.check() is False - - mock_akismet.return_value.comment_check.assert_not_called() - - -@pytest.mark.parametrize("side_effect", [AkismetError(), Exception()]) -@pytest.mark.parametrize( - "checker", - [pytest.lazy_fixture("post_checker"), pytest.lazy_fixture("comment_checker")], -) -def test_client_init_exception(mocker, mock_akismet, side_effect, checker): - """Validation should pass if we can't initialize""" - mock_log = mocker.patch("channels.spam.log") - - mock_akismet.side_effect = side_effect - - assert checker.check() is False - - mock_log.exception.assert_called_once() - mock_akismet.return_value.comment_check.assert_not_called() - - -@pytest.mark.parametrize( - "checker", - [pytest.lazy_fixture("post_checker"), pytest.lazy_fixture("comment_checker")], -) -def test_check_raises_exception(mocker, mock_akismet, checker): - """Verify that if the request to check fails, we log a message but allow it through""" - mock_log = mocker.patch("channels.spam.log") - mock_akismet.return_value.comment_check.side_effect = Exception() - - assert checker.check() is False - - mock_log.exception.assert_called_once_with("Error trying to spam check w/ Akismet") - - -@pytest.mark.parametrize( - "checker", - [pytest.lazy_fixture("post_checker"), pytest.lazy_fixture("comment_checker")], -) -@pytest.mark.parametrize( - "extra_kwargs", - [ - pytest.param(dict(user_agent="", user_ip=""), id="no_headers"), - pytest.param(dict(user_ip=""), id="no_ip"), - pytest.param(dict(user_agent=""), id="no_useragent"), - ], -) -def test_invalid_headers(mocker, mock_akismet, checker, extra_kwargs): - """Verify that is_comment_spam returns false for requests with no IP or UA""" - mock_log = mocker.patch("channels.spam.log") - - assert checker.check(**extra_kwargs) is True - - mock_log.info.assert_called_once_with( - "Couldn't determine user agent or ip, assuming to be spam" - ) - mock_akismet.return_value.comment_check.assert_not_called() - - -def test_is_comment_spam(mock_akismet, comment_checker, user_request_args, user): - """Verify is_comment_spam calls the Akismet API correctly""" - assert ( - comment_checker.check() == mock_akismet.return_value.comment_check.return_value - ) - - mock_akismet.return_value.comment_check.assert_called_once_with( - user_agent=user_request_args.user_agent, - user_ip=user_request_args.user_ip, - comment_content=comment_checker.comment.text, - comment_type="reply", - comment_author=user.profile.name, - comment_author_email=user.email, - is_test=True, - ) - - -def test_is_text_post_spam(mock_akismet, post_checker, user_request_args, user): - """Verify is_post_spam calls the Akismet API correctly for a post""" - assert post_checker.check() == mock_akismet.return_value.comment_check.return_value - - mock_akismet.return_value.comment_check.assert_called_once_with( - user_agent=user_request_args.user_agent, - user_ip=user_request_args.user_ip, - comment_content=post_checker.post.plain_text, - comment_type="forum-post", - comment_author=user.profile.name, - comment_author_email=user.email, - is_test=True, - ) - - -@pytest.mark.django_db -@pytest.mark.parametrize("model", [POST_TYPE, COMMENT_TYPE]) -@pytest.mark.parametrize("is_spam", [True, False]) -@pytest.mark.parametrize("ip_address", ["10.1.1.18", "fake", None, ""]) -def test_save_spam_result(*, model, is_spam, ip_address): - """Test that a SpamCheckResult object is created with correct values""" - user_ip = ip_address - user_agent = "Fake" - object_type = ContentType.objects.get(model=model) - kwargs = { - "user_ip": user_ip, - "user_agent": user_agent, - "object_type": object_type, - "object_id": 1, - "is_spam": is_spam, - } - save_spam_result(**kwargs) - result = SpamCheckResult.objects.get(content_type=object_type, object_id=1) - assert result.is_spam is is_spam - assert result.checks == 1 - assert result.user_ip == ip_address - kwargs["is_spam"] = not is_spam - save_spam_result(**kwargs) - result = SpamCheckResult.objects.get(content_type=object_type, object_id=1) - assert result.is_spam is not is_spam - assert result.checks == 2 - - -@pytest.mark.parametrize("feature_enabled", [True, False]) -@pytest.mark.parametrize( - "email,is_exempt", - [ - ["joe@mit.edu", True], - ["jane@csail.mit.edu", True], - ["tester@summit.edu", False], - ["tester@mit.edu.com", False], - ["tester@foobar.edu", True], - ["tester@specialcase.com", True], - ], -) -def test_exempt_from_spamcheck(settings, email, is_exempt, feature_enabled): - """Test that emails are correctly determined to be exempt or not from span checks""" - settings.FEATURES[features.SPAM_EXEMPTIONS] = feature_enabled - settings.SPAM_EXEMPT_EMAILS = [ - "[@\\.]mit\\.edu", - "@foobar\\.edu", - "tester@specialcase\\.com", - ] - assert exempt_from_spamcheck(email) is (feature_enabled and is_exempt) diff --git a/channels/task_helpers.py b/channels/task_helpers.py deleted file mode 100644 index ef9c0b3985..0000000000 --- a/channels/task_helpers.py +++ /dev/null @@ -1,69 +0,0 @@ -"""Channel tasks helpers""" -from django.conf import settings - -from channels.spam import extract_spam_check_headers, exempt_from_spamcheck -from open_discussions.features import HOT_POST_REPAIR, if_feature_enabled - - -@if_feature_enabled(HOT_POST_REPAIR) -def maybe_repair_post_in_host_listing(post_obj): - """ - Runs a task to maybe repair a post if it's missing from the hot listing - - Args: - post_obj (channels.proxies.PostProxy): A proxied post/submission - """ - from channels import tasks - - post = post_obj._self_post # pylint: disable=protected-access - - tasks.maybe_repair_post_in_host_listing.apply_async( - args=[post.channel.name, post.post_id], - countdown=settings.MITOPEN_HOT_POST_REPAIR_DELAY, - ) - - -def check_post_for_spam(request, post_id): - """ - Run a task to determine if the post is spam - - Args: - request(): the request to create or update the post - post_id(str): the base36 post id - """ - from channels import tasks - - if exempt_from_spamcheck(request.user.email): - return - - headers = extract_spam_check_headers(request) - tasks.check_post_for_spam.apply_async( - kwargs=dict( - user_ip=headers.user_ip, user_agent=headers.user_agent, post_id=post_id - ), - countdown=15, - ) - - -def check_comment_for_spam(request, comment_id): - """ - Run a task to determine if the post is spam - - Args: - request(): the request to create or update the post - comment_id(str): the base36 comment id - """ - from channels import tasks - - if exempt_from_spamcheck(request.user.email): - return - - headers = extract_spam_check_headers(request) - tasks.check_comment_for_spam.apply_async( - kwargs=dict( - user_ip=headers.user_ip, - user_agent=headers.user_agent, - comment_id=comment_id, - ), - countdown=15, - ) diff --git a/channels/task_helpers_test.py b/channels/task_helpers_test.py deleted file mode 100644 index e22f2f2b1a..0000000000 --- a/channels/task_helpers_test.py +++ /dev/null @@ -1,90 +0,0 @@ -"""Tests for task helpers""" -import pytest - -from channels import task_helpers -from open_discussions.features import HOT_POST_REPAIR - - -@pytest.mark.parametrize("delay", [200, 100]) -def test_maybe_repair_post_in_host_listing(mocker, settings, delay): - """Test that maybe_repair_post_in_host_listing triggers the task correctly""" - post = mocker.Mock() - self_post = post._self_post # pylint: disable=protected-access - patched_maybe_repair_post_in_host_listing = mocker.patch( - "channels.tasks.maybe_repair_post_in_host_listing" - ) - - settings.MITOPEN_HOT_POST_REPAIR_DELAY = delay - settings.FEATURES[HOT_POST_REPAIR] = True - - task_helpers.maybe_repair_post_in_host_listing(post) - - patched_maybe_repair_post_in_host_listing.apply_async.assert_called_once_with( - args=[self_post.channel.name, self_post.post_id], countdown=delay - ) - - -@pytest.mark.parametrize("is_exempt", [True, False]) -def test_check_post_for_spam(mocker, rf, is_exempt, user): - """Test that check_post_for_spam calls the task""" - mock_exempt_check = mocker.patch( - "channels.task_helpers.exempt_from_spamcheck", return_value=is_exempt - ) - mock_extract_spam_check_headers = mocker.patch( - "channels.task_helpers.extract_spam_check_headers" - ) - mock_headers = mock_extract_spam_check_headers.return_value - mock_task = mocker.patch("channels.tasks.check_post_for_spam") - mock_request = rf.post("/api") - mock_request.user = user - - task_helpers.check_post_for_spam(mock_request, "post-id") - - mock_exempt_check.assert_called_once_with(user.email) - - if not is_exempt: - mock_extract_spam_check_headers.assert_called_once_with(mock_request) - mock_task.apply_async.assert_called_once_with( - kwargs=dict( - user_agent=mock_headers.user_agent, - user_ip=mock_headers.user_ip, - post_id="post-id", - ), - countdown=15, - ) - else: - mock_extract_spam_check_headers.assert_not_called() - mock_task.apply_async.assert_not_called() - - -@pytest.mark.parametrize("is_exempt", [True, False]) -def test_check_comment_for_spam(mocker, rf, user, is_exempt): - """Test that check_comment_for_spam calls the task""" - mock_exempt_check = mocker.patch( - "channels.task_helpers.exempt_from_spamcheck", return_value=is_exempt - ) - mock_extract_spam_check_headers = mocker.patch( - "channels.task_helpers.extract_spam_check_headers" - ) - mock_headers = mock_extract_spam_check_headers.return_value - mock_task = mocker.patch("channels.tasks.check_comment_for_spam") - mock_request = rf.post("/api") - mock_request.user = user - - task_helpers.check_comment_for_spam(mock_request, "comment-id") - - mock_exempt_check.assert_called_once_with(user.email) - - if not is_exempt: - mock_extract_spam_check_headers.assert_called_once_with(mock_request) - mock_task.apply_async.assert_called_once_with( - kwargs=dict( - user_agent=mock_headers.user_agent, - user_ip=mock_headers.user_ip, - comment_id="comment-id", - ), - countdown=15, - ) - else: - mock_extract_spam_check_headers.assert_not_called() - mock_task.apply_async.assert_not_called() diff --git a/channels/tasks.py b/channels/tasks.py deleted file mode 100644 index 5d8be59180..0000000000 --- a/channels/tasks.py +++ /dev/null @@ -1,627 +0,0 @@ -"""Channels tasks""" -from itertools import islice -import logging -import traceback -from urllib.parse import urljoin - -import base36 -import celery -from django.conf import settings -from django.contrib.auth import get_user_model -from django.contrib.auth.models import Group -from django.contrib.contenttypes.models import ContentType -from django.shortcuts import reverse -from prawcore.exceptions import ResponseException - -from channels import api, backpopulate_api, membership_api -from channels.api import ( - Api, - sync_channel_subscription_model, - add_user_role, - get_admin_api, - get_allowed_post_types_from_link_type, - allowed_post_types_bitmask, -) -from channels.spam import create_akismet_client -from channels.constants import ROLE_MODERATORS, ROLE_CONTRIBUTORS -from channels.models import ( - Channel, - Post, - ChannelGroupRole, - ChannelInvitation, - Comment, - SpamCheckResult, -) -from channels.spam import SpamChecker, save_spam_result -from channels.utils import SORT_NEW_LISTING_PARAMS, SORT_HOT_LISTING_PARAMS -from authentication.models import BlockedEmailRegex -from mail import api as mail_api -from open_discussions.celery import app -from open_discussions.utils import chunks -from search.exceptions import PopulateUserRolesException, RetryException -from search import search_index_helpers -from notifications.tasks import notify_moderators - -User = get_user_model() -log = logging.getLogger() - -SPAM_CHECKER = SpamChecker() - - -@app.task() -def evict_expired_access_tokens(): - """Evicts expired access tokens""" - api.evict_expired_access_tokens() - - -@app.task(bind=True) -def subscribe_all_users_to_channels(self, *, channel_names): - """ - Subscribes all users to a set of channels - - Args: - channel_names (list of str): the names of the channels to subscribe to - """ - chunk_size = settings.MITOPEN_DEFAULT_CHANNEL_BACKPOPULATE_BATCH_SIZE - query = ( - User.objects.exclude(username=settings.INDEXING_API_USERNAME) - .order_by("username") - .values_list("username", flat=True) - .iterator() - ) - - results = celery.group( - [ - subscribe_user_range_to_channels.si( - channel_names=channel_names, usernames=usernames - ) - for usernames in chunks(query, chunk_size=chunk_size) - ] - ) - - raise self.replace(results) - - -@app.task -def subscribe_user_range_to_channels(*, channel_names, usernames): - """ - Subscribes a range of user ids to a set of channels - - Args: - channel_names (list of str): the names of the channels to subscribe to - usernames (list of str): list of user usernames - """ - admin_api = get_admin_api() - # walk the usernames and add them as subscribers - for username in usernames: - for channel_name in channel_names: - try: - admin_api.add_subscriber(username, channel_name) - except Exception: # pylint: disable=broad-except - log.exception( - "Failed to subscribe username '%s' to channel '%s'", - username, - channel_name, - ) - - -@app.task(autoretry_for=(RetryException,), retry_backoff=True, rate_limit="600/m") -def populate_user_subscriptions(user_ids): - """ - Populate channel user roles for a list of user ids - - Args: - user_ids(list of int): List of user ids - """ - for user in User.objects.filter(id__in=user_ids).iterator(): - client = Api(user) - channels = client.list_channels() - for channel in channels: - sync_channel_subscription_model(channel.display_name, user=user) - - -@app.task(autoretry_for=(RetryException,), retry_backoff=True, rate_limit="600/m") -def populate_user_roles(channel_ids): - """ - Populate channel user roles for a list of channel ids - - Args: - channel_ids(list of int): List of channel ids - """ - client = get_admin_api() - for channel in Channel.objects.filter(id__in=channel_ids): - try: - role = ROLE_MODERATORS - ChannelGroupRole.objects.get_or_create( - channel=channel, - role=role, - group=Group.objects.get_or_create(name=f"{channel.name}_{role}")[0], - ) - for moderator in client.list_moderators(channel.name): - user = User.objects.filter(username=moderator.name).first() - if user: - add_user_role(channel, ROLE_MODERATORS, user) - role = ROLE_CONTRIBUTORS - ChannelGroupRole.objects.get_or_create( - channel=channel, - role=role, - group=Group.objects.get_or_create(name=f"{channel.name}_{role}")[0], - ) - for contributor in client.list_contributors(channel.name): - user = User.objects.filter(username=contributor.name).first() - if user: - add_user_role(channel, ROLE_CONTRIBUTORS, user) - except ResponseException: - # This could mean the indexing user cannot access a channel, which is a bug. - # We need to raise a different exception here because celery doesn't handle PRAW exceptions correctly. - raise PopulateUserRolesException( - f"ResponseException received for channel {channel}: {traceback.format_exc()}" - ) - - -@app.task(bind=True) -def populate_subscriptions_and_roles(self): - """Populate channel roles and subscriptions for all users and channels""" - results = celery.group( - [ - populate_user_subscriptions.si(ids) - for ids in chunks( - User.objects.exclude(username=settings.INDEXING_API_USERNAME) - .exclude(profile__isnull=True) - .order_by("id") - .values_list("id", flat=True), - chunk_size=settings.OPENSEARCH_INDEXING_CHUNK_SIZE, - ) - ] - + [ - populate_user_roles.si(ids) - for ids in chunks( - Channel.objects.order_by("id").values_list("id", flat=True), - chunk_size=settings.OPENSEARCH_INDEXING_CHUNK_SIZE, - ) - ] - ) - raise self.replace(results) - - -@app.task -def populate_post_and_comment_fields_batch(ids): - """ - Populates Post.post_type for a range of posts - - Args: - ids (list of int): list of post ids - """ - client = get_admin_api() - - for post in Post.objects.filter(id__in=ids).iterator(): - submission = client.get_submission(post.post_id) - - backpopulate_api.backpopulate_post(post=post, submission=submission) - backpopulate_api.backpopulate_comments(post=post, submission=submission) - - -@app.task(bind=True) -def populate_post_and_comment_fields(self): - """ - Populates Post fields - """ - results = celery.group( - [ - populate_post_and_comment_fields_batch.si(ids) - for ids in chunks( - Post.objects.order_by("id").values_list("id", flat=True), - chunk_size=settings.OPENSEARCH_INDEXING_CHUNK_SIZE, - ) - ] - ) - raise self.replace(results) - - -@app.task -def populate_channel_fields_batch(channel_ids): - """ - Populates Channel fields from reddit for a list of channel ids - - Args: - channel_ids (list of int): list channel post ids - """ - client = get_admin_api() - - for channel in Channel.objects.filter(id__in=channel_ids).iterator(): - if all( - getattr(channel, field) - for field in ["allowed_post_types", "title", "channel_type"] - ): - continue - - subreddit = client.get_subreddit(channel.name) - - if not channel.allowed_post_types: - channel.allowed_post_types = allowed_post_types_bitmask( - get_allowed_post_types_from_link_type(subreddit.submission_type) - ) - - if not channel.title: - channel.title = subreddit.title - - if not channel.channel_type: - channel.channel_type = subreddit.subreddit_type - - channel.save() - - -@app.task(bind=True) -def populate_channel_fields(self): - """ - Populates Channel fields from reddit for all channels - """ - results = celery.group( - [ - populate_channel_fields_batch.si(ids) - for ids in chunks( - Channel.objects.values_list("id", flat=True), - chunk_size=settings.OPENSEARCH_INDEXING_CHUNK_SIZE, - ) - ] - ) - raise self.replace(results) - - -@app.task() -def populate_posts_and_comments(post_ids): - """ - Backpopulates a list of post ids - - Args: - post_ids (list of int): list of reddit post ids in integer form - - Returns: - dict: aggregated result data for this batch - """ - admin_api = get_admin_api() - - # brute force this because /api/info does not return all submissions for an unknown reason - submissions = [] - for post_id in post_ids: - try: - submission = admin_api.get_submission(base36.dumps(post_id)) - # force a fetch so any loading errors get caught now - submission._fetch() # pylint: disable=protected-access - submissions.append(submission) - except: # pylint: disable=bare-except - log.warning("Could not find submission '%s'", post_id) - - channels_by_name = Channel.objects.in_bulk( - [submission.subreddit.display_name for submission in submissions], - field_name="name", - ) - post_count = 0 - comment_count = 0 - failures = [] - - for submission in submissions: - channel_name = submission.subreddit.display_name - - # skip posts that don't have a matching channel, we don't want to auto-create these - if channel_name not in channels_by_name: - log.warning( - "Unknown channel name %s, not populating post %s", - channel_name, - submission.id, - ) - failures.append( - { - "thing_type": "post", - "thing_id": submission.id, - "reason": "unknown channel '{}'".format(channel_name), - } - ) - continue - - post, _ = Post.objects.get_or_create( - post_id=submission.id, - defaults={"channel": channels_by_name.get(channel_name)}, - ) - - backpopulate_api.backpopulate_post(post=post, submission=submission) - post_count += 1 - - comment_count += backpopulate_api.backpopulate_comments( - post=post, submission=submission - ) - return {"posts": post_count, "comments": comment_count, "failures": failures} - - -@app.task() -def populate_posts_and_comments_merge_results(results): - """ - Merges results of backpopulate_posts_and_comments - - Args: - results (iterable of dict): iterable of batch task results - - Returns: - dict: merged result data for all batches - """ - post_count = 0 - comment_count = 0 - failures = [] - - for result in results: - post_count += result["posts"] - comment_count += result["comments"] - failures.extend(result["failures"]) - - return {"posts": post_count, "comments": comment_count, "failures": failures} - - -@app.task(bind=True) -def populate_all_posts_and_comments(self): - """ - Backpopulate all posts and comments - """ - reddit_api = get_admin_api().reddit - - # fetch and base36 decode the latest post id - newest_post_id = base36.loads(next(reddit_api.front.new()).id) - - # create a celery chord by batching a backpopulate and merging results - results = ( - celery.group( - populate_posts_and_comments.si(post_ids) - for post_ids in chunks( - range(newest_post_id + 1), - chunk_size=settings.OPENSEARCH_INDEXING_CHUNK_SIZE, - ) - ) - | populate_posts_and_comments_merge_results.s() - ) - - raise self.replace(results) - - -@app.task -def send_invitation_email(channel_invitation_id): - """ - Sends a channel invitation - - Args: - channel_invitation_id (int): the id of the ChannelInvitation - """ - invite = ChannelInvitation.objects.get(id=channel_invitation_id) - - signup_url = urljoin(settings.SITE_BASE_URL, reverse("signup")) - - mail_api.send_messages( - list( - mail_api.messages_for_recipients( - [ - ( - invite.email, - mail_api.context_for_user( - extra_context={"invite": invite, "signup_url": signup_url} - ), - ) - ], - "invite", - ) - ) - ) - - -@app.task -def maybe_repair_post_in_host_listing(channel_name, reddit_post_id): - """ - Repair a post on the condition that it's in the new post listing but not in the hot listing - - Args: - channel_name(str): the channel name to search for the post in - reddit_post_id(str): the reddit post id to check - """ - admin_api = get_admin_api() - - limit = settings.MITOPEN_HOT_POST_REPAIR_LIMIT - - def _find_missing_submission(): - """Find the missing submission""" - new_posts = admin_api.list_posts(channel_name, SORT_NEW_LISTING_PARAMS) - new_posts_by_id = {post.id: post for post in islice(new_posts, limit)} - new_posts_ids = set(new_posts_by_id.keys()) - - hot_posts = admin_api.list_posts(channel_name, SORT_HOT_LISTING_PARAMS) - hot_posts_ids = {post.id for post in islice(hot_posts, limit)} - - missing_post_ids = new_posts_ids - hot_posts_ids - - if reddit_post_id in missing_post_ids and reddit_post_id in new_posts_ids: - return new_posts_by_id[reddit_post_id] - return None - - # check to see if this submission existing in hot listing - submission = _find_missing_submission() - - if submission is None: - return - - submission.upvote() - submission.clear_vote() - - # check again and if it's missing still, just report an error so we can investigate - if _find_missing_submission() is not None: - log.error( - "Failed to repair submission %s missing from hot posts in channel %s", - reddit_post_id, - channel_name, - ) - else: - log.info( - "Successfully repaired submission %s missing from hot posts in channel %s", - reddit_post_id, - channel_name, - ) - - -@app.task(acks_late=True) -def update_memberships_for_managed_channels(*, channel_ids=None, user_ids=None): - """Cron task to update managed channel memberships""" - membership_api.update_memberships_for_managed_channels( - channel_ids=channel_ids, user_ids=user_ids - ) - - -@app.task(acks_late=True) -def check_post_for_spam(*, user_ip, user_agent, post_id): - """ - Check posts for spam and remove them accordingly - - Args: - user_ip (str): user's ip address for the request that created the post - user_agent (str): useragent for the request that created the post - post_id (str): reddit base36 post id - """ - admin_api = get_admin_api() - - post = Post.objects.get(post_id=post_id) - - is_spam = SPAM_CHECKER.is_post_spam( - user_ip=user_ip, user_agent=user_agent, post=post - ) - save_spam_result( - user_ip=user_ip, - user_agent=user_agent, - object_type=ContentType.objects.get_for_model(Post), - object_id=post.id, - is_spam=is_spam, - ) - - if is_spam: - admin_api.remove_post(post.post_id) - else: - notify_moderators.delay(post.post_id, post.channel.name) - - -@app.task(acks_late=True) -def check_comment_for_spam(*, user_ip, user_agent, comment_id): - """ - Check comments for spam and remove them accordingly - - Args: - user_ip (str): user's ip address for the request that created the comment - user_agent (str): useragent for the request that created the comment - comment_id (str): reddit base36 comment id - """ - admin_api = get_admin_api() - - comment = Comment.objects.get(comment_id=comment_id) - - is_spam = SPAM_CHECKER.is_comment_spam( - user_ip=user_ip, user_agent=user_agent, comment=comment - ) - save_spam_result( - user_ip=user_ip, - user_agent=user_agent, - object_type=ContentType.objects.get_for_model(Comment), - object_id=comment.id, - is_spam=is_spam, - ) - if is_spam: - admin_api.remove_comment(comment.comment_id) - - -@app.task -def update_spam(*, spam, comment_ids, post_ids, retire_users, skip_akismet): - """ - Updates the spam check result for comments and posts - - Args: - spam (bool): Mark as spam if true and ham if false - comment_ids( list of int): list of comment ids in integer form - post_ids( list of int): list of post ids in integer for - retire_users(bool): retire comment/post authors if true - skip_akismet(bool): do not submit reclassification to akismet if true - - """ - comment_content_type = ContentType.objects.get_for_model(Comment) - post_content_type = ContentType.objects.get_for_model(Post) - admin_api = get_admin_api() - - akismet_client = create_akismet_client() - - for comment in Comment.objects.filter(id__in=comment_ids).iterator(): - result, _ = SpamCheckResult.objects.get_or_create( - content_type=comment_content_type, object_id=comment.id - ) - - if spam: - result.is_spam = True - result.save() - - admin_api.remove_comment(comment.comment_id) - submit_func = akismet_client.submit_spam - - else: - result.is_spam = False - result.save() - - admin_api.approve_comment(comment.comment_id) - submit_func = akismet_client.submit_ham - - if not skip_akismet: - submit_func( - user_agent=result.user_agent, - user_ip=result.user_ip, - comment_content=comment.text, - comment_type="reply", - comment_author=comment.author.profile.name, - comment_author_email=comment.author.email, - ) - - if spam and retire_users: - retire_user(comment.author) - - for post in Post.objects.filter(id__in=post_ids).iterator(): - result, _ = SpamCheckResult.objects.get_or_create( - content_type=post_content_type, object_id=post.id - ) - - if spam: - result.is_spam = True - result.save() - - admin_api.remove_post(post.post_id) - submit_func = akismet_client.submit_spam - - else: - result.is_spam = False - result.save() - - admin_api.approve_post(post.post_id) - submit_func = akismet_client.submit_ham - - if not skip_akismet: - submit_func( - user_agent=result.user_agent, - user_ip=result.user_ip, - comment_content=post.plain_text, - comment_type="forum-post", - comment_author=post.author.profile.name, - comment_author_email=post.author.email, - ) - - if spam and retire_users: - retire_user(post.author) - - -def retire_user(user): - """Retire a user""" - if user.email: - BlockedEmailRegex.objects.create(match=user.email) - user.email = "" - user.is_active = False - user.set_unusable_password() - user.save() - user.social_auth.all().delete() - user.received_invitations.all().delete() - search_index_helpers.deindex_profile(user) - user.content_subscriptions.all().delete() diff --git a/channels/tasks_test.py b/channels/tasks_test.py deleted file mode 100644 index 5e4f36e3e4..0000000000 --- a/channels/tasks_test.py +++ /dev/null @@ -1,661 +0,0 @@ -"""Tasks tests""" -from urllib.parse import urljoin - -import base36 -import pytest -from django.contrib.auth import get_user_model -from django.contrib.contenttypes.models import ContentType -from django.shortcuts import reverse -from praw.models import Redditor -from prawcore.exceptions import ResponseException - -from channels import tasks -from channels import api -from channels.constants import ( - CHANNEL_TYPE_PUBLIC, - ROLE_MODERATORS, - ROLE_CONTRIBUTORS, - LINK_TYPE_ANY, - COMMENT_TYPE, - POST_TYPE, -) -from channels.factories.models import ( - ChannelFactory, - PostFactory, - CommentFactory, - ChannelInvitationFactory, - SpamCheckResultFactory, -) -from channels.models import ChannelSubscription, Channel, Post, Comment, SpamCheckResult -from open_discussions.factories import UserFactory -from search.exceptions import PopulateUserRolesException -from authentication.models import BlockedEmailRegex - -pytestmark = [pytest.mark.django_db, pytest.mark.usefixtures("indexing_user")] - -# pylint:disable=redefined-outer-name - -User = get_user_model() - - -@pytest.fixture -def channels_and_users(): - """Channels and users for testing""" - return ( - [ChannelFactory.create(name=channel_name) for channel_name in ["a", "b", "c"]], - UserFactory.create_batch(4), - ) - - -def test_evict_expired_access_tokens(): - """Test that the task evicts expired tokens""" - from channels.factories.models import RedditAccessTokenFactory - from channels.models import RedditAccessToken - - future = RedditAccessTokenFactory.create() - expired = RedditAccessTokenFactory.create(expired=True) - - tasks.evict_expired_access_tokens.delay() - - assert RedditAccessToken.objects.count() == 1 - assert RedditAccessToken.objects.filter(id=future.id).exists() - assert not RedditAccessToken.objects.filter(id=expired.id).exists() - - -def test_subscribe_all_users_to_channels(settings, mocker, mocked_celery): - """Test that the main task batches out smaller tasks correctly""" - settings.MITOPEN_DEFAULT_CHANNEL_BACKPOPULATE_BATCH_SIZE = 2 - users = sorted(UserFactory.create_batch(4), key=lambda user: user.username) - channel_names = ["nochannel_1", "nochannel_2"] - - mock_subscribe_user_range_to_channels = mocker.patch( - "channels.tasks.subscribe_user_range_to_channels" - ) - - with pytest.raises(mocked_celery.replace_exception_class): - tasks.subscribe_all_users_to_channels.delay(channel_names=channel_names) - - assert mocked_celery.group.call_count == 1 - list(mocked_celery.group.call_args[0][0]) - - mock_subscribe_user_range_to_channels.si.assert_any_call( - usernames=[users[0].username, users[1].username], channel_names=channel_names - ) - mock_subscribe_user_range_to_channels.si.assert_any_call( - usernames=[users[2].username, users[3].username], channel_names=channel_names - ) - - -def test_subscribe_user_range_to_channels(mocker): - """Test that the main task batches out smaller tasks correctly""" - mock_add_subscriber = mocker.patch("channels.api.Api.add_subscriber") - mocker.patch("channels.api._get_client", autospec=True) - usernames = [user.username for user in UserFactory.create_batch(5)] - channel_names = ["nochannel_1", "nochannel_2"] - - tasks.subscribe_user_range_to_channels.delay( - usernames=usernames, channel_names=channel_names - ) - - assert mock_add_subscriber.call_count == (len(usernames) * len(channel_names)) - - for username in usernames: - for channel_name in channel_names: - mock_add_subscriber.assert_any_call(username, channel_name) - - -def test_populate_subscriptions_and_roles( - mocker, mocked_celery, settings, channels_and_users -): - """ - populate_subscriptions_and_roles should call sub-tasks with correct ids - """ - channels, users = channels_and_users - users = sorted(users, key=lambda user: user.id) - channels = sorted(channels, key=lambda channel: channel.id) - settings.OPENSEARCH_INDEXING_CHUNK_SIZE = 2 - mock_populate_user_subscriptions = mocker.patch( - "channels.tasks.populate_user_subscriptions" - ) - mock_populate_user_roles = mocker.patch("channels.tasks.populate_user_roles") - - with pytest.raises(mocked_celery.replace_exception_class): - tasks.populate_subscriptions_and_roles.delay() - - assert mocked_celery.group.call_count == 1 - list(mocked_celery.group.call_args[0][0]) - mock_populate_user_subscriptions.si.assert_any_call([users[0].id, users[1].id]) - mock_populate_user_subscriptions.si.assert_any_call([users[2].id, users[3].id]) - mock_populate_user_roles.si.assert_any_call([channels[0].id, channels[1].id]) - mock_populate_user_roles.si.assert_any_call([channels[2].id]) - assert mocked_celery.replace.call_count == 1 - - -@pytest.mark.parametrize("is_subscriber", [True, False]) -def test_populate_user_subscriptions(mocker, is_subscriber, channels_and_users): - """populate_user_subscriptions should create ChannelSubscription objects""" - channels, users = channels_and_users - client_mock = mocker.patch("channels.tasks.Api", autospec=True) - client_mock.return_value.list_channels.return_value = [ - mocker.Mock(display_name=channel.name) for channel in channels if is_subscriber - ] - tasks.populate_user_subscriptions.delay([user.id for user in users]) - for user in users: - for channel in channels: - assert ( - ChannelSubscription.objects.filter(user=user, channel=channel).exists() - is is_subscriber - ) - - -@pytest.mark.parametrize("is_moderator", [True, False]) -@pytest.mark.parametrize("is_contributor", [True, False]) -def test_populate_user_roles(mocker, is_contributor, is_moderator, channels_and_users): - """populate_user_roles should create ChannelGroupRole objects""" - channels, users = channels_and_users - client_mock = mocker.patch("channels.api.Api", autospec=True) - redditors = [] - for user in users: - redditor = mocker.Mock(spec=Redditor) - redditor.name = user.username - redditors.append(redditor) - - client_mock.return_value.list_moderators.return_value = [ - redditor for redditor in redditors if is_moderator - ] - client_mock.return_value.list_contributors.return_value = [ - redditor for redditor in redditors if is_contributor - ] - tasks.populate_user_roles.delay([channel.id for channel in channels]) - for user in users: - for channel in channels: - assert ( - api.get_role_model(channel, ROLE_MODERATORS).group in user.groups.all() - ) is is_moderator - assert ( - api.get_role_model(channel, ROLE_CONTRIBUTORS).group - in user.groups.all() - ) is is_contributor - - -@pytest.mark.parametrize("is_error_moderator", [True, False]) -def test_populate_user_roles_error(mocker, is_error_moderator, channels_and_users): - """populate_user_roles should raise a PopulateUserRolesException if there is a ResponseException error""" - channels, users = channels_and_users - client_mock = mocker.patch("channels.api.Api", autospec=True) - redditors = [] - for user in users: - redditor = mocker.Mock(spec=Redditor) - redditor.name = user.username - redditors.append(redditor) - - client_mock.return_value.list_moderators.return_value = [] - client_mock.return_value.list_contributors.return_value = [] - - if is_error_moderator: - client_mock.return_value.list_moderators.side_effect = ResponseException( - mocker.Mock() - ) - else: - client_mock.return_value.list_contributors.side_effect = ResponseException( - mocker.Mock() - ) - - with pytest.raises(PopulateUserRolesException): - tasks.populate_user_roles.delay([channel.id for channel in channels]) - - -def test_populate_post_and_comment_fields(mocker, mocked_celery, settings): - """ - populate_post_and_comment_fields should call sub-tasks with correct ids - """ - posts = PostFactory.create_batch(4) - settings.OPENSEARCH_INDEXING_CHUNK_SIZE = 2 - mock_populate_post_and_comment_fields_batch = mocker.patch( - "channels.tasks.populate_post_and_comment_fields_batch" - ) - - with pytest.raises(mocked_celery.replace_exception_class): - tasks.populate_post_and_comment_fields.delay() - - assert mocked_celery.group.call_count == 1 - list(mocked_celery.group.call_args[0][0]) - mock_populate_post_and_comment_fields_batch.si.assert_any_call( - [posts[0].id, posts[1].id] - ) - mock_populate_post_and_comment_fields_batch.si.assert_any_call( - [posts[2].id, posts[3].id] - ) - assert mocked_celery.replace.call_count == 1 - - -def test_populate_post_and_comment_fields_batch(mocker): - """ - populate_post_and_comment_fields_batch should call backpopulate APIs for each post - """ - posts = PostFactory.create_batch(10, unpopulated=True) - mock_api = mocker.patch("channels.api.Api", autospec=True) - mock_backpopulate_api = mocker.patch("channels.tasks.backpopulate_api") - - tasks.populate_post_and_comment_fields_batch.delay([post.id for post in posts]) - - assert mock_api.return_value.get_submission.call_count == len(posts) - assert mock_backpopulate_api.backpopulate_post.call_count == len(posts) - assert mock_backpopulate_api.backpopulate_comments.call_count == len(posts) - for post in posts: - mock_api.return_value.get_submission.assert_any_call(post.post_id) - mock_backpopulate_api.backpopulate_post.assert_any_call( - post=post, submission=mock_api.return_value.get_submission.return_value - ) - mock_backpopulate_api.backpopulate_comments.assert_any_call( - post=post, submission=mock_api.return_value.get_submission.return_value - ) - - -def test_populate_channel_fields_batch(mocker): - """ - populate_channel_fields should set fields from reddit - """ - channels = ChannelFactory.create_batch(2) - mock_api = mocker.patch("channels.api.Api", autospec=True) - mock_subreddit = mock_api.return_value.get_subreddit.return_value - mock_subreddit.submission_type = LINK_TYPE_ANY - mock_subreddit.title = "A channel title" - mock_subreddit.subreddit_type = CHANNEL_TYPE_PUBLIC - - updated_channel = channels[0] - updated_channel.allowed_post_types = 0 - updated_channel.title = None - updated_channel.channel_type = None - updated_channel.save() - - tasks.populate_channel_fields_batch.delay([channel.id for channel in channels]) - - updated_channel.refresh_from_db() - - mock_api.return_value.get_subreddit.assert_called_once_with(updated_channel.name) - - assert int(updated_channel.allowed_post_types) == int( - Channel.allowed_post_types.self | Channel.allowed_post_types.link - ) - assert updated_channel.channel_type == CHANNEL_TYPE_PUBLIC - assert updated_channel.title == "A channel title" - - -def test_populate_posts_and_comments(mocker): - """ - populate_posts_and_comments should call the backpopulate API for each post - """ - - post_ids = [1, 2, 3] - - ChannelFactory.create(name="exists") - - submission_mock = mocker.Mock(id="1", subreddit=mocker.Mock(display_name="exists")) - - mock_submissions = [ - submission_mock, - mocker.Mock(id="2", subreddit=mocker.Mock(display_name="missing")), - ] - - mock_api = mocker.patch("channels.api.Api", autospec=True) - mock_api.return_value.get_submission.side_effect = mock_submissions - - mock_backpopulate_api = mocker.patch("channels.tasks.backpopulate_api") - mock_backpopulate_api.backpopulate_comments.return_value = 15 - - result = tasks.populate_posts_and_comments.delay(post_ids).get() - - assert mock_api.return_value.get_submission.call_count == len(post_ids) - for post_id in post_ids: - mock_api.return_value.get_submission.assert_any_call(base36.dumps(post_id)) - - assert Post.objects.filter(post_id="1").exists() - - post = Post.objects.get(post_id="1") - - mock_backpopulate_api.backpopulate_post.assert_called_once_with( - post=post, submission=submission_mock - ) - mock_backpopulate_api.backpopulate_comments.assert_called_once_with( - post=post, submission=submission_mock - ) - - for mock in mock_submissions: - mock._fetch.assert_called_once_with() # pylint: disable=protected-access - - assert result == { - "posts": 1, - "comments": 15, - "failures": [ - { - "thing_type": "post", - "thing_id": "2", - "reason": "unknown channel 'missing'", - } - ], - } - - -def test_populate_posts_and_comments_merge_results(): - """ - populate_posts_and_comments_merge_results should aggregate result from other tasks - """ - result = tasks.populate_posts_and_comments_merge_results.delay( - [ - {"posts": 3, "comments": 5, "failures": [1, 2, 3]}, - {"posts": 6, "comments": 9, "failures": [3, 4, 5]}, - ] - ).get() - - assert result == {"posts": 9, "comments": 14, "failures": [1, 2, 3, 3, 4, 5]} - - -def test_populate_all_posts_and_comments(mocker, settings, mocked_celery): - """ - populate_all_posts_and_comments should create batched subtasks to populate the Posts and Comments - """ - mock_api = mocker.patch("channels.api.Api", autospec=True) - mock_api.return_value.reddit.front.new.return_value = iter( - [mocker.Mock(id=base36.dumps(23))] - ) - - mock_populate_posts_and_comments = mocker.patch( - "channels.tasks.populate_posts_and_comments" - ) - mock_populate_posts_and_comments_merge_results = mocker.patch( - "channels.tasks.populate_posts_and_comments_merge_results" - ) - - # ensure group consumers the generator passed to it so the other assertions work - mocked_celery.group.side_effect = list - - settings.OPENSEARCH_INDEXING_CHUNK_SIZE = 10 - - with pytest.raises(mocked_celery.replace_exception_class): - tasks.populate_all_posts_and_comments.delay() - - assert mocked_celery.group.call_count == 1 - assert mock_populate_posts_and_comments.si.call_count == 3 - mock_populate_posts_and_comments.si.assert_any_call(list(range(0, 10))) - mock_populate_posts_and_comments.si.assert_any_call(list(range(10, 20))) - mock_populate_posts_and_comments.si.assert_any_call(list(range(20, 24))) - mock_populate_posts_and_comments_merge_results.s.assert_called_once_with() - assert mocked_celery.replace.call_count == 1 - - -def test_send_invitation_email(mocker, settings): - """Tests that send_invitation_email sends an email""" - invite = ChannelInvitationFactory.create() - mock_mail_api = mocker.patch("channels.tasks.mail_api") - mock_mail_api.messages_for_recipients.return_value = [1] - tasks.send_invitation_email.delay(invite.id) - - mock_mail_api.context_for_user.assert_called_once_with( - extra_context={ - "invite": invite, - "signup_url": urljoin(settings.SITE_BASE_URL, reverse("signup")), - } - ) - mock_mail_api.messages_for_recipients.assert_called_once_with( - [(invite.email, mock_mail_api.context_for_user.return_value)], "invite" - ) - mock_mail_api.send_messages.assert_called_once_with( - mock_mail_api.messages_for_recipients.return_value - ) - - -@pytest.mark.parametrize("is_in_new_posts", [True, False]) -@pytest.mark.parametrize("is_missing", [True, False]) -@pytest.mark.parametrize("will_fail_repair", [True, False]) -def test_maybe_repair_post_in_host_listing( - mocker, settings, is_in_new_posts, is_missing, will_fail_repair -): - """Tests that maybe_repair_post_in_host_listing correctly repairs if the post is missing""" - - get_admin_api_mock = mocker.patch("channels.tasks.get_admin_api") - log_mock = mocker.patch("channels.tasks.log") - will_attempt_repair = is_in_new_posts and is_missing - - channel_name = "channel" - post_id = base36.dumps(23) - - missing_post = mocker.Mock(id=post_id) - posts = list(mocker.Mock(id=str(x)) for x in range(5)) - - admin_api_mock = get_admin_api_mock.return_value - admin_api_mock.list_posts.side_effect = [ - ([missing_post] if is_in_new_posts else []) + posts, - ([] if is_missing else [missing_post]) + posts, - ([missing_post] if is_in_new_posts else []) + posts, - ([] if will_fail_repair else [missing_post]) + posts, - ] - - settings.MITOPEN_HOT_POST_REPAIR_LIMIT = 4 - - tasks.maybe_repair_post_in_host_listing.delay(channel_name, post_id) - - get_admin_api_mock.assert_called_once_with() - - assert admin_api_mock.list_posts.call_count == (4 if will_attempt_repair else 2) - - if will_attempt_repair: - missing_post.upvote.assert_called_once_with() - missing_post.clear_vote.assert_called_once_with() - else: - missing_post.upvote.assert_not_called() - missing_post.clear_vote.assert_not_called() - - if will_attempt_repair: - if will_fail_repair: - log_mock.error.assert_called_once_with( - "Failed to repair submission %s missing from hot posts in channel %s", - post_id, - channel_name, - ) - else: - log_mock.info.assert_called_once_with( - "Successfully repaired submission %s missing from hot posts in channel %s", - post_id, - channel_name, - ) - - -def test_update_memberships_for_managed_channels(mocker): - """Test that update_memberships_for_managed_channels task calls the matching API""" - mock_update_memberships_for_managed_channels_api = mocker.patch( - "channels.membership_api.update_memberships_for_managed_channels", autospec=True - ) - - tasks.update_memberships_for_managed_channels.delay( - channel_ids=[1, 2, 3], user_ids=[4, 5, 6] - ) - - mock_update_memberships_for_managed_channels_api.assert_called_once_with( - channel_ids=[1, 2, 3], user_ids=[4, 5, 6] - ) - - -@pytest.mark.parametrize("is_spam", [True, False]) -def test_check_comment_for_spam(mocker, is_spam): - """Verify that check_comment_for_spam removes a comment if it is spam""" - mock_api = mocker.patch("channels.tasks.get_admin_api").return_value - mock_spam_checker = mocker.patch("channels.tasks.SPAM_CHECKER") - mock_spam_checker.is_comment_spam.return_value = is_spam - comment = CommentFactory.create() - - tasks.check_comment_for_spam.delay( - user_agent="user-agent", user_ip="user-ip", comment_id=comment.comment_id - ) - - mock_spam_checker.is_comment_spam.assert_called_once_with( - user_agent="user-agent", user_ip="user-ip", comment=comment - ) - - if is_spam: - mock_api.remove_comment.assert_called_once_with(comment.comment_id) - else: - mock_api.remove_comment.assert_not_called() - - assert ( - SpamCheckResult.objects.filter( - content_type=ContentType.objects.get(model=COMMENT_TYPE), - object_id=comment.id, - is_spam=is_spam, - ).count() - == 1 - ) - - -@pytest.mark.parametrize("is_spam", [True, False]) -def test_check_post_for_spam(mocker, is_spam): - """Verify that check_post_for_spam removes a post if it is spam""" - mock_api = mocker.patch("channels.tasks.get_admin_api").return_value - mock_spam_checker = mocker.patch("channels.tasks.SPAM_CHECKER") - mock_spam_checker.is_post_spam.return_value = is_spam - mock_moderator_notification = mocker.patch("channels.tasks.notify_moderators.delay") - - post = PostFactory.create() - - tasks.check_post_for_spam.delay( - user_agent="user-agent", user_ip="user-ip", post_id=post.post_id - ) - - mock_spam_checker.is_post_spam.assert_called_once_with( - user_agent="user-agent", user_ip="user-ip", post=post - ) - - if is_spam: - mock_api.remove_post.assert_called_once_with(post.post_id) - mock_moderator_notification.assert_not_called() - else: - mock_api.remove_post.assert_not_called() - mock_moderator_notification.assert_called_once_with( - post.post_id, post.channel.name - ) - - assert ( - SpamCheckResult.objects.filter( - content_type=ContentType.objects.get(model=POST_TYPE), - object_id=post.id, - is_spam=is_spam, - ).count() - == 1 - ) - - -@pytest.mark.parametrize("spam", [True, False]) -@pytest.mark.parametrize("retire_users", [True, False]) -@pytest.mark.parametrize("skip_akismet", [True, False]) -@pytest.mark.parametrize("existing_spam_check_result", [True, False]) -def test_update_spam( - mocker, spam, retire_users, skip_akismet, existing_spam_check_result -): - """Test the update_spam task""" - # pylint: disable=too-many-locals - comment = CommentFactory.create() - post = PostFactory.create() - - if existing_spam_check_result: - comment_spam_check_result = SpamCheckResultFactory.create( - content_object=comment, is_spam=(not spam) - ) - post_spam_check_result = SpamCheckResultFactory.create( - content_object=post, is_spam=(not spam) - ) - - post_author_email = post.author.email - comment_author_email = comment.author.email - - mock_admin_api = mocker.patch("channels.tasks.get_admin_api").return_value - mock_askimet_client = mocker.patch( - "channels.tasks.create_akismet_client" - ).return_value - mocker.patch("search.search_index_helpers.deindex_profile", autospec=True) - tasks.update_spam.delay( - spam=spam, - comment_ids=[comment.id], - post_ids=[post.id], - retire_users=retire_users, - skip_akismet=skip_akismet, - ) - - if existing_spam_check_result: - comment_spam_check_result.refresh_from_db() - post_spam_check_result.refresh_from_db() - else: - comment_content_type = ContentType.objects.get_for_model(Comment) - post_content_type = ContentType.objects.get_for_model(Post) - - comment_spam_check_result = SpamCheckResult.objects.get( - content_type=comment_content_type, object_id=comment.id - ) - - post_spam_check_result = SpamCheckResult.objects.get( - content_type=post_content_type, object_id=post.id - ) - - assert comment_spam_check_result.is_spam == spam - assert post_spam_check_result.is_spam == spam - - if spam: - mock_admin_api.remove_post.assert_called_once_with(post.post_id) - mock_admin_api.remove_comment.assert_called_once_with(comment.comment_id) - - if not skip_akismet: - mock_askimet_client.submit_spam.assert_any_call( - user_agent=comment_spam_check_result.user_agent, - user_ip=comment_spam_check_result.user_ip, - comment_content=comment.text, - comment_type="reply", - comment_author=comment.author.profile.name, - comment_author_email=comment.author.email, - ) - - mock_askimet_client.submit_spam.assert_any_call( - user_agent=post_spam_check_result.user_agent, - user_ip=post_spam_check_result.user_ip, - comment_content=post.plain_text, - comment_type="forum-post", - comment_author=post.author.profile.name, - comment_author_email=post.author.email, - ) - - if retire_users: - blocked_email_regexes = BlockedEmailRegex.objects.all().values_list( - "match", flat=True - ) - assert post_author_email in blocked_email_regexes - assert comment_author_email in blocked_email_regexes - - comment.refresh_from_db() - post.refresh_from_db() - - assert comment.author.email == "" - assert post.author.email == "" - - assert not comment.author.is_active - assert not post.author.is_active - - else: - mock_admin_api.approve_post.assert_called_once_with(post.post_id) - mock_admin_api.approve_comment.assert_called_once_with(comment.comment_id) - - if not skip_akismet: - mock_askimet_client.submit_ham.assert_any_call( - user_agent=comment_spam_check_result.user_agent, - user_ip=comment_spam_check_result.user_ip, - comment_content=comment.text, - comment_type="reply", - comment_author=comment.author.profile.name, - comment_author_email=comment.author.email, - ) - - mock_askimet_client.submit_ham.assert_any_call( - user_agent=post_spam_check_result.user_agent, - user_ip=post_spam_check_result.user_ip, - comment_content=post.plain_text, - comment_type="forum-post", - comment_author=post.author.profile.name, - comment_author_email=post.author.email, - ) diff --git a/channels/test_constants.py b/channels/test_constants.py deleted file mode 100644 index b520ad86f0..0000000000 --- a/channels/test_constants.py +++ /dev/null @@ -1,1019 +0,0 @@ -"""Constants for tests""" -from profiles.utils import DEFAULT_PROFILE_IMAGE - -# pylint:disable=too-many-lines - -LIST_MORE_COMMENTS_RESPONSE = [ - { - "id": "1", - "parent_id": None, - "post_id": "1", - "text": "a", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T18:50:32+00:00", - "profile_image": DEFAULT_PROFILE_IMAGE, - "edited": False, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "2", - "parent_id": None, - "post_id": "1", - "text": "b", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T18:50:55+00:00", - "profile_image": DEFAULT_PROFILE_IMAGE, - "edited": False, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "3", - "parent_id": None, - "post_id": "1", - "text": "c", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T18:50:58+00:00", - "profile_image": DEFAULT_PROFILE_IMAGE, - "edited": False, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "4", - "parent_id": None, - "post_id": "1", - "text": "d", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T18:51:00+00:00", - "profile_image": DEFAULT_PROFILE_IMAGE, - "edited": False, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "5", - "parent_id": None, - "post_id": "1", - "text": "e", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T18:51:02+00:00", - "profile_image": DEFAULT_PROFILE_IMAGE, - "edited": False, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "l", - "parent_id": None, - "post_id": "1", - "text": "1", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T19:31:08+00:00", - "profile_image": DEFAULT_PROFILE_IMAGE, - "edited": False, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "p", - "parent_id": None, - "post_id": "1", - "text": "reply_to_post 2", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-23T18:11:31+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e8x", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 1", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:29:37+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e8y", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 2", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:29:41+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e8z", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 3", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:29:44+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e90", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 4", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:29:47+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e91", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 5", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:29:50+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e92", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 6", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:29:54+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e93", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 6", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:30:15+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e94", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 7", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:30:19+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e95", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 8", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:30:22+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e96", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 9", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:30:25+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e97", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 10", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:30:28+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e99", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 11", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:31:03+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e9b", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 12", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:32:38+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e9c", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 13", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:32:43+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e9d", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 14", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:32:46+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e9f", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 15", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:35:29+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e9g", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 16", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:35:32+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e9h", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 21", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:35:40+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e9i", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 22", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:35:44+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e9j", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 23", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:35:48+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e9k", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 24", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:35:51+00:00", - "edited": False, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "parent_id": None, - "post_id": "1", - "children": ["e9l", "e9m", "e9n", "e9q"], - "comment_type": "more_comments", - }, - { - "id": "m", - "parent_id": "1", - "post_id": "1", - "text": "m", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T19:47:22+00:00", - "profile_image": DEFAULT_PROFILE_IMAGE, - "author_name": "[deleted]", - "author_headline": None, - "edited": False, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "6", - "parent_id": "5", - "post_id": "1", - "text": "e2", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T18:51:07+00:00", - "profile_image": DEFAULT_PROFILE_IMAGE, - "edited": False, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "7", - "parent_id": "5", - "post_id": "1", - "text": "e3", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T18:51:11+00:00", - "profile_image": DEFAULT_PROFILE_IMAGE, - "edited": False, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "8", - "parent_id": "5", - "post_id": "1", - "text": "e1", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T18:51:15+00:00", - "profile_image": DEFAULT_PROFILE_IMAGE, - "edited": False, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "n", - "parent_id": "m", - "post_id": "1", - "text": "oasd", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-23T17:45:14+00:00", - "edited": False, - "profile_image": DEFAULT_PROFILE_IMAGE, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "9", - "parent_id": "6", - "post_id": "1", - "text": "e2a", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T18:51:24+00:00", - "edited": False, - "profile_image": DEFAULT_PROFILE_IMAGE, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "c", - "parent_id": "6", - "post_id": "1", - "text": "e2b", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T19:01:06+00:00", - "edited": False, - "profile_image": DEFAULT_PROFILE_IMAGE, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "o", - "parent_id": "n", - "post_id": "1", - "text": "k;lkl;", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-23T17:45:25+00:00", - "edited": False, - "profile_image": DEFAULT_PROFILE_IMAGE, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "a", - "parent_id": "9", - "post_id": "1", - "text": "e2b", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T18:51:29+00:00", - "edited": False, - "profile_image": DEFAULT_PROFILE_IMAGE, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "b", - "parent_id": "9", - "post_id": "1", - "text": "e2b", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T19:00:58+00:00", - "edited": False, - "profile_image": DEFAULT_PROFILE_IMAGE, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "f", - "parent_id": "9", - "post_id": "1", - "text": "e2a1", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T19:01:29+00:00", - "edited": False, - "profile_image": DEFAULT_PROFILE_IMAGE, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "g", - "parent_id": "9", - "post_id": "1", - "text": "e2a2", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T19:01:34+00:00", - "edited": False, - "profile_image": DEFAULT_PROFILE_IMAGE, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "h", - "parent_id": "9", - "post_id": "1", - "text": "e2a3", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T19:01:38+00:00", - "edited": False, - "profile_image": DEFAULT_PROFILE_IMAGE, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "i", - "parent_id": "9", - "post_id": "1", - "text": "e2a4", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T19:01:42+00:00", - "edited": False, - "profile_image": DEFAULT_PROFILE_IMAGE, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "d", - "parent_id": "a", - "post_id": "1", - "text": "ignore this one", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T19:01:14+00:00", - "edited": False, - "profile_image": DEFAULT_PROFILE_IMAGE, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e", - "parent_id": "b", - "post_id": "1", - "text": "ignore this one", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T19:01:19+00:00", - "edited": False, - "profile_image": DEFAULT_PROFILE_IMAGE, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "j", - "parent_id": "d", - "post_id": "1", - "text": "test", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T19:29:11+00:00", - "edited": False, - "profile_image": DEFAULT_PROFILE_IMAGE, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "k", - "parent_id": "d", - "post_id": "1", - "text": "test2", - "author_id": "[deleted]", - "score": 1, - "upvoted": False, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-10-19T19:30:45+00:00", - "edited": False, - "profile_image": DEFAULT_PROFILE_IMAGE, - "author_name": "[deleted]", - "author_headline": None, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e8s", - "parent_id": "k", - "post_id": "1", - "text": "deep comment test a", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:15:29+00:00", - "edited": True, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e8t", - "parent_id": "e8s", - "post_id": "1", - "text": "deep comment test b", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:15:32+00:00", - "edited": True, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e8u", - "parent_id": "e8t", - "post_id": "1", - "text": "deep comment test c", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:15:35+00:00", - "edited": True, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e8v", - "parent_id": "e8u", - "post_id": "1", - "text": "deep comment test d", - "author_id": "george", - "score": 1, - "upvoted": True, - "downvoted": False, - "deleted": False, - "removed": False, - "subscribed": False, - "created": "2017-11-09T16:15:38+00:00", - "edited": True, - "profile_image": "/deserunt/consequatur.jpg", - "author_name": "Brooke Robles", - "author_headline": "Brooke's headline", - "comment_type": "comment", - "num_reports": None, - }, - { - "parent_id": "e8v", - "post_id": "1", - "children": [], - "comment_type": "more_comments", - }, -] diff --git a/channels/test_utils.py b/channels/test_utils.py deleted file mode 100644 index f873b4b6f5..0000000000 --- a/channels/test_utils.py +++ /dev/null @@ -1,36 +0,0 @@ -"""utils for dealing with channel tests""" -from functools import partialmethod -import contextlib -import warnings -import requests - - -@contextlib.contextmanager -def no_ssl_verification(): - """totally disable SSL verification, useful for Betamax tests""" - old_request = requests.Session.request - try: - requests.Session.request = partialmethod(old_request, verify=False) - - warnings.filterwarnings("ignore", "Unverified HTTPS request") - - yield - finally: - warnings.resetwarnings() - - requests.Session.request = old_request - - -def assert_properties_eq(obj, expected): - """ - Asserts that properties on an object are equal to the expected values - - Args: - obj(object): the object to assert properties on - expected(dict): key/value mapping of expected properties - """ - for key, value in expected.items(): - if any(value is const_val for const_val in (None, True, False)): - assert getattr(obj, key) is value - else: - assert getattr(obj, key) == value diff --git a/channels/urls.py b/channels/urls.py deleted file mode 100644 index 5267bc7805..0000000000 --- a/channels/urls.py +++ /dev/null @@ -1,96 +0,0 @@ -"""URL configurations for channels""" -from django.urls import re_path, include -from rest_framework.routers import DefaultRouter - -from channels.views import ( - channels, - comments, - contributors, - frontpage, - invites, - moderators, - posts, - reports, - subscribers, -) - -router = DefaultRouter() -router.register( - r"invites", invites.ChannelInvitationViewSet, basename="channel_invitation_api" -) - -urlpatterns = [ - re_path( - r"^api/v0/channels/$", channels.ChannelListView.as_view(), name="channel-list" - ), - re_path( - r"^api/v0/channels/(?P[A-Za-z0-9_]+)/$", - channels.ChannelDetailView.as_view(), - name="channel-detail", - ), - re_path( - r"^api/v0/channels/(?P[A-Za-z0-9_]+)/posts/$", - posts.PostListView.as_view(), - name="post-list", - ), - re_path( - r"^api/v0/channels/(?P[A-Za-z0-9_]+)/contributors/$", - contributors.ContributorListView.as_view(), - name="contributor-list", - ), - re_path( - r"^api/v0/channels/(?P[A-Za-z0-9_]+)/contributors/(?P[A-Za-z0-9_]+)/$", - contributors.ContributorDetailView.as_view(), - name="contributor-detail", - ), - re_path( - r"^api/v0/channels/(?P[A-Za-z0-9_]+)/moderators/$", - moderators.ModeratorListView.as_view(), - name="moderator-list", - ), - re_path( - r"^api/v0/channels/(?P[A-Za-z0-9_]+)/moderators/(?P[A-Za-z0-9_]+)/$", - moderators.ModeratorDetailView.as_view(), - name="moderator-detail", - ), - re_path( - r"^api/v0/channels/(?P[A-Za-z0-9_]+)/subscribers/$", - subscribers.SubscriberListView.as_view(), - name="subscriber-list", - ), - re_path( - r"^api/v0/channels/(?P[A-Za-z0-9_]+)/subscribers/(?P[A-Za-z0-9_]+)/$", - subscribers.SubscriberDetailView.as_view(), - name="subscriber-detail", - ), - re_path( - r"^api/v0/channels/(?P[A-Za-z0-9_]+)/reports/$", - reports.ChannelReportListView.as_view(), - name="channel-reports", - ), - re_path(r"^api/v0/channels/(?P[A-Za-z0-9_]+)/", include(router.urls)), - re_path( - r"api/v0/posts/(?P[A-Za-z0-9_]+)/$", - posts.PostDetailView.as_view(), - name="post-detail", - ), - re_path( - r"api/v0/posts/(?P[A-Za-z0-9_]+)/comments/$", - comments.CommentListView.as_view(), - name="comment-list", - ), - re_path( - r"api/v0/comments/(?P[A-Za-z0-9_]+)/$", - comments.CommentDetailView.as_view(), - name="comment-detail", - ), - re_path( - r"api/v0/morecomments/$", - comments.MoreCommentsView.as_view(), - name="morecomments-detail", - ), - re_path(r"api/v0/frontpage/$", frontpage.FrontPageView.as_view(), name="frontpage"), - re_path( - r"api/v0/reports/$", reports.ReportContentView.as_view(), name="report-content" - ), -] diff --git a/channels/urls_test.py b/channels/urls_test.py deleted file mode 100644 index dfb651c44f..0000000000 --- a/channels/urls_test.py +++ /dev/null @@ -1,23 +0,0 @@ -"""Test to assert URLs""" -from django.urls import reverse - - -def test_urls(): - """Assert URLs which match to views""" - assert reverse("channel-list") == "/api/v0/channels/" - assert ( - reverse("channel-detail", kwargs={"channel_name": "a_channel"}) - == "/api/v0/channels/a_channel/" - ) - assert ( - reverse("post-list", kwargs={"channel_name": "a_channel"}) - == "/api/v0/channels/a_channel/posts/" - ) - assert reverse("post-detail", kwargs={"post_id": "6"}) == "/api/v0/posts/6/" - assert ( - reverse("comment-list", kwargs={"post_id": "6"}) == "/api/v0/posts/6/comments/" - ) - assert ( - reverse("comment-detail", kwargs={"comment_id": "2b"}) == "/api/v0/comments/2b/" - ) - assert reverse("frontpage") == "/api/v0/frontpage/" diff --git a/channels/utils.py b/channels/utils.py deleted file mode 100644 index 6c74b44267..0000000000 --- a/channels/utils.py +++ /dev/null @@ -1,363 +0,0 @@ -"""Utils for channels""" -from collections import namedtuple -from contextlib import contextmanager - -from django.conf import settings -from django.contrib.auth import get_user_model -from django.db import transaction -from django.utils.functional import SimpleLazyObject -from django.utils.text import slugify -from praw.config import Config -from praw.exceptions import APIException -from praw.models import Comment -from prawcore.exceptions import Forbidden, NotFound as PrawNotFound, Redirect -from rest_framework.exceptions import NotAuthenticated, NotFound, PermissionDenied - -from channels.constants import POSTS_SORT_HOT, POSTS_SORT_NEW -from channels.exceptions import ConflictException, GoneException -from embedly.api import get_embedly_summary, THUMBNAIL_URL - -AVATAR_SMALL_MAX_DIMENSION = 22 -AVATAR_MEDIUM_MAX_DIMENSION = 90 - -ImageSize = namedtuple("ImageSize", ["x", "y"]) - -User = get_user_model() - -ListingParams = namedtuple("ListingParams", ["before", "after", "count", "sort"]) - -SORT_HOT_LISTING_PARAMS = ListingParams(None, None, 0, POSTS_SORT_HOT) -SORT_NEW_LISTING_PARAMS = ListingParams(None, None, 0, POSTS_SORT_NEW) -DEFAULT_LISTING_PARAMS = SORT_HOT_LISTING_PARAMS - - -def get_listing_params(request): - """ - Extracts listing params from a request - - Args: - request: API request object - - Returns: - (ListingParams): pagination params - """ - before = request.query_params.get("before", None) - after = request.query_params.get("after", None) - count = int(request.query_params.get("count", 0)) - sort = request.query_params.get("sort", POSTS_SORT_HOT) - return ListingParams(before, after, count, sort) - - -def get_pagination_and_reddit_obj_list(reddit_obj_listing, listing_params): - """ - Creates pagination data - - Args: - reddit_obj_listing (praw.models.listing.generator.ListingGenerator): - listing generator for reddit objects (posts, comments, etc.) - listing_params (ListingParams): listing params for this page - - Returns: - (dict, list of reddit objects [e.g.: praw.models.Submission]): pagination and reddit object list - """ - before, _, count, _ = listing_params - pagination = {"sort": listing_params.sort} - - # call _next_batch() so it pulls data - # pylint: disable=protected-access - try: - reddit_obj_listing._next_batch() - except StopIteration: - # empty page - return pagination, [] - - # pylint: disable=protected-access - listing = reddit_obj_listing._listing - - per_page = settings.MITOPEN_CHANNEL_POST_LIMIT - count = count or 0 - - if before: - # we're paging forwards and need to offset the count to what it should be relative to the page before this - count = count - per_page - 1 - - if listing.before is not None: - pagination["before"] = listing.before - pagination["before_count"] = count + 1 - - if listing.after is not None: - pagination["after"] = listing.after - pagination["after_count"] = count + per_page - - # NOTE: list(posts) can return duplicates, so we use the internal listing instead - return (pagination, list(listing)) - - -@contextmanager -def translate_praw_exceptions(user): - """ - Convert PRAW exceptions to DRF exceptions. - - Args: - user (User): The request user - """ - try: - yield - except Forbidden as exc: - if user.is_anonymous: - raise NotAuthenticated() from exc - raise PermissionDenied() from exc - except PrawNotFound as exc: - raise NotFound() from exc - except Redirect as exc: - # This assumes all redirects are due to missing subreddits, - # but I haven't seen any other causes for redirects - raise NotFound() from exc - except APIException as exc: - if exc.error_type in ("SUBREDDIT_NOTALLOWED", "NOT_AUTHOR"): - raise PermissionDenied() from exc - elif exc.error_type == "SUBREDDIT_NOEXIST": - raise NotFound() from exc - elif exc.error_type == "SUBREDDIT_EXISTS": - raise ConflictException() from exc - elif exc.error_type == "DELETED_COMMENT": - raise GoneException() from exc - raise - - -def lookup_users_for_posts(posts): - """ - Helper function to look up user for each instance and attach it to instance.user - - Args: - posts (list of praw.models.Submission): - A list of submissions - - Return: - dict: A map of usernames to the corresponding User object - """ - users = User.objects.filter( - username__in=[post.author.name for post in posts if post.author] - ).select_related("profile") - return {user.username: user for user in users} - - -def _lookup_subscriptions_for_posts(posts, user): - """ - Helper function to look up the user's subscriptions among a set of posts - - Args: - posts (list of praw.models.Submission): - A list of posts - user (User): - The user to find post subscriptions for - - Return: - list of str: list of base36 ids of posts the user is subscribed to - """ - from channels.models import Subscription - - if not posts or user.is_anonymous: - return [] - - return Subscription.objects.filter( - user=user, post_id__in=[post.id for post in posts], comment_id__isnull=True - ).values_list("post_id", flat=True) - - -def lookup_subscriptions_for_posts(posts, user): - """ - Helper function to look up the user's subscriptions among a set of posts - - Args: - posts (list of praw.models.Submission): - A list of posts - user (User): - The user to find post subscriptions for - - Return: - list of str: list of base36 ids of posts the user is subscribed to - """ - return SimpleLazyObject(lambda: _lookup_subscriptions_for_posts(posts, user)) - - -def _lookup_subscriptions_for_comments(comments, user): - """ - Helper function to look up the user's subscriptions among a set of comments - - Args: - comments (list of praw.models.Comment): - A list of comments - user (User): - The user to find comments for - - Return: - list of int: list of integer ids of comments the user is subscribed to - """ - from channels.models import Subscription - - if not comments or user.is_anonymous: - return [] - - post_id = comments[0]._extract_submission_id() # pylint: disable=protected-access - - comment_ids = [comment.id for comment in comments if isinstance(comment, Comment)] - - return Subscription.objects.filter( - user=user, post_id=post_id, comment_id__in=comment_ids - ).values_list("comment_id", flat=True) - - -def lookup_subscriptions_for_comments(comments, user): - """ - Helper function to look up the user's subscriptions among a set of comments - - Args: - comments (list of praw.models.Comment): - A list of comments - user (User): - The user to find comments for - - Return: - list of int: list of integer ids of comments the user is subscribed to - """ - return SimpleLazyObject(lambda: _lookup_subscriptions_for_comments(comments, user)) - - -def get_kind_mapping(): - """ - Get a mapping of kinds - - Returns: - dict: A map of the kind name to the kind prefix (ie t1) - """ - return Config("DEFAULT").kinds - - -def get_reddit_slug(permalink): - """ - Get the reddit slug from a submission permalink, with '_' replaced by '-' - - Args: - permalink (str): reddit submission permalink - - Returns: - str: the reddit slug for a submission - """ - return list(filter(None, permalink.split("/")))[-1].replace("_", "-") - - -@transaction.atomic -def get_or_create_link_meta(url): - """ - Gets (and if necessary creates) a LinkMeta object for a URL - - Args: - url(str): The URL of an external link - - Returns: - channels.models.LinkMeta: the LinkMeta object for the URL - - """ - from channels.models import LinkMeta - - link_meta = LinkMeta.objects.filter(url=url).first() - if link_meta is None and settings.EMBEDLY_KEY: - response = get_embedly_summary(url).json() - if THUMBNAIL_URL in response: - link_meta, _ = LinkMeta.objects.get_or_create( - url=url, defaults={"thumbnail": response[THUMBNAIL_URL]} - ) - return link_meta - - -def get_kind_and_id(thing_id): - """ - Args: - thing_id (str): a reddit thing id in the form t#_#+ - - Returns: - (str, str): a tuple of kind and id - """ - return thing_id.split("_", 1) - - -def num_items_not_none(items): - """ - Returns the count of items in the list that are not None - - Args: - items (iterable): iterable of items to check for is not None - - Returns: - int: count of items not None - """ - - return len(list(filter(lambda val: val is not None, items))) - - -def _render_article_nodes(node): - """ - Render article nodes into pieces of text - - Args: - node (list or dict): A node in the article content - - Yields: - str: A string containing text from the article nodes - """ - if isinstance(node, list): - for item in node: - yield from _render_article_nodes(item) - elif isinstance(node, dict): - should_have_spaces = node.get("name") in ("p", "li", "td", "figcaption") - if should_have_spaces: - yield " " - if "text" in node: - yield node["text"] - if "children" in node: - yield from _render_article_nodes(node["children"]) - if should_have_spaces: - yield " " - - -def render_article_text(content): - """ - Render article text based on the article content data structure - - Args: - content (list or dict): The article content - - Returns: - str: A string containing the text from the text nodes of the article - """ - return "".join(_render_article_nodes(content)) - - -def reddit_slugify(text, max_length=50): - """ - Slugifies a piece of text in the same manner reddit would - - Args: - text(str): text string to slugify - max_length(int): optional length limit to output - - Returns: - str: slugified and possibly truncated text - """ - text = slugify(text).replace("-", "_").lower() - - while len(text) > max_length: - # enforce max length on word boundaries - # see https://docs.python.org/3/library/stdtypes.html#str.rpartition - before, _, after = text.rpartition("_") - if before: - text = before - else: - # there's potential the first word is longer than the limit - # so break out of the loop explicitly - text = after - break - - # hard truncation to max_length if it was just one long word - return text[:max_length] or "_" diff --git a/channels/utils_test.py b/channels/utils_test.py deleted file mode 100644 index 8b54c8bdc7..0000000000 --- a/channels/utils_test.py +++ /dev/null @@ -1,239 +0,0 @@ -"""Tests for utils""" -# pylint: disable=protected-access -from unittest.mock import Mock - -import pytest -from praw.exceptions import APIException -from prawcore.exceptions import Forbidden, NotFound as PrawNotFound, Redirect -from rest_framework.exceptions import NotAuthenticated, NotFound, PermissionDenied - -from channels.constants import POSTS_SORT_HOT, VALID_POST_SORT_TYPES -from channels.exceptions import ConflictException, GoneException -from channels.utils import ( - ListingParams, - DEFAULT_LISTING_PARAMS, - get_listing_params, - get_pagination_and_reddit_obj_list, - translate_praw_exceptions, - get_reddit_slug, - get_kind_and_id, - num_items_not_none, - render_article_text, -) - - -def test_get_listing_params_none(mocker): - """Test that get_listing_params returns no params if there are none""" - request = mocker.Mock() - request.query_params = {} - assert get_listing_params(request) == DEFAULT_LISTING_PARAMS - - -def test_get_listing_params_after(mocker): - """Test that get_listing_params extracts after params correctly""" - request = mocker.Mock() - request.query_params = {"after": "abc", "count": "5"} - assert get_listing_params(request) == ListingParams(None, "abc", 5, POSTS_SORT_HOT) - - -def test_get_listing_params_before(mocker): - """Test that get_listing_params extracts before params correctly""" - request = mocker.Mock() - request.query_params = {"before": "abc", "count": "5"} - assert get_listing_params(request) == ListingParams("abc", None, 5, POSTS_SORT_HOT) - - -@pytest.mark.parametrize("sort", VALID_POST_SORT_TYPES) -def test_get_listing_params_sort(mocker, sort): - """Test that get_listing_params extracts before params correctly""" - request = mocker.Mock() - request.query_params = {"sort": sort} - assert get_listing_params(request) == ListingParams(None, None, 0, sort) - - -def test_get_pagination_and_posts_empty_page(mocker): - """Test that we get an empty pagination and posts if there is no data""" - posts = mocker.Mock() - # pylint: disable=protected-access - posts._next_batch.side_effect = StopIteration() - assert get_pagination_and_reddit_obj_list(posts, DEFAULT_LISTING_PARAMS) == ( - {"sort": POSTS_SORT_HOT}, - [], - ) - - -def test_get_pagination_and_posts_small_page(mocker): - """Test that we get an empty pagination and if there are less posts than page length""" - posts = mocker.Mock() - items = range(10) - listing = mocker.MagicMock() - listing.__iter__.return_value = items - listing.after = None - listing.before = None - posts._listing = listing - assert get_pagination_and_reddit_obj_list(posts, DEFAULT_LISTING_PARAMS) == ( - {"sort": POSTS_SORT_HOT}, - list(items), - ) - posts._next_batch.assert_called_once_with() - - -def test_get_pagination_and_posts_before_first_page(mocker): - """Test that we get an pagination with before to the first page""" - posts = mocker.Mock() - items = range(10) - listing = mocker.MagicMock() - listing.__iter__.return_value = items - listing.after = "def" - listing.before = None - posts._listing = listing - assert get_pagination_and_reddit_obj_list( - posts, ListingParams("xyz", None, 26, POSTS_SORT_HOT) - ) == ({"after": "def", "after_count": 25, "sort": POSTS_SORT_HOT}, list(items)) - posts._next_batch.assert_called_once_with() - - -def test_get_pagination_and_posts_before_second_page(mocker): - """Test that we get an pagination with before that's the second page""" - posts = mocker.Mock() - items = range(10) - listing = mocker.MagicMock() - listing.__iter__.return_value = items - listing.after = "def" - listing.before = "abc" - posts._listing = listing - assert get_pagination_and_reddit_obj_list( - posts, ListingParams("xyz", None, 51, POSTS_SORT_HOT) - ) == ( - { - "before": "abc", - "before_count": 26, - "after": "def", - "after_count": 50, - "sort": POSTS_SORT_HOT, - }, - list(items), - ) - posts._next_batch.assert_called_once_with() - - -def test_get_pagination_and_posts_after(mocker): - """Test that we get an pagination with after""" - posts = mocker.Mock() - items = range(10) - listing = mocker.MagicMock() - listing.__iter__.return_value = items - listing.after = "def" - listing.before = None - posts._listing = listing - assert get_pagination_and_reddit_obj_list( - posts, ListingParams(None, None, 25, POSTS_SORT_HOT) - ) == ({"after": "def", "after_count": 50, "sort": POSTS_SORT_HOT}, list(items)) - posts._next_batch.assert_called_once_with() - - -def test_get_pagination_and_posts_before_and_after(mocker): - """Test that we get an pagination with before and after""" - posts = mocker.Mock() - items = range(10) - listing = mocker.MagicMock() - listing.__iter__.return_value = items - listing.after = "def" - listing.before = "abc" - posts._listing = listing - assert get_pagination_and_reddit_obj_list( - posts, ListingParams(None, None, 25, POSTS_SORT_HOT) - ) == ( - { - "before": "abc", - "before_count": 26, - "after": "def", - "after_count": 50, - "sort": POSTS_SORT_HOT, - }, - list(items), - ) - posts._next_batch.assert_called_once_with() - - -@pytest.mark.parametrize( - "raised_exception,is_anonymous,expected_exception", - [ - [None, False, None], - [Forbidden(Mock(status_code=403)), True, NotAuthenticated], - [Forbidden(Mock(status_code=403)), False, PermissionDenied], - [PrawNotFound(Mock()), False, NotFound], - [Redirect(Mock(headers={"location": "http://example.com"})), False, NotFound], - [APIException("SUBREDDIT_NOTALLOWED", "msg", "field"), False, PermissionDenied], - [APIException("NOT_AUTHOR", "msg", "field"), False, PermissionDenied], - [APIException("SUBREDDIT_NOEXIST", "msg", "field"), False, NotFound], - [APIException("SUBREDDIT_EXISTS", "msg", "field"), False, ConflictException], - [APIException("DELETED_COMMENT", "msg", "field"), False, GoneException], - [KeyError(), False, KeyError], - ], -) -def test_translate_praw_exceptions(raised_exception, is_anonymous, expected_exception): - """Test that exceptions are translated correctly""" - user = Mock(is_anonymous=is_anonymous) - - if expected_exception is None: - with translate_praw_exceptions(user): - if raised_exception is not None: - raise raised_exception - - else: - with pytest.raises(expected_exception): - with translate_praw_exceptions(user): - if raised_exception is not None: - raise raised_exception - - -@pytest.mark.parametrize( - "permalink,slug", - [ - ["/r/1511374327_magnam/comments/ea/text_post/", "text-post"], - ["/r/1511371168_mollitia/comments/e6/url_post", "url-post"], - ], -) -def test_get_reddit_slug(permalink, slug): - """Test that the correct slug is retrieved from a permalink""" - assert get_reddit_slug(permalink) == slug - - -def test_kind_and_id(): - """Test that get_kind_and_id correctly splits the string""" - assert get_kind_and_id("t3_anbj_gu") == ["t3", "anbj_gu"] - - -def test_num_items_not_none(): - """Test that num_items_not_none returns expected results""" - assert num_items_not_none([]) == 0 - assert num_items_not_none([None, None]) == 0 - - assert num_items_not_none([1]) == 1 - assert num_items_not_none([None, 1]) == 1 - assert num_items_not_none([1, None]) == 1 - - assert num_items_not_none([0, 1, "", "abc", False, True, None]) == 6 - - -@pytest.mark.parametrize( - "input_node,output_text", - [ - [{"text": " some text "}, " some text "], - [[{"text": "first part "}, {"text": "second part"}], "first part second part"], - [ - { - "name": "p", - "children": [{"text": "child text he"}, {"text": "re some more text."}], - }, - " child text here some more text. ", - ], - [{"name": "li", "text": "item in a bullet point"}, " item in a bullet point "], - [{"name": "td", "text": "item in a cell"}, " item in a cell "], - [{"name": "figcaption", "text": "item in a caption"}, " item in a caption "], - ], -) -def test_render_article_text(input_node, output_text): - """render_article_text should extract the text from any arbitrary article node tree""" - assert render_article_text(input_node) == output_text diff --git a/channels/views/__init__.py b/channels/views/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/channels/views/channels.py b/channels/views/channels.py deleted file mode 100644 index c770def717..0000000000 --- a/channels/views/channels.py +++ /dev/null @@ -1,109 +0,0 @@ -"""Views for REST APIs for channels""" -from django.shortcuts import get_object_or_404 -from rest_framework.generics import ListCreateAPIView, RetrieveUpdateAPIView -from rest_framework.response import Response -from rest_framework.exceptions import PermissionDenied -from rest_framework import status - -from channels.api import Api -from channels.models import Channel -from channels.serializers.channels import ChannelSerializer -from channels.utils import translate_praw_exceptions -from open_discussions.permissions import ( - AnonymousAccessReadonlyPermission, - IsStaffOrReadonlyPermission, - IsStaffModeratorOrReadonlyPermission, -) - - -class ChannelListView(ListCreateAPIView): - """ - View for listing and creating channels - """ - - permission_classes = ( - AnonymousAccessReadonlyPermission, - IsStaffOrReadonlyPermission, - ) - serializer_class = ChannelSerializer - - def get_serializer_context(self): - """Context for the request and view""" - channels = {channel.name: channel for channel in Channel.objects.all()} - - return { - "channel_api": self.request.channel_api, - "channels": channels, - "view": self, - } - - def get_queryset(self): - """Get generator for channels list""" - api = Api(user=self.request.user) - return api.list_channels() - - def list(self, request, *args, **kwargs): - """Return the channels list in alphabetical order""" - queryset = self.get_queryset() - serializer = ChannelSerializer(queryset, many=True) - return Response( - sorted(serializer.data, key=lambda channel: channel["title"].lower()) - ) - - def post(self, request, *args, **kwargs): - with translate_praw_exceptions(request.user): - return super().post(request, *args, **kwargs) - - -class ChannelDetailView(RetrieveUpdateAPIView): - """ - View for getting information about or updating a specific channel - """ - - permission_classes = ( - AnonymousAccessReadonlyPermission, - IsStaffModeratorOrReadonlyPermission, - ) - serializer_class = ChannelSerializer - - def get_serializer_context(self): - """Context for the request and view""" - return { - "channel_api": self.request.channel_api, - "channels": { - self.kwargs["channel_name"]: get_object_or_404( - Channel, name=self.kwargs["channel_name"] - ) - }, - "view": self, - } - - def get_object(self): - """Get channel referenced by API""" - return self.request.channel_api.get_channel(self.kwargs["channel_name"]) - - def get(self, request, *args, **kwargs): - # we don't want to let this through to Reddit, because it blows up :/ - if len(kwargs["channel_name"]) == 1: - return Response({}, status=status.HTTP_404_NOT_FOUND) - - with translate_praw_exceptions(request.user): - return super().get(request, *args, **kwargs) - - def patch(self, request, *args, **kwargs): - # Deny permission if the user is not a superuser and is attempting to update the channel title. - if not self.request.user.is_superuser and "title" in self.request.data: - raise PermissionDenied() - with translate_praw_exceptions(request.user): - return super().patch(request, *args, **kwargs) - - def put(self, request, *args, **kwargs): - # Deny permission if the user is not a superuser and is attempting to update the channel title. - channel = self.get_object() - if ( - not self.request.user.is_superuser - and self.request.data.get("title") != channel.title - ): - raise PermissionDenied() - with translate_praw_exceptions(request.user): - return super().put(request, *args, **kwargs) diff --git a/channels/views/channels_test.py b/channels/views/channels_test.py deleted file mode 100644 index 97b80c4ab9..0000000000 --- a/channels/views/channels_test.py +++ /dev/null @@ -1,412 +0,0 @@ -"""Tests for views for REST APIs for channels""" -# pylint: disable=unused-argument,too-many-arguments -import os.path - -import pytest -from django.urls import reverse -from rest_framework import status - -from channels.constants import LINK_TYPE_ANY -from channels.factories.reddit import STRATEGY_BUILD -from channels.models import Channel -from channels.views.test_utils import default_channel_response_data -from open_discussions.constants import ( - NOT_AUTHENTICATED_ERROR_TYPE, - PERMISSION_DENIED_ERROR_TYPE, -) - -pytestmark = [pytest.mark.betamax, pytest.mark.usefixtures("mock_channel_exists")] - - -def test_list_channels(user_client, private_channel_and_contributor, request): - """ - List channels the user is subscribed to - """ - channel, _ = private_channel_and_contributor - url = reverse("channel-list") - resp = user_client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == [default_channel_response_data(channel)] - - -def test_list_channels_ordered(user_client, subscribed_channels, request): - """ - Channels should be in alphabetical order by title - """ - url = reverse("channel-list") - channel_list = user_client.get(url).json() - for i in range(len(subscribed_channels) - 1): - assert channel_list[i]["title"].lower() < channel_list[i + 1]["title"].lower() - - -def test_list_channels_anonymous(client): - """ - List anonymous channels - """ - url = reverse("channel-list") - resp = client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == [] - - -@pytest.mark.parametrize("managed", [True, False, None]) -def test_create_channel( - index_user, staff_client, staff_user, reddit_factories, managed, settings -): - """ - Create a channel and assert the response - """ - settings.INDEXING_API_USERNAME = index_user.username - url = reverse("channel-list") - channel = reddit_factories.channel( - "private", user=staff_user, strategy=STRATEGY_BUILD - ) - payload = { - "channel_type": channel.channel_type, - "name": channel.name, - "title": channel.title, - "description": channel.description, - "public_description": channel.public_description, - "link_type": channel.link_type, - } - if managed is not None: - payload["membership_is_managed"] = managed - resp = staff_client.post(url, data=payload) - expected = { - **default_channel_response_data(channel), - "user_is_moderator": True, - "membership_is_managed": managed is not False, - } - assert resp.json() == expected - assert resp.status_code == status.HTTP_201_CREATED - - -def test_create_channel_no_descriptions( - index_user, staff_client, staff_user, reddit_factories, settings -): - """ - Create a channel and assert the response for no descriptions - """ - settings.INDEXING_API_USERNAME = index_user.username - url = reverse("channel-list") - channel = reddit_factories.channel( - "private", user=staff_user, strategy=STRATEGY_BUILD - ) - payload = { - "channel_type": channel.channel_type, - "link_type": "any", - "name": channel.name, - "title": channel.title, - } - resp = staff_client.post(url, data=payload) - expected = { - **default_channel_response_data(channel), - **payload, - "description": "", - "public_description": "", - "user_is_moderator": True, - "membership_is_managed": True, - } - assert resp.status_code == status.HTTP_201_CREATED - assert resp.json() == expected - - -def test_create_channel_already_exists( - index_user, staff_client, private_channel, settings -): - """ - Create a channel which already exists - """ - settings.INDEXING_API_USERNAME = index_user.username - url = reverse("channel-list") - payload = { - "channel_type": "private", - "name": private_channel.name, - "title": "Channel title", - "description": "a description of the channel", - "public_description": "public", - "link_type": private_channel.link_type, - } - resp = staff_client.post(url, data=payload) - assert resp.status_code == status.HTTP_409_CONFLICT - - -def test_create_channel_nonstaff(user_client): - """ - Try to create a channel with nonstaff auth and assert a failure - """ - url = reverse("channel-list") - payload = { - "channel_type": "private", - "name": "a_channel", - "title": "Channel title", - "description": "a description of the channel", - "public_description": "public", - "link_type": LINK_TYPE_ANY, - } - resp = user_client.post(url, data=payload) - assert resp.status_code in (status.HTTP_401_UNAUTHORIZED, status.HTTP_403_FORBIDDEN) - assert resp.data == { - "error_type": PERMISSION_DENIED_ERROR_TYPE, - "detail": "You do not have permission to perform this action.", - } - - -def test_create_channel_noauth(client): - """ - Try to create a channel with no auth and assert a failure - """ - url = reverse("channel-list") - payload = { - "channel_type": "private", - "name": "a_channel", - "title": "Channel title", - "description": "a description of the channel", - "public_description": "public", - } - resp = client.post(url, data=payload) - assert resp.status_code in (status.HTTP_401_UNAUTHORIZED, status.HTTP_403_FORBIDDEN) - assert resp.data["error_type"] == NOT_AUTHENTICATED_ERROR_TYPE - - -def test_get_channel(user_client, private_channel_and_contributor): - """ - Get a channel - """ - channel, _ = private_channel_and_contributor - url = reverse("channel-detail", kwargs={"channel_name": channel.name}) - resp = user_client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == default_channel_response_data(channel) - - -def test_get_channel_anonymous(client, public_channel): - """ - An anonymous user should be able to see a public channel - """ - url = reverse("channel-detail", kwargs={"channel_name": public_channel.name}) - resp = client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == { - **default_channel_response_data(public_channel), - "user_is_contributor": False, - "user_is_subscriber": False, - } - - -def test_get_short_channel(user_client): - """ - test getting a one-character channel name - """ - Channel.objects.create(name="a") - url = reverse("channel-detail", kwargs={"channel_name": "a"}) - resp = user_client.get(url) - assert resp.status_code == status.HTTP_404_NOT_FOUND - - -def test_get_channel_forbidden(user_client): - """ - If PRAW returns a 403 error we should also return a 403 error - """ - Channel.objects.create(name="xavier2") - url = reverse("channel-detail", kwargs={"channel_name": "xavier2"}) - resp = user_client.get(url) - assert resp.status_code == status.HTTP_403_FORBIDDEN - - -def test_get_channel_not_found(user_client): - """ - If PRAW returns a 404 error we should also return a 404 error - """ - Channel.objects.create(name="not_a_real_channel_name") - url = reverse("channel-detail", kwargs={"channel_name": "not_a_real_channel_name"}) - resp = user_client.get(url) - assert resp.status_code == status.HTTP_404_NOT_FOUND - - -def test_get_channel_with_avatar_banner(staff_client, public_channel): - """ - If a channel has an image we should show its URL - """ - channel = Channel.objects.get(name=public_channel.name) - channel.avatar = "avatar" - channel.avatar_small = "avatar_small" - channel.avatar_medium = "avatar_medium" - channel.banner = "banner" - channel.save() - - url = reverse("channel-detail", kwargs={"channel_name": public_channel.name}) - resp = staff_client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json()["avatar"] == "/media/avatar" - assert resp.json()["avatar_small"] == "/media/avatar_small" - assert resp.json()["avatar_medium"] == "/media/avatar_medium" - assert resp.json()["banner"] == "/media/banner" - - -def test_patch_channel(staff_client, private_channel): - """ - Update a channel's settings - """ - url = reverse("channel-detail", kwargs={"channel_name": private_channel.name}) - resp = staff_client.patch(url, {"channel_type": "public"}, format="json") - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == { - **default_channel_response_data(private_channel), - "user_is_moderator": True, - "channel_type": "public", - } - assert Channel.objects.count() == 1 - channel_obj = Channel.objects.first() - assert channel_obj.name == private_channel.name - assert channel_obj.membership_is_managed is False - - -def test_patch_channel_moderator( - user_client, staff_api, private_channel_and_contributor -): - """ - Update a channel's settings with a moderator user - """ - private_channel, user = private_channel_and_contributor - url = reverse("channel-detail", kwargs={"channel_name": private_channel.name}) - staff_api.add_moderator(user.username, private_channel.name) - resp = user_client.patch(url, {"channel_type": "public"}, format="json") - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == { - **default_channel_response_data(private_channel), - "user_is_moderator": True, - "channel_type": "public", - } - - -@pytest.mark.parametrize("field", ["avatar", "banner"]) -def test_patch_channel_image(staff_client, public_channel, field): - """ - Update a channel's image - """ - url = reverse("channel-detail", kwargs={"channel_name": public_channel.name}) - png_file = os.path.join( - os.path.dirname(__file__), "..", "..", "static", "images", "blank.png" - ) - with open(png_file, "rb") as f: - resp = staff_client.patch(url, {field: f}, format="multipart") - assert resp.status_code == status.HTTP_200_OK - channel = Channel.objects.get(name=public_channel.name) - image = getattr(channel, field) - - assert f"{public_channel.name}/channel_{field}_" in image.name - assert len(image.read()) == os.path.getsize(png_file) - - if field == "avatar": - for size_field in ("avatar_small", "avatar_medium"): - size_image = getattr(channel, size_field) - assert f"_{size_field}" in size_image.name - assert len(size_image.read()) > 0 - - -@pytest.mark.parametrize("field", ["avatar", "banner"]) -def test_patch_channel_validate_image(staff_client, private_channel, field): - """ - It should error if the avatar or banner patch object is not a file - """ - url = reverse("channel-detail", kwargs={"channel_name": private_channel.name}) - resp = staff_client.patch(url, {field: b"test"}, format="json") - assert resp.status_code == status.HTTP_400_BAD_REQUEST - assert resp.json() == { - "error_type": "ValidationError", - field: [f"Expected {field} to be a file"], - } - - -def test_patch_channel_about(staff_client, private_channel): - """ - should let you update the about field - """ - url = reverse("channel-detail", kwargs={"channel_name": private_channel.name}) - about = [{"foo": "bar"}] - resp = staff_client.patch(url, {"about": about}, format="json") - assert resp.status_code == status.HTTP_200_OK - channel = Channel.objects.get(name=private_channel.name) - assert channel.about == about - - -def test_patch_channel_forbidden(staff_client): - """ - Update a channel's settings for a channel the user doesn't have permission to - """ - Channel.objects.create(name="dedp2") - url = reverse("channel-detail", kwargs={"channel_name": "dedp2"}) - resp = staff_client.patch(url, {"channel_type": "public"}, format="json") - assert resp.status_code == status.HTTP_403_FORBIDDEN - - -@pytest.mark.parametrize("request_method", ["patch", "put"]) -def test_update_title_non_superuser_forbidden( - settings, index_user, staff_client, staff_user, reddit_factories, request_method -): - """ - Create a channel and assert the response for no descriptions - """ - staff_user.is_superuser = False - staff_user.save() - - # NOTE: Creating a channel in this way because I couldn't find a fixture or a - # straightforward way to prepare channel data for a PUT request - settings.INDEXING_API_USERNAME = index_user.username - url = reverse("channel-list") - channel = reddit_factories.channel( - "private", user=staff_user, strategy=STRATEGY_BUILD - ) - payload = { - "channel_type": channel.channel_type, - "link_type": "any", - "name": channel.name, - "title": channel.title, - } - staff_client.post(url, data=payload) - - url = reverse("channel-detail", kwargs={"channel_name": channel.name}) - request_func = getattr(staff_client, request_method) - serialized_channel_unchanged_title = dict(payload) - if request_method == "patch": - del serialized_channel_unchanged_title["title"] - resp = request_func(url, serialized_channel_unchanged_title) - assert resp.status_code == status.HTTP_200_OK - payload["title"] = "{} [updated]".format(payload["title"]) - resp = request_func(url, payload) - assert resp.status_code == status.HTTP_403_FORBIDDEN - - -def test_patch_channel_not_found(staff_client): - """ - Update a channel's settings for a missing channel - """ - Channel.objects.create(name="missing") - url = reverse("channel-detail", kwargs={"channel_name": "missing"}) - resp = staff_client.patch(url, {"channel_type": "public"}, format="json") - assert resp.status_code == status.HTTP_404_NOT_FOUND - - -def test_patch_channel_nonstaff(user_client): - """ - Fail to update a channel's settings if nonstaff user - """ - Channel.objects.create(name="subreddit_for_testing") - url = reverse("channel-detail", kwargs={"channel_name": "subreddit_for_testing"}) - resp = user_client.patch(url, {"channel_type": "public"}, format="json") - assert resp.status_code in (status.HTTP_401_UNAUTHORIZED, status.HTTP_403_FORBIDDEN) - assert resp.data == { - "error_type": PERMISSION_DENIED_ERROR_TYPE, - "detail": "You do not have permission to perform this action.", - } - - -def test_patch_channel_noauth(client): - """ - Fail to update a channel's settings if no auth - """ - url = reverse("channel-detail", kwargs={"channel_name": "subreddit_for_testing"}) - resp = client.patch(url, {"channel_type": "public"}, format="json") - assert resp.status_code in (status.HTTP_401_UNAUTHORIZED, status.HTTP_403_FORBIDDEN) - assert resp.data["error_type"] == NOT_AUTHENTICATED_ERROR_TYPE diff --git a/channels/views/comments.py b/channels/views/comments.py deleted file mode 100644 index 21f223a147..0000000000 --- a/channels/views/comments.py +++ /dev/null @@ -1,246 +0,0 @@ -"""Views for REST APIs for comments""" - -from django.contrib.auth import get_user_model -from praw.models import MoreComments -from praw.exceptions import PRAWException -from rest_framework import status -from rest_framework.exceptions import ValidationError, NotFound -from rest_framework.response import Response -from rest_framework.views import APIView - -from channels.api import Api -from channels.constants import COMMENTS_SORT_BEST -from channels.serializers.comments import CommentSerializer, GenericCommentSerializer -from channels.utils import translate_praw_exceptions, lookup_subscriptions_for_comments -from channels.models import Comment -from open_discussions.permissions import AnonymousAccessReadonlyPermission - -User = get_user_model() - - -def _populate_authors_for_comments(comments, author_set): - """ - Helper function to look up user for each instance and attach it to instance.user - - Args: - comments (list of praw.models.Comment): - A list of comments - author_set (set): This is modified to populate with the authors found in comments - """ - for comment in comments: - if isinstance(comment, MoreComments): - continue - if comment.author: - author_set.add(comment.author.name) - - _populate_authors_for_comments(comment.replies, author_set) - - -def _lookup_users_for_comments(comments): - """ - Helper function to look up user for each instance and attach it to instance.user - - Args: - comments (list of praw.models.Comment): - A list of comments - - Returns: - dict: A map of username to User - """ - author_set = set() - _populate_authors_for_comments(comments, author_set) - - users = User.objects.filter(username__in=author_set).select_related("profile") - return {user.username: user for user in users} - - -class CommentListView(APIView): - """ - View for listing and creating comments - """ - - permission_classes = (AnonymousAccessReadonlyPermission,) - - def get_serializer_context(self): - """Context for the request and view""" - return { - "channel_api": self.request.channel_api, - "current_user": self.request.user, - "request": self.request, - "view": self, - } - - def get(self, request, *args, **kwargs): # pylint: disable=unused-argument - """Get list for comments and attach User objects to them""" - with translate_praw_exceptions(request.user): - post_id = self.kwargs["post_id"] - api = Api(user=self.request.user) - sort = request.query_params.get("sort", COMMENTS_SORT_BEST) - comments = api.list_comments(post_id, sort).list() - users = _lookup_users_for_comments(comments) - subscriptions = lookup_subscriptions_for_comments( - comments, self.request.user - ) - - serialized_comments_list = GenericCommentSerializer( - comments, - context={ - **self.get_serializer_context(), - "users": users, - "comment_subscriptions": subscriptions, - }, - many=True, - ).data - - return Response(serialized_comments_list) - - def post(self, request, *args, **kwargs): # pylint: disable=unused-argument - """Create a new comment""" - with translate_praw_exceptions(request.user): - serializer = CommentSerializer( - data=request.data, context=self.get_serializer_context() - ) - serializer.is_valid(raise_exception=True) - serializer.save() - return Response(serializer.data, status=status.HTTP_201_CREATED) - - -class MoreCommentsView(APIView): - """ - View for expanding a MoreComments object - """ - - permission_classes = (AnonymousAccessReadonlyPermission,) - - def get_serializer_context(self): - """Context for the request and view""" - return { - "channel_api": self.request.channel_api, - "current_user": self.request.user, - "request": self.request, - "view": self, - } - - def get(self, request, *args, **kwargs): # pylint: disable=unused-argument - """Get list for comments and attach User objects to them""" - with translate_praw_exceptions(request.user): - children = request.query_params.getlist("children") - sort = request.query_params.get("sort", COMMENTS_SORT_BEST) - - # validate the request parameters: each are required - try: - post_id = request.query_params["post_id"] - except KeyError: - raise ValidationError("Missing parameter post_id") - - parent_id = request.query_params.get("parent_id") - - api = Api(user=self.request.user) - comments = api.more_comments(parent_id, post_id, children, sort) - - users = _lookup_users_for_comments(comments) - subscriptions = lookup_subscriptions_for_comments( - comments, self.request.user - ) - - serialized_comments_list = GenericCommentSerializer( - comments, - context={ - **self.get_serializer_context(), - "users": users, - "comment_subscriptions": subscriptions, - }, - many=True, - ).data - - return Response(serialized_comments_list) - - -class CommentDetailView(APIView): - """ - View for updating or destroying comments - """ - - permission_classes = (AnonymousAccessReadonlyPermission,) - - def get_serializer_context(self): - """Context for the request and view""" - return { - "channel_api": self.request.channel_api, - "current_user": self.request.user, - "request": self.request, - "view": self, - } - - @property - def api(self): - """Returns a Channel API object""" - return Api(user=self.request.user) - - def get_object(self): - """Get the comment object""" - return self.api.get_comment(self.kwargs["comment_id"]) - - def get(self, request, *args, **kwargs): - """GET a single comment and it's children""" - with translate_praw_exceptions(request.user): - comment = self.get_object() - - # comment.refresh() raises if the comment - # isn't found - try: - comment.refresh() - except PRAWException: - raise NotFound() - - self_comment = Comment.objects.get(comment_id=comment.id) - if self_comment.removed and ( - request.user.is_anonymous - or not ( - self.api.is_moderator( - self_comment.post.channel.name, request.user.username - ) - or request.user.username == comment.author.name - ) - ): - raise NotFound() - - users = _lookup_users_for_comments([comment]) - subscriptions = lookup_subscriptions_for_comments( - [comment], self.request.user - ) - serialized_comment_tree = GenericCommentSerializer( - [comment] + comment.replies.list(), - context={ - **self.get_serializer_context(), - "users": users, - "comment_subscriptions": subscriptions, - }, - many=True, - ).data - return Response(serialized_comment_tree) - - def patch(self, request, *args, **kwargs): # pylint: disable=unused-argument - """Update a comment""" - with translate_praw_exceptions(request.user): - comment = self.get_object() - subscriptions = lookup_subscriptions_for_comments( - [comment], self.request.user - ) - serializer = CommentSerializer( - instance=comment, - data=request.data, - context={ - **self.get_serializer_context(), - "comment_subscriptions": subscriptions, - }, - partial=True, - ) - serializer.is_valid(raise_exception=True) - serializer.save() - return Response(serializer.data) - - def delete(self, request, *args, **kwargs): # pylint: disable=unused-argument - """Delete the comment""" - self.api.delete_comment(self.kwargs["comment_id"]) - return Response(status=status.HTTP_204_NO_CONTENT) diff --git a/channels/views/comments_test.py b/channels/views/comments_test.py deleted file mode 100644 index 40bb24ec4d..0000000000 --- a/channels/views/comments_test.py +++ /dev/null @@ -1,948 +0,0 @@ -"""Tests for views for REST APIs for comments""" -# pylint: disable=unused-argument,redefined-outer-name,too-many-lines -from datetime import datetime -from itertools import product -import time - -import pytest -from django.urls import reverse -from rest_framework import status -from rest_framework.request import Request - -from channels.constants import DELETED_COMMENT_OR_POST_TEXT -from channels.models import Comment -from channels.test_constants import LIST_MORE_COMMENTS_RESPONSE -from channels.test_utils import assert_properties_eq -from channels.views.test_utils import default_comment_response_data -from open_discussions.constants import ( - NOT_AUTHENTICATED_ERROR_TYPE, - PERMISSION_DENIED_ERROR_TYPE, -) -from open_discussions.factories import UserFactory -from open_discussions.test_utils import any_instance_of -from profiles.utils import image_uri, DEFAULT_PROFILE_IMAGE - -pytestmark = pytest.mark.betamax - - -@pytest.fixture(autouse=True) -def mock_spam_check(mocker): - """Mock the check_comment_for_spam task""" - return mocker.patch("channels.task_helpers.check_comment_for_spam") - - -@pytest.fixture(autouse=True) -def mock_notify_subscribed_users(mocker): - """Returns a mocked version of notify_subscribed_users""" - return mocker.patch("notifications.tasks.notify_subscribed_users").delay - - -@pytest.mark.parametrize("missing_user", [True, False]) -def test_list_comments( - cassette_exists, user_client, user, reddit_factories, public_channel, missing_user -): # pylint: disable=too-many-arguments,too-many-locals - """List all comments in the comment tree""" - if missing_user: - user.username = "renamed" - user.save() - profile_image = DEFAULT_PROFILE_IMAGE - name = "[deleted]" - author_id = "[deleted]" - headline = None - else: - profile_image = image_uri(user.profile) - author_id = user.username - headline = user.profile.headline - name = user.profile.name - - post = reddit_factories.text_post( - "a post with comments", user, channel=public_channel - ) - comments = [] - for idx in range(2): - comment = reddit_factories.comment(f"comment-{idx}", user, post_id=post.id) - comments.append((None, comment)) - comments.extend( - [ - ( - comment.id, - reddit_factories.comment( - f"comment-nested-{idx2}", user, comment_id=comment.id - ), - ) - for idx2 in range(3) - ] - ) - - if not cassette_exists: - # if we're writing the cassette, wait for the backend to asynchronously - # finish updating the comment tree so we see everything - time.sleep(10) - - url = reverse("comment-list", kwargs={"post_id": post.id}) - resp = user_client.get(url) - assert resp.status_code == status.HTTP_200_OK - json = resp.json() - # the order isn't entirely deterministic when testing, so just assert the number of elements and the presence of all of them - assert len(json) == len(comments) - for parent_id, comment in comments: - assert { - "id": comment.id, - "parent_id": parent_id, - "post_id": post.id, - "text": comment.text, - "author_id": author_id, - "score": 1, - "upvoted": True, - "downvoted": False, - "removed": False, - "deleted": False, - "subscribed": False, - "created": comment.created, - "profile_image": profile_image, - "author_name": name, - "author_headline": headline, - "edited": False, - "comment_type": "comment", - "num_reports": None, - } in json - - -def test_list_comments_anonymous(client, public_channel, reddit_factories): - """List comments as an anonymous user""" - user = UserFactory.create(username="01CBD756K3RS4Z59TCJ46QCHZJ") - post = reddit_factories.text_post( - "a post with comments", user, channel=public_channel - ) - comment = reddit_factories.comment("comment", user, post_id=post.id) - - url = reverse("comment-list", kwargs={"post_id": post.id}) - resp = client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == [ - { - "id": comment.id, - "parent_id": None, - "post_id": post.id, - "text": comment.text, - "author_id": user.username, - "score": 1, - "upvoted": False, - "downvoted": False, - "removed": False, - "deleted": False, - "subscribed": False, - "created": comment.created, - "profile_image": image_uri(user.profile), - "author_name": user.profile.name, - "author_headline": user.profile.headline, - "edited": False, - "comment_type": "comment", - "num_reports": None, - } - ] - - -def test_list_comments_none( - user_client, private_channel_and_contributor, reddit_factories -): - """List for no comments on a post""" - channel, user = private_channel_and_contributor - post = reddit_factories.text_post("one post", user, channel=channel) - url = reverse("comment-list", kwargs={"post_id": post.id}) - resp = user_client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == [] - - -def test_list_comments_forbidden( - client, private_channel_and_contributor, reddit_factories -): - """List all comments in the comment tree for a post the user doesn't have access to""" - channel, user = private_channel_and_contributor - post = reddit_factories.text_post("one post", user, channel=channel) - url = reverse("comment-list", kwargs={"post_id": post.id}) - client.force_login(UserFactory.create()) - resp = client.get(url) - assert resp.status_code == status.HTTP_403_FORBIDDEN - - -def test_list_comments_not_found(user_client): - """List all comments in the comment tree for a post that doesn't exist""" - url = reverse("comment-list", kwargs={"post_id": "missing"}) - resp = user_client.get(url) - assert resp.status_code == status.HTTP_404_NOT_FOUND - - -def test_list_comments_more(client, logged_in_profile): - """List comments for a post which has more comments""" - logged_in_profile.image_small = "/deserunt/consequatur.jpg" - logged_in_profile.image_small_file = None - logged_in_profile.name = "Brooke Robles" - logged_in_profile.headline = "Brooke's headline" - logged_in_profile.save() - - url = reverse("comment-list", kwargs={"post_id": "1"}) - resp = client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == LIST_MORE_COMMENTS_RESPONSE - - -@pytest.mark.parametrize("is_root_comment", [True, False]) -def test_more_comments(client, logged_in_profile, is_root_comment): - """Retrieve more comments""" - image_url = "/deserunt/consequatur.jpg" - name = "Brooke Robles" - username = "01BWRGE5JQK4E8B0H90K9RM4WF" - headline = "test headline" - UserFactory.create( - username=username, - profile__image_small=image_url, - profile__image_small_file=None, - profile__name=name, - profile__headline=headline, - ) - - post_id = "1" - root_comment, middle_comment, edge_comment = [ - { - "id": "m", - "parent_id": "1", - "post_id": post_id, - "text": "m", - "author_id": username, - "score": 1, - "upvoted": False, - "downvoted": False, - "removed": False, - "deleted": False, - "subscribed": False, - "created": "2017-10-19T19:47:22+00:00", - "profile_image": image_url, - "author_name": name, - "author_headline": headline, - "edited": False, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "n", - "parent_id": "m", - "post_id": post_id, - "text": "oasd", - "author_id": username, - "score": 1, - "upvoted": False, - "downvoted": False, - "removed": False, - "deleted": False, - "subscribed": False, - "created": "2017-10-23T17:45:14+00:00", - "profile_image": image_url, - "author_name": name, - "author_headline": headline, - "edited": False, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "o", - "parent_id": "n", - "post_id": post_id, - "text": "k;lkl;", - "author_id": username, - "score": 1, - "upvoted": False, - "downvoted": False, - "removed": False, - "deleted": False, - "subscribed": False, - "created": "2017-10-23T17:45:25+00:00", - "profile_image": image_url, - "author_name": name, - "author_headline": headline, - "edited": False, - "comment_type": "comment", - "num_reports": None, - }, - ] - - url = "{base}?post_id={post_id}{parent_query}".format( - base=reverse("morecomments-detail"), - post_id=post_id, - parent_query="" - if is_root_comment - else "&parent_id={}".format(middle_comment["id"]), - ) - resp = client.get(url) - assert resp.status_code == status.HTTP_200_OK - if is_root_comment: - assert resp.json() == [root_comment, middle_comment, edge_comment] - else: - assert resp.json() == [edge_comment] - - -def test_more_comments_children(client, logged_in_profile): - """Retrieve more comments specifying child elements""" - image_url = "/deserunt/consequatur.jpg" - name = "Brooke Robles" - username = "george" - headline = "a test headline" - - logged_in_profile.image_small = image_url - logged_in_profile.image_file_small = None - logged_in_profile.name = name - logged_in_profile.headline = headline - logged_in_profile.save() - - post_id = "1" - url = "{base}?post_id={post_id}&parent_id=&children=e9l&children=e9m".format( - base=reverse("morecomments-detail"), post_id=post_id - ) - resp = client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == [ - { - "id": "e9l", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 25", - "author_id": username, - "score": 1, - "upvoted": True, - "downvoted": False, - "removed": False, - "deleted": False, - "subscribed": False, - "created": "2017-11-09T16:35:55+00:00", - "profile_image": image_uri(logged_in_profile), - "author_name": name, - "author_headline": headline, - "edited": False, - "comment_type": "comment", - "num_reports": None, - }, - { - "id": "e9m", - "parent_id": None, - "post_id": "1", - "text": "shallow comment 26", - "author_id": username, - "score": 1, - "upvoted": True, - "downvoted": False, - "removed": False, - "deleted": False, - "subscribed": False, - "created": "2017-11-09T16:36:00+00:00", - "profile_image": image_uri(logged_in_profile), - "author_name": name, - "author_headline": headline, - "edited": False, - "comment_type": "comment", - "num_reports": None, - }, - ] - - -def test_more_comments_anonymous(client, public_channel, reddit_factories): - """List more comments as an anonymous user""" - user = UserFactory.create(username="01CBDB4ZD2QXBM0ERGB3C5GEA5") - post = reddit_factories.text_post( - "a post with comments", user, channel=public_channel - ) - # 51 to show a morecomments link - comments = [ - reddit_factories.comment("comment{}".format(number), user, post_id=post.id) - for number in range(51) - ] - last_comment = comments[-1] - - url = "{base}?post_id={post_id}&children={comment_id}".format( - base=reverse("morecomments-detail"), post_id=post.id, comment_id=last_comment.id - ) - resp = client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == [ - { - "author_id": user.username, - "author_name": user.profile.name, - "author_headline": user.profile.headline, - "comment_type": "comment", - "created": last_comment.created, - "deleted": False, - "downvoted": False, - "edited": False, - "id": last_comment.id, - "num_reports": None, - "parent_id": None, - "post_id": post.id, - "profile_image": image_uri(user.profile), - "removed": False, - "score": 1, - "subscribed": False, - "text": last_comment.text, - "upvoted": False, - } - ] - - -@pytest.mark.parametrize( - "missing_post,missing_parent", product([True, False], repeat=2) -) -def test_more_comments_404(client, logged_in_profile, missing_post, missing_parent): - """If the post id or comment id is wrong, we should return a 404""" - post_id = "1" - url = "{base}?post_id={post_id}{parent_query}".format( - base=reverse("morecomments-detail"), - post_id=post_id if not missing_post else "missing_post", - parent_query="" if not missing_parent else "&parent_id=missing_parent", - ) - resp = client.get(url) - expected_status = ( - status.HTTP_404_NOT_FOUND - if missing_post or missing_parent - else status.HTTP_200_OK - ) - assert resp.status_code == expected_status - - -@pytest.mark.parametrize("missing_param", ["post_id"]) -def test_more_comments_missing_param(client, logged_in_profile, missing_param): - """If a parameter is missing a 400 error should be returned""" - params = {"post_id": "post_id", "parent_id": "parent_id"} - del params[missing_param] - - params_string = "&".join( - "{}={}".format(key, value) for key, value in params.items() - ) - - url = "{base}?{params_string}".format( - base=reverse("morecomments-detail"), params_string=params_string - ) - resp = client.get(url) - assert resp.status_code == status.HTTP_400_BAD_REQUEST - - -def test_list_deleted_comments(client, logged_in_profile): - """List comments which are deleted according to reddit""" - user = UserFactory.create(username="admin") - - url = reverse("comment-list", kwargs={"post_id": "p"}) - resp = client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == [ - { - "author_id": "[deleted]", - "comment_type": "comment", - "created": "2017-09-27T16:03:42+00:00", - "downvoted": False, - "parent_id": None, - "post_id": "p", - "profile_image": DEFAULT_PROFILE_IMAGE, - "score": 1, - "text": DELETED_COMMENT_OR_POST_TEXT, - "upvoted": False, - "removed": False, - "deleted": True, - "subscribed": False, - "id": "1s", - "edited": False, - "author_name": "[deleted]", - "author_headline": None, - "num_reports": None, - }, - { - "author_id": user.username, - "created": "2017-09-27T16:03:51+00:00", - "comment_type": "comment", - "downvoted": False, - "id": "1t", - "parent_id": "1s", - "post_id": "p", - "profile_image": image_uri(user.profile), - "score": 1, - "text": "reply to parent which is not deleted", - "upvoted": False, - "removed": False, - "edited": False, - "deleted": False, - "subscribed": False, - "author_name": user.profile.name, - "author_headline": user.profile.headline, - "num_reports": None, - }, - ] - - -def test_get_comment(user_client, private_channel_and_contributor, reddit_factories): - """ - should be able to GET a comment - """ - channel, user = private_channel_and_contributor - post = reddit_factories.text_post("my geat post", user, channel=channel) - comment = reddit_factories.comment("comment", user, post_id=post.id) - url = reverse("comment-detail", kwargs={"comment_id": comment.id}) - resp = user_client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == [ - { - "author_id": user.username, - "created": comment.created, - "id": comment.id, - "parent_id": None, - "post_id": post.id, - "score": 1, - "text": comment.text, - "upvoted": True, - "downvoted": False, - "removed": False, - "deleted": False, - "subscribed": False, - "profile_image": image_uri(user.profile), - "author_name": user.profile.name, - "author_headline": user.profile.headline, - "edited": False, - "comment_type": "comment", - "num_reports": None, - } - ] - - -def test_get_comment_404( - user_client, private_channel_and_contributor, reddit_factories -): - """ - test that we get a 404 for a missing comment - """ - url = reverse("comment-detail", kwargs={"comment_id": "23432"}) - resp = user_client.get(url) - assert resp.status_code == status.HTTP_404_NOT_FOUND - - -@pytest.mark.parametrize( - "client_user_type, expected_status", - [ - [None, status.HTTP_404_NOT_FOUND], - ["comment_writer", status.HTTP_200_OK], - ["user", status.HTTP_404_NOT_FOUND], - ["staff_user", status.HTTP_200_OK], - ], -) -def test_get_removed_comment( - client, - user, - staff_user, - public_channel, - reddit_factories, - staff_api, - client_user_type, - expected_status, -): # pylint: disable=too-many-arguments - """Get for a removed comment should 404 unless the user is a moderator""" - comment_user = reddit_factories.user("comment user") - - post = reddit_factories.text_post("my geat post", user, channel=public_channel) - comment = reddit_factories.comment("comment", comment_user, post_id=post.id) - url = reverse("comment-detail", kwargs={"comment_id": comment.id}) - - staff_api.remove_comment(comment.id) - - if client_user_type == "comment_writer": - client.force_login(comment_user) - elif client_user_type == "user": - client.force_login(user) - elif client_user_type == "staff_user": - client.force_login(staff_user) - - resp = client.get(url) - - assert resp.status_code == expected_status - - -def test_get_comment_anonymous(client, public_channel, reddit_factories): - """Get a comment as an anonymous user""" - user = UserFactory.create(username="01CBDBP5F8XRQ1T5GATHDWA99Z") - post = reddit_factories.text_post( - "a post with a comment", user, channel=public_channel - ) - comment = reddit_factories.comment("comment", user, post_id=post.id) - - url = reverse("comment-detail", kwargs={"comment_id": comment.id}) - resp = client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == [default_comment_response_data(post, comment, user)] - - -@pytest.mark.parametrize( - "extra_params,extra_expected,score", - [ - ({}, {}, 1), - ({"upvoted": False}, {"upvoted": False}, 0), - ({"downvoted": True}, {"upvoted": False, "downvoted": True}, -1), - ], -) -def test_create_comment( - user_client, - reddit_factories, - private_channel_and_contributor, - mock_notify_subscribed_users, - mock_spam_check, - extra_params, - extra_expected, - score, -): # pylint: disable=too-many-arguments - """Create a comment""" - channel, user = private_channel_and_contributor - post = reddit_factories.text_post("a post", user, channel=channel) - url = reverse("comment-list", kwargs={"post_id": post.id}) - resp = user_client.post(url, data={"text": "reply_to_post 2", **extra_params}) - assert resp.status_code == status.HTTP_201_CREATED - assert resp.json() == { - "author_id": user.username, - "created": any_instance_of(str), - "id": any_instance_of(str), - "parent_id": None, - "post_id": post.id, - "score": 1, - "text": "reply_to_post 2", - "upvoted": True, - "downvoted": False, - "removed": False, - "deleted": False, - "subscribed": True, - "profile_image": image_uri(user.profile), - "author_name": user.profile.name, - "author_headline": user.profile.headline, - "edited": False, - "comment_type": "comment", - "num_reports": None, - **extra_expected, - } - - assert_properties_eq( - Comment.objects.get(comment_id=resp.json()["id"]), - { - "author": user, - "text": "reply_to_post 2", - "score": score, - "removed": False, - "deleted": False, - "edited": False, - "created_on": any_instance_of(datetime), - }, - ) - - mock_notify_subscribed_users.assert_called_once_with( - post.id, None, resp.json()["id"] - ) - mock_spam_check.assert_called_with(any_instance_of(Request), resp.json()["id"]) - - -def test_create_comment_moderator( - user_client, - reddit_factories, - private_channel_and_contributor, - mock_notify_subscribed_users, - mock_spam_check, - staff_api, -): # pylint: disable=too-many-arguments - """Create a comment as a moderator""" - channel, user = private_channel_and_contributor - staff_api.add_moderator(user.username, channel.name) - post = reddit_factories.text_post("a post", user, channel=channel) - url = reverse("comment-list", kwargs={"post_id": post.id}) - resp = user_client.post(url, data={"text": "reply_to_post 2"}) - assert resp.status_code == status.HTTP_201_CREATED - - mock_spam_check.assert_not_called() - - -def test_create_comment_forbidden(user_client): - """Create a comment for a post the user doesn't have access to""" - post_id = "adc" - url = reverse("comment-list", kwargs={"post_id": post_id}) - resp = user_client.post(url, data={"text": "reply_to_post 2"}) - assert resp.status_code == status.HTTP_403_FORBIDDEN - - -def test_create_comment_anonymous(client): - """Anonymous users can't create comments""" - url = reverse("comment-list", kwargs={"post_id": "doesntmatter"}) - resp = client.post(url, data={"text": "reply_to_post 2"}) - assert resp.status_code == status.HTTP_403_FORBIDDEN - assert resp.data["error_type"] == NOT_AUTHENTICATED_ERROR_TYPE - - -def test_create_comment_not_found(user_client): - """Create a comment for a post that doesn't exist""" - post_id = "missing" - url = reverse("comment-list", kwargs={"post_id": post_id}) - resp = user_client.post(url, data={"text": "reply_to_post 2"}) - assert resp.status_code == status.HTTP_403_FORBIDDEN - - -def test_create_comment_reply_to_comment( - user_client, - reddit_factories, - private_channel_and_contributor, - mock_notify_subscribed_users, - mock_spam_check, -): - """Create a comment that's a reply to another comment""" - channel, user = private_channel_and_contributor - post = reddit_factories.text_post("a post", user, channel=channel) - comment = reddit_factories.comment("comment", user, post_id=post.id) - url = reverse("comment-list", kwargs={"post_id": post.id}) - resp = user_client.post( - url, data={"text": "reply_to_comment 3", "comment_id": comment.id} - ) - assert resp.status_code == status.HTTP_201_CREATED - assert resp.json() == { - "author_id": user.username, - "created": any_instance_of(str), - "id": any_instance_of(str), - "parent_id": comment.id, - "post_id": post.id, - "score": 1, - "text": "reply_to_comment 3", - "upvoted": True, - "downvoted": False, - "removed": False, - "deleted": False, - "subscribed": True, - "profile_image": image_uri(user.profile), - "author_name": user.profile.name, - "author_headline": user.profile.headline, - "edited": False, - "comment_type": "comment", - "num_reports": None, - } - mock_notify_subscribed_users.assert_called_once_with( - post.id, comment.id, resp.json()["id"] - ) - mock_spam_check.assert_called_with(any_instance_of(Request), resp.json()["id"]) - - -def test_create_comment_reply_to_deleted_comment( - user_client, private_channel_and_contributor, reddit_factories, contributor_api -): - """Create a comment that's a reply to a deleted comment""" - channel, user = private_channel_and_contributor - post = reddit_factories.text_post("post", user, channel=channel) - comment = reddit_factories.comment("comment", user, post_id=post.id) - contributor_api.delete_comment(comment.id) - - url = reverse("comment-list", kwargs={"post_id": post.id}) - resp = user_client.post( - url, data={"text": "reply_to_comment 3", "comment_id": comment.id} - ) - assert resp.status_code == status.HTTP_410_GONE - assert resp.json() == {"detail": "Resource is gone.", "error_type": "GoneException"} - - -def test_update_comment_text( - user_client, private_channel_and_contributor, reddit_factories, mock_spam_check -): - """Update a comment's text""" - channel, user = private_channel_and_contributor - post = reddit_factories.text_post("my geat post", user, channel=channel) - comment = reddit_factories.comment("comment", user, post_id=post.id) - - updated_text = "updated text" - url = reverse("comment-detail", kwargs={"comment_id": comment.id}) - resp = user_client.patch(url, type="json", data={"text": updated_text}) - assert resp.status_code == status.HTTP_200_OK - assert resp.json()["text"] == updated_text - mock_spam_check.assert_called_with(any_instance_of(Request), resp.json()["id"]) - - -def test_update_comment_text_moderator( - user_client, - private_channel_and_contributor, - reddit_factories, - mock_spam_check, - staff_api, -): - """Update a comment's text as a moderator""" - channel, user = private_channel_and_contributor - staff_api.add_moderator(user.username, channel.name) - post = reddit_factories.text_post("my geat post", user, channel=channel) - comment = reddit_factories.comment("comment", user, post_id=post.id) - - updated_text = "updated text" - url = reverse("comment-detail", kwargs={"comment_id": comment.id}) - resp = user_client.patch(url, type="json", data={"text": updated_text}) - assert resp.status_code == status.HTTP_200_OK - assert resp.json()["text"] == updated_text - mock_spam_check.assert_not_called() - - -# Reddit returns the same result for updating a missing comment -# as it does for updating a comment the user doesn't own. -def test_update_comment_forbidden(user_client): - """Update a comment's text for a comment the user doesn't own""" - url = reverse("comment-detail", kwargs={"comment_id": "e8h"}) - resp = user_client.patch(url, type="json", data={"text": "updated text"}) - assert resp.status_code == status.HTTP_403_FORBIDDEN - - -def test_update_comment_anonymous(client): - """Anonymous users can't update comments""" - url = reverse("comment-detail", kwargs={"comment_id": "doesntmatter"}) - resp = client.patch(url, type="json", data={"text": "missing"}) - assert resp.status_code == status.HTTP_403_FORBIDDEN - assert resp.data["error_type"] == NOT_AUTHENTICATED_ERROR_TYPE - - -def test_update_comment_upvote(user_client): - """Update a comment to upvote it""" - comment_id = "l" - url = reverse("comment-detail", kwargs={"comment_id": comment_id}) - resp = user_client.patch(url, type="json", data={"upvoted": True}) - assert resp.status_code == status.HTTP_200_OK - assert resp.json()["upvoted"] is True - - -def test_update_comment_downvote(user_client): - """Update a comment to downvote it""" - comment_id = "l" - url = reverse("comment-detail", kwargs={"comment_id": comment_id}) - resp = user_client.patch(url, type="json", data={"downvoted": True}) - assert resp.status_code == status.HTTP_200_OK - assert resp.json()["downvoted"] is True - - -def test_update_comment_clear_upvote(user_client): - """Update a comment to clear its upvote""" - url = reverse("comment-detail", kwargs={"comment_id": "6"}) - resp = user_client.patch(url, type="json", data={"upvoted": False}) - assert resp.status_code == status.HTTP_200_OK - assert resp.json()["upvoted"] is False - - -def test_update_comment_clear_downvote(user_client): - """Update a comment to clear its downvote""" - comment_id = "l" - url = reverse("comment-detail", kwargs={"comment_id": comment_id}) - resp = user_client.patch(url, type="json", data={"downvoted": False}) - assert resp.status_code == status.HTTP_200_OK - assert resp.json()["downvoted"] is False - - -def test_update_comment_remove( - staff_client, private_channel_and_contributor, reddit_factories, staff_api -): - """Update a comment to remove it as a moderator""" - channel, user = private_channel_and_contributor - post = reddit_factories.text_post("post", user, channel=channel) - comment = reddit_factories.comment("comment", user, post_id=post.id) - url = reverse("comment-detail", kwargs={"comment_id": comment.id}) - resp = staff_client.patch(url, type="json", data={"removed": True}) - assert resp.status_code == status.HTTP_200_OK - assert resp.json()["removed"] is True - - -def test_update_comment_approve( - staff_client, private_channel_and_contributor, reddit_factories, staff_api -): - """Update a comment to approve it as a moderator""" - channel, user = private_channel_and_contributor - post = reddit_factories.text_post("post", user, channel=channel) - comment = reddit_factories.comment("comment", user, post_id=post.id) - staff_api.remove_comment(comment.id) - url = reverse("comment-detail", kwargs={"comment_id": comment.id}) - resp = staff_client.patch(url, type="json", data={"removed": False}) - assert resp.status_code == status.HTTP_200_OK - assert resp.json()["removed"] is False - - -def test_update_comment_ignore_reports( - staff_client, private_channel_and_contributor, reddit_factories -): - """Update a comment to ignore reports as a moderator""" - channel, user = private_channel_and_contributor - post = reddit_factories.text_post("post", user, channel=channel) - comment = reddit_factories.comment("comment", user, post_id=post.id) - url = reverse("comment-detail", kwargs={"comment_id": comment.id}) - resp = staff_client.patch(url, type="json", data={"ignore_reports": True}) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == { - "author_id": user.username, - "created": comment.created, - "id": comment.id, - "parent_id": None, - "post_id": post.id, - "score": 1, - "text": comment.text, - "upvoted": False, - "downvoted": False, - "removed": False, - "deleted": False, - "subscribed": False, - "profile_image": image_uri(user.profile), - "author_name": user.profile.name, - "author_headline": user.profile.headline, - "edited": False, - "comment_type": "comment", - "num_reports": 0, - } - - -def test_update_comment_ignore_reports_forbidden( - user_client, private_channel_and_contributor, reddit_factories -): - """Test updating a comment to ignore reports with a nonstaff user""" - channel, user = private_channel_and_contributor - post = reddit_factories.text_post("post", user, channel=channel) - comment = reddit_factories.comment("comment", user, post_id=post.id) - url = reverse("comment-detail", kwargs={"comment_id": comment.id}) - resp = user_client.patch(url, type="json", data={"ignore_reports": True}) - assert resp.status_code in (status.HTTP_401_UNAUTHORIZED, status.HTTP_403_FORBIDDEN) - assert resp.data == { - "error_type": PERMISSION_DENIED_ERROR_TYPE, - "detail": "You do not have permission to perform this action.", - } - - -# Reddit doesn't indicate if a comment deletion failed so we don't have tests that -def test_delete_comment(user_client): - """Delete a comment""" - url = reverse("comment-detail", kwargs={"comment_id": "6"}) - resp = user_client.delete(url) - assert resp.status_code == status.HTTP_204_NO_CONTENT - - -def test_delete_comment_anonymous(client): - """Anonymous users can't delete comments""" - url = reverse("comment-detail", kwargs={"comment_id": "doesntmatter"}) - resp = client.delete(url) - assert resp.status_code == status.HTTP_403_FORBIDDEN - assert resp.data["error_type"] == NOT_AUTHENTICATED_ERROR_TYPE - - -def test_update_comment_subscribe( - staff_client, private_channel_and_contributor, reddit_factories -): - """Update a comment to subscribe to it""" - channel, user = private_channel_and_contributor - post = reddit_factories.text_post("post", user, channel=channel) - comment = reddit_factories.comment("comment", user, post_id=post.id) - url = reverse("comment-detail", kwargs={"comment_id": comment.id}) - resp = staff_client.patch(url, type="json", data={"subscribed": True}) - assert resp.status_code == status.HTTP_200_OK - assert resp.json()["subscribed"] is True - - -def test_update_comment_unsubscribe( - staff_client, staff_api, private_channel_and_contributor, reddit_factories -): - """Update a comment to unsubscribe from it""" - channel, user = private_channel_and_contributor - post = reddit_factories.text_post("post", user, channel=channel) - comment = reddit_factories.comment("comment", user, post_id=post.id) - staff_api.add_comment_subscription(post.id, comment.id) - url = reverse("comment-detail", kwargs={"comment_id": comment.id}) - resp = staff_client.patch(url, type="json", data={"subscribed": False}) - assert resp.status_code == status.HTTP_200_OK - assert resp.json()["subscribed"] is False diff --git a/channels/views/contributors.py b/channels/views/contributors.py deleted file mode 100644 index a9dce301f4..0000000000 --- a/channels/views/contributors.py +++ /dev/null @@ -1,59 +0,0 @@ -"""Views for REST APIs for contributors""" - -from django.conf import settings -from rest_framework import status -from rest_framework.generics import ListCreateAPIView -from rest_framework.permissions import IsAuthenticated -from rest_framework.response import Response -from rest_framework.views import APIView - -from channels.api import get_admin_api -from channels.serializers.contributors import ContributorSerializer -from open_discussions.permissions import ContributorPermissions - - -class ContributorListView(ListCreateAPIView): - """ - View to list and add contributors in channels - """ - - permission_classes = (IsAuthenticated, ContributorPermissions) - serializer_class = ContributorSerializer - - def get_serializer_context(self): - """Context for the request and view""" - return {"channel_api": self.request.channel_api, "view": self} - - def get_queryset(self): - """Get generator for contributors in channel""" - return ( - contributor - for contributor in self.request.channel_api.list_contributors( - self.kwargs["channel_name"] - ) - if contributor.name != settings.INDEXING_API_USERNAME - ) - - -class ContributorDetailView(APIView): - """ - View to retrieve and remove contributors in channels - """ - - permission_classes = (IsAuthenticated, ContributorPermissions) - - def get_serializer_context(self): - """Context for the request and view""" - return {"channel_api": self.request.channel_api, "view": self} - - def delete(self, request, *args, **kwargs): # pylint: disable=unused-argument - """ - Removes a contributor from a channel - """ - # Using the admin API since reddit doesn't let non-mod users remove themselves as contributors - admin_api = get_admin_api() - channel_name = self.kwargs["channel_name"] - contributor_name = self.kwargs["contributor_name"] - - admin_api.remove_contributor(contributor_name, channel_name) - return Response(status=status.HTTP_204_NO_CONTENT) diff --git a/channels/views/contributors_test.py b/channels/views/contributors_test.py deleted file mode 100644 index 41baad3f04..0000000000 --- a/channels/views/contributors_test.py +++ /dev/null @@ -1,124 +0,0 @@ -"""Tests for views for REST APIs for contributors""" -# pylint: disable=unused-argument, redefined-outer-name -import pytest -from django.urls import reverse -from rest_framework import status - -from open_discussions.constants import NOT_AUTHENTICATED_ERROR_TYPE - -pytestmark = [pytest.mark.betamax, pytest.mark.usefixtures("mock_channel_exists")] - - -@pytest.fixture() -def mock_admin_api(mocker, staff_api): - """Mocked get_admin_api method""" - return mocker.patch( - "channels.views.contributors.get_admin_api", return_value=staff_api - ) - - -def test_list_contributors( - staff_client, private_channel_and_contributor, staff_user, settings -): - """ - List contributors in a channel - """ - settings.INDEXING_API_USERNAME = staff_user.username - channel, user = private_channel_and_contributor - url = reverse("contributor-list", kwargs={"channel_name": channel.name}) - resp = staff_client.get(url) - assert resp.status_code == status.HTTP_200_OK - # staff user is filtered out - assert resp.json() == [ - { - "contributor_name": user.username, - "full_name": user.profile.name, - "email": user.email, - } - ] - - -def test_list_contributors_anonymous(client): - """Anonymous users can't list contributors in a channel""" - # Well, maybe we could allow it but there's no point since this list is only meaningful for private channels. - url = reverse("contributor-list", kwargs={"channel_name": "some_channel"}) - resp = client.get(url) - assert resp.status_code in (status.HTTP_401_UNAUTHORIZED, status.HTTP_403_FORBIDDEN) - assert resp.data["error_type"] == NOT_AUTHENTICATED_ERROR_TYPE - - -@pytest.mark.parametrize("attempts", [1, 2]) -def test_add_contributor(staff_client, user, private_channel, attempts): - """ - Adds a contributor to a channel - """ - url = reverse("contributor-list", kwargs={"channel_name": private_channel.name}) - for _ in range(attempts): - resp = staff_client.post( - url, data={"contributor_name": user.username}, format="json" - ) - assert resp.status_code == status.HTTP_201_CREATED - assert resp.json() == { - "contributor_name": user.username, - "full_name": user.profile.name, - "email": user.email, - } - - -def test_add_contributor_email(client, public_channel, staff_api, reddit_factories): - """ - Adds a contributor to a channel by email - """ - moderator = reddit_factories.user("mod_user1", is_staff=True) - new_contributor = reddit_factories.user("new_mod_user") - staff_api.add_moderator(moderator.username, public_channel.name) - client.force_login(moderator) - - url = reverse("contributor-list", kwargs={"channel_name": public_channel.name}) - resp = client.post(url, data={"email": new_contributor.email}, format="json") - - assert resp.status_code == status.HTTP_201_CREATED - assert resp.json() == { - "contributor_name": new_contributor.username, - "email": new_contributor.email, - "full_name": new_contributor.profile.name, - } - - -def test_add_contributor_anonymous(client): - """ - Anonymous users can't add contributors to a channel - """ - url = reverse("contributor-list", kwargs={"channel_name": "admin_channel"}) - resp = client.post(url, data={"contributor_name": "some_username"}, format="json") - assert resp.status_code == status.HTTP_403_FORBIDDEN - assert resp.data["error_type"] == NOT_AUTHENTICATED_ERROR_TYPE - - -@pytest.mark.parametrize("attempts", [1, 2]) -def test_remove_contributor( - staff_client, mock_admin_api, private_channel_and_contributor, attempts -): - """ - Removes a contributor from a channel - """ - channel, contributor = private_channel_and_contributor - url = reverse( - "contributor-detail", - kwargs={"channel_name": channel.name, "contributor_name": contributor.username}, - ) - for i in range(attempts): - resp = staff_client.delete(url) - assert mock_admin_api.call_count == i + 1 - assert resp.status_code == status.HTTP_204_NO_CONTENT - - -def test_remove_contributor_anonymous(client): - """Anonymous users can't remove contributors""" - url = reverse( - "contributor-detail", - kwargs={"channel_name": "a_channel", "contributor_name": "a_contributor"}, - ) - resp = client.delete(url) - assert resp.status_code == status.HTTP_403_FORBIDDEN - assert resp.data["error_type"] == NOT_AUTHENTICATED_ERROR_TYPE diff --git a/channels/views/frontpage.py b/channels/views/frontpage.py deleted file mode 100644 index cda7626d20..0000000000 --- a/channels/views/frontpage.py +++ /dev/null @@ -1,59 +0,0 @@ -"""Views for REST API for frontpage""" -from rest_framework.response import Response -from rest_framework.views import APIView - -from channels.api import Api -from channels.proxies import proxy_posts -from channels.serializers.posts import PostSerializer -from channels.utils import ( - get_pagination_and_reddit_obj_list, - get_listing_params, - lookup_users_for_posts, - lookup_subscriptions_for_posts, -) -from open_discussions.permissions import AnonymousAccessReadonlyPermission - - -class FrontPageView(APIView): - """ - View for listing posts for frontpage - """ - - permission_classes = (AnonymousAccessReadonlyPermission,) - - def get_serializer_context(self): - """Context for the request and view""" - return { - "current_user": self.request.user, - "request": self.request, - "view": self, - } - - def get(self, request, *args, **kwargs): # pylint: disable=unused-argument - """Get front page posts""" - listing_params = get_listing_params(self.request) - api = Api(user=self.request.user) - paginated_posts = api.front_page(listing_params) - pagination, posts = get_pagination_and_reddit_obj_list( - paginated_posts, listing_params - ) - users = lookup_users_for_posts(posts) - posts = proxy_posts( - [post for post in posts if post.author and post.author.name in users] - ) - subscriptions = lookup_subscriptions_for_posts(posts, self.request.user) - - return Response( - { - "posts": PostSerializer( - posts, - context={ - **self.get_serializer_context(), - "users": users, - "post_subscriptions": subscriptions, - }, - many=True, - ).data, - "pagination": pagination, - } - ) diff --git a/channels/views/frontpage_test.py b/channels/views/frontpage_test.py deleted file mode 100644 index c1dc785003..0000000000 --- a/channels/views/frontpage_test.py +++ /dev/null @@ -1,120 +0,0 @@ -"""Tests for views for REST APIs for frontpage""" -# pylint: disable=unused-argument -import pytest -from django.urls import reverse -from rest_framework import status - -from channels.constants import POSTS_SORT_HOT, VALID_POST_SORT_TYPES -from channels.views.test_utils import ( - default_post_response_data, - raise_error_on_submission_fetch, - raise_error_on_subreddit_fetch, -) - -pytestmark = pytest.mark.betamax - - -def test_frontpage_empty(client, logged_in_profile): - """test that frontpage is empty with no subscriptions""" - url = reverse("frontpage") - resp = client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == {"posts": [], "pagination": {"sort": POSTS_SORT_HOT}} - - -@pytest.mark.parametrize("missing_user", [True, False]) -def test_frontpage( - mocker, user_client, private_channel_and_contributor, reddit_factories, missing_user -): - """View the front page""" - channel, user = private_channel_and_contributor - first_post = reddit_factories.text_post("my post", user, channel=channel) - second_post = reddit_factories.text_post("my 2nd post", user, channel=channel) - third_post = reddit_factories.text_post("my 3rd post", user, channel=channel) - fourth_post = reddit_factories.text_post("my 4th post", user, channel=channel) - - url = reverse("frontpage") - with raise_error_on_submission_fetch(mocker), raise_error_on_subreddit_fetch( - mocker - ): - resp = user_client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == { - "posts": [ - default_post_response_data(channel, post, user) - for post in [fourth_post, third_post, second_post, first_post] - ], - "pagination": {"sort": POSTS_SORT_HOT}, - } - - -@pytest.mark.parametrize("sort", VALID_POST_SORT_TYPES) -def test_frontpage_sorted( - mocker, user_client, private_channel_and_contributor, reddit_factories, sort -): - """View the front page with sorted options""" - # note: these sort types are difficult to reproduce unique sort orders in the span of a test, - # so we're just checking that the APIs don't error - channel, user = private_channel_and_contributor - first_post = reddit_factories.text_post("my post", user, channel=channel) - second_post = reddit_factories.text_post("my 2nd post", user, channel=channel) - third_post = reddit_factories.text_post("my 3rd post", user, channel=channel) - fourth_post = reddit_factories.text_post("my 4th post", user, channel=channel) - - url = reverse("frontpage") - - with raise_error_on_submission_fetch(mocker), raise_error_on_subreddit_fetch( - mocker - ): - resp = user_client.get(url, {"sort": sort}) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == { - "posts": [ - default_post_response_data(channel, post, user) - for post in [fourth_post, third_post, second_post, first_post] - ], - "pagination": {"sort": sort}, - } - - -@pytest.mark.parametrize( - "params,expected", - [ - ({}, {"after": "t3_3", "after_count": 5}), - ( - {"after": "t3_3", "count": "5"}, - {"after": "t3_7", "after_count": 10, "before": "t3_e", "before_count": 6}, - ), - ( - {"after": "t3_a", "count": "3"}, - {"after": "t3_b", "after_count": 8, "before": "t3_9", "before_count": 4}, - ), - ({"before": "t3_e", "count": "6"}, {"after": "t3_3", "after_count": 5}), - ], -) -def test_frontpage_pagination( - mocker, client, logged_in_profile, settings, params, expected -): # pylint: disable=too-many-arguments - """Test that post pagination works""" - settings.MITOPEN_CHANNEL_POST_LIMIT = 5 - url = reverse("frontpage") - with raise_error_on_submission_fetch(mocker), raise_error_on_subreddit_fetch( - mocker - ): - resp = client.get(url, params) - expected["sort"] = POSTS_SORT_HOT - assert resp.status_code == status.HTTP_200_OK - assert resp.json()["pagination"] == expected - - -def test_frontpage_anonymous(mocker, client, public_channel): - """Anonymous users should be able to see the front page""" - url = reverse("frontpage") - with raise_error_on_submission_fetch(mocker), raise_error_on_subreddit_fetch( - mocker - ): - resp = client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json()["pagination"] == {"sort": POSTS_SORT_HOT} - # Since the front page is shared between all channels it's hard to assert reproduceable results - assert isinstance(resp.json()["posts"], list) is True diff --git a/channels/views/invites.py b/channels/views/invites.py deleted file mode 100644 index 9f1adc6528..0000000000 --- a/channels/views/invites.py +++ /dev/null @@ -1,26 +0,0 @@ -"""Channel invitations views""" -from rest_framework import viewsets - -from channels.models import Channel, ChannelInvitation -from channels.serializers.invites import ChannelInvitationSerializer -from open_discussions.permissions import IsStaffOrModeratorPermission - - -class ChannelInvitationViewSet(viewsets.ModelViewSet): - """Viewset for channel invitations""" - - serializer_class = ChannelInvitationSerializer - permission_classes = (IsStaffOrModeratorPermission,) - - def get_queryset(self): - """Get the quertset for the view""" - return ChannelInvitation.objects.filter( - channel__name=self.kwargs["channel_name"] - ).order_by("-created_on") - - def get_serializer_context(self): - """Returns the context for the serializer""" - return { - "channel": Channel.objects.get(name=self.kwargs["channel_name"]), - "inviter": self.request.user, - } diff --git a/channels/views/invites_test.py b/channels/views/invites_test.py deleted file mode 100644 index 7fa3d71f76..0000000000 --- a/channels/views/invites_test.py +++ /dev/null @@ -1,176 +0,0 @@ -"""Test for invite API""" -from operator import attrgetter - -from rest_framework import status -from django.urls import reverse -import pytest - -from channels.factories.models import ChannelFactory, ChannelInvitationFactory -from channels.models import ChannelInvitation -from open_discussions.test_utils import drf_datetime - - -@pytest.fixture -def as_non_moderator(mocker): - """Enforces that the requesting users is treated as a non-moderator""" - mock_api = mocker.patch("open_discussions.middleware.channel_api.Api").return_value - mock_api.is_moderator.return_value = False - - -@pytest.fixture -def as_moderator(mocker): - """Enforces that the requesting users is treated as a moderator""" - mock_api = mocker.patch("open_discussions.middleware.channel_api.Api").return_value - mock_api.is_moderator.return_value = True - - -@pytest.mark.usefixtures("as_moderator") -def test_list_invites(staff_client): - """Test that the invite list returns all the invites for the channel""" - channel = ChannelFactory.create() - invites = ChannelInvitationFactory.create_batch(5, channel=channel) - ChannelInvitationFactory.create_batch(5) # these should not show up - - url = reverse("channel_invitation_api-list", kwargs={"channel_name": channel.name}) - - resp = staff_client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == [ - { - "id": invite.id, - "email": invite.email, - "created_on": drf_datetime(invite.created_on), - "updated_on": drf_datetime(invite.updated_on), - } - for invite in sorted(invites, key=attrgetter("created_on"), reverse=True) - ] - - -@pytest.mark.usefixtures("as_non_moderator") -@pytest.mark.parametrize("is_logged_in", [False, True]) -def test_list_invites_noauth(client, user, is_logged_in): - """Test that the invite list returns all the invites for the channel""" - channel = ChannelFactory.create() - - url = reverse("channel_invitation_api-list", kwargs={"channel_name": channel.name}) - - if is_logged_in: - client.force_login(user) - - resp = client.get(url) - assert resp.status_code == status.HTTP_403_FORBIDDEN - - -@pytest.mark.usefixtures("as_moderator") -def test_create_invite(staff_client, mocker): - """Test that the invite list creates an invite for the channel""" - channel = ChannelFactory.create() - mocker.patch("channels.serializers.invites.tasks") - email = "text@example.com" - url = reverse("channel_invitation_api-list", kwargs={"channel_name": channel.name}) - - resp = staff_client.post(url, data={"email": email}, format="json") - invite = ChannelInvitation.objects.first() - - assert resp.status_code == status.HTTP_201_CREATED - assert resp.json() == { - "id": invite.id, - "email": invite.email, - "created_on": drf_datetime(invite.created_on), - "updated_on": drf_datetime(invite.updated_on), - } - - -@pytest.mark.usefixtures("as_non_moderator") -@pytest.mark.parametrize("is_logged_in", [False, True]) -def test_create_invite_noauth(client, user, mocker, is_logged_in): - """Test that the invite list creates an invite for the channel""" - channel = ChannelFactory.create() - mock_tasks = mocker.patch("channels.serializers.invites.tasks") - email = "text@example.com" - url = reverse("channel_invitation_api-list", kwargs={"channel_name": channel.name}) - - if is_logged_in: - client.force_login(user) - - resp = client.post(url, data={"email": email}, format="json") - - assert resp.status_code == status.HTTP_403_FORBIDDEN - assert ChannelInvitation.objects.count() == 0 - mock_tasks.send_invitation_email.delay.assert_not_called() - - -@pytest.mark.usefixtures("as_moderator") -def test_get_invite(staff_client): - """Test that the invite api returns a single invite""" - invite = ChannelInvitationFactory.create() - - url = reverse( - "channel_invitation_api-detail", - kwargs={"channel_name": invite.channel.name, "pk": invite.id}, - ) - - resp = staff_client.get(url) - - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == { - "id": invite.id, - "email": invite.email, - "created_on": drf_datetime(invite.created_on), - "updated_on": drf_datetime(invite.updated_on), - } - - -@pytest.mark.usefixtures("as_non_moderator") -@pytest.mark.parametrize("is_logged_in", [False, True]) -def test_get_invite_noauth(client, user, is_logged_in): - """Verify that the delete API ignores requests from non-moderator or anonymous users""" - invite = ChannelInvitationFactory.create() - - url = reverse( - "channel_invitation_api-detail", - kwargs={"channel_name": invite.channel.name, "pk": invite.id}, - ) - - if is_logged_in: - client.force_login(user) - - resp = client.get(url) - - assert resp.status_code == status.HTTP_403_FORBIDDEN - - -@pytest.mark.usefixtures("as_moderator") -def test_delete_invite(staff_client): - """Test that the invite list deletes an invite""" - invite = ChannelInvitationFactory.create() - - url = reverse( - "channel_invitation_api-detail", - kwargs={"channel_name": invite.channel.name, "pk": invite.id}, - ) - - resp = staff_client.delete(url) - - assert resp.status_code == status.HTTP_204_NO_CONTENT - assert not ChannelInvitation.objects.filter(id=invite.id).exists() - - -@pytest.mark.usefixtures("as_non_moderator") -@pytest.mark.parametrize("is_logged_in", [False, True]) -def test_delete_invite_noauth(client, user, is_logged_in): - """Verify that the delete API ignores requests from non-moderator or anonymous users""" - invite = ChannelInvitationFactory.create() - - url = reverse( - "channel_invitation_api-detail", - kwargs={"channel_name": invite.channel.name, "pk": invite.id}, - ) - - if is_logged_in: - client.force_login(user) - - resp = client.delete(url) - - assert resp.status_code == status.HTTP_403_FORBIDDEN - assert ChannelInvitation.objects.filter(id=invite.id).exists() diff --git a/channels/views/moderators.py b/channels/views/moderators.py deleted file mode 100644 index 4a2ece0e69..0000000000 --- a/channels/views/moderators.py +++ /dev/null @@ -1,86 +0,0 @@ -"""Views for REST APIs for moderators""" -from django.conf import settings -from rest_framework import status -from rest_framework.generics import ListCreateAPIView -from rest_framework.response import Response -from rest_framework.views import APIView - -from channels.api import Api -from channels.serializers.moderators import ( - ModeratorPrivateSerializer, - ModeratorPublicSerializer, -) -from channels.utils import translate_praw_exceptions -from open_discussions.permissions import ( - AnonymousAccessReadonlyPermission, - ModeratorPermissions, - is_moderator, - is_admin_user, -) - - -class ModeratorListView(ListCreateAPIView): - """ - View for listing and adding moderators - """ - - permission_classes = (AnonymousAccessReadonlyPermission, ModeratorPermissions) - - def get_serializer_class(self): - """ - Pick private serializer if user is moderator of this channel, else use public one - """ - return ( - ModeratorPrivateSerializer - if (is_admin_user(self.request) or is_moderator(self.request, self)) - else ModeratorPublicSerializer - ) - - def get_serializer_context(self): - """Context for the request and view""" - channel_api = self.request.channel_api - channel_name = self.kwargs["channel_name"] - mods = list( - channel_api._list_moderators( # pylint: disable=protected-access - channel_name=channel_name, moderator_name=channel_api.user.username - ) - ) - if mods: - user_mod_date = mods[0].date - else: - user_mod_date = None - - return {"channel_api": channel_api, "view": self, "mod_date": user_mod_date} - - def get_queryset(self): - """Get a list of moderators for channel""" - api = self.request.channel_api - channel_name = self.kwargs["channel_name"] - return sorted( - ( - moderator - for moderator in api.list_moderators(channel_name) - if moderator.name != settings.INDEXING_API_USERNAME - ), - key=lambda moderator: 0 if moderator.name == api.user.username else 1, - ) - - -class ModeratorDetailView(APIView): - """ - View to retrieve and remove moderators - """ - - permission_classes = (AnonymousAccessReadonlyPermission, ModeratorPermissions) - - def delete(self, request, *args, **kwargs): # pylint: disable=unused-argument - """ - Removes a moderator from a channel - """ - api = Api(user=request.user) - channel_name = self.kwargs["channel_name"] - moderator_name = self.kwargs["moderator_name"] - - with translate_praw_exceptions(request.user): - api.remove_moderator(moderator_name, channel_name) - return Response(status=status.HTTP_204_NO_CONTENT) diff --git a/channels/views/moderators_test.py b/channels/views/moderators_test.py deleted file mode 100644 index e6b9dbcdee..0000000000 --- a/channels/views/moderators_test.py +++ /dev/null @@ -1,227 +0,0 @@ -"""Tests for views for REST APIs for moderators""" -# pylint: disable=unused-argument -import pytest -from django.urls import reverse -from rest_framework import status - -from open_discussions.constants import NOT_AUTHENTICATED_ERROR_TYPE - -pytestmark = [pytest.mark.betamax, pytest.mark.usefixtures("mock_channel_exists")] - - -def test_list_moderators( # pylint: disable=too-many-arguments - user_client, - private_channel_and_contributor, - reddit_factories, - staff_user, - staff_api, - settings, -): - """ - List moderators in a channel as a logged in contributor - """ - settings.INDEXING_API_USERNAME = staff_user.username - channel, _ = private_channel_and_contributor - new_mod = reddit_factories.user("new_mod") - staff_api.add_moderator(new_mod.username, channel.name) - url = reverse("moderator-list", kwargs={"channel_name": channel.name}) - resp = user_client.get(url) - assert resp.status_code == status.HTTP_200_OK - # Staff user is filtered out - assert resp.json() == [{"moderator_name": new_mod.username}] - - -def test_list_moderators_staff( # pylint: disable=too-many-arguments - staff_client, private_channel, staff_user, staff_api, reddit_factories -): - """ - List moderators in a channel as a staff user - """ - mod_user = reddit_factories.user("user2") - staff_api.add_moderator(mod_user.username, private_channel.name) - staff_api.remove_moderator(staff_user.username, private_channel.name) - url = reverse("moderator-list", kwargs={"channel_name": private_channel.name}) - resp = staff_client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == [ - { - "moderator_name": mod_user.username, - "full_name": mod_user.profile.name, - "email": mod_user.email, - "can_remove": False, - } - ] - - -def test_list_moderators_moderator( - client, private_channel, staff_user, staff_api, reddit_factories -): - """ - List moderators in a channel as a logged in moderator of that channel - """ - url = reverse("moderator-list", kwargs={"channel_name": private_channel.name}) - mod_user = reddit_factories.user("user2") - staff_api.add_moderator(mod_user.username, private_channel.name) - client.force_login(mod_user) - resp = client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == [ - { - "moderator_name": mod_user.username, - "full_name": mod_user.profile.name, - "email": mod_user.email, - "can_remove": True, - }, - { - "moderator_name": staff_user.username, - "full_name": staff_user.profile.name, - "email": staff_user.email, - "can_remove": False, - }, - ] - - -def test_list_moderators_many_moderator( - client, private_channel, staff_user, staff_api, reddit_factories -): - """ - List moderators in a channel as a logged in moderator of that channel - """ - url = reverse("moderator-list", kwargs={"channel_name": private_channel.name}) - - mod_users = [] - for i in range(10): - mod_user = reddit_factories.user(f"user{i}") - staff_api.add_moderator(mod_user.username, private_channel.name) - mod_users.append(mod_user) - logged_in_user_index = 9 - client.force_login(mod_users[logged_in_user_index]) - resp = client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == [ - { - "moderator_name": mod_users[9].username, - "full_name": mod_users[9].profile.name, - "email": mod_users[9].email, - "can_remove": True, - }, - { - "moderator_name": staff_user.username, - "full_name": staff_user.profile.name, - "email": staff_user.email, - "can_remove": False, - }, - *[ - { - "moderator_name": mod_user.username, - "full_name": mod_user.profile.name, - "email": mod_user.email, - "can_remove": i >= logged_in_user_index, - } - for i, mod_user in enumerate(mod_users[:9]) - ], - ] - - -def test_list_moderators_anonymous(client, public_channel, staff_user): - """Anonymous users should see the moderator list""" - url = reverse("moderator-list", kwargs={"channel_name": public_channel.name}) - resp = client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == [{"moderator_name": staff_user.username}] - - -def test_add_moderator(staff_client, public_channel, reddit_factories): - """ - Adds a moderator to a channel - """ - moderator = reddit_factories.user("new_mod_user") - url = reverse("moderator-list", kwargs={"channel_name": public_channel.name}) - resp = staff_client.post( - url, data={"moderator_name": moderator.username}, format="json" - ) - assert resp.status_code == status.HTTP_201_CREATED - assert resp.json() == { - "moderator_name": moderator.username, - "email": moderator.email, - "full_name": moderator.profile.name, - "can_remove": True, - } - - -def test_add_moderator_email(staff_client, public_channel, reddit_factories): - """ - Adds a moderator to a channel by email - """ - new_mod_user = reddit_factories.user("new_mod_user") - - url = reverse("moderator-list", kwargs={"channel_name": public_channel.name}) - resp = staff_client.post(url, data={"email": new_mod_user.email}, format="json") - - assert resp.status_code == status.HTTP_201_CREATED - assert resp.json() == { - "moderator_name": new_mod_user.username, - "email": new_mod_user.email, - "full_name": new_mod_user.profile.name, - "can_remove": True, - } - - -def test_add_moderator_again(staff_client, public_channel, staff_api, reddit_factories): - """ - If a user is already a moderator we should return 201 without making any changes - """ - moderator = reddit_factories.user("already_mod") - staff_api.add_moderator(moderator.username, public_channel.name) - url = reverse("moderator-list", kwargs={"channel_name": public_channel.name}) - resp = staff_client.post( - url, data={"moderator_name": moderator.username}, format="json" - ) - assert resp.status_code == status.HTTP_201_CREATED - assert resp.json() == { - "moderator_name": moderator.username, - "email": moderator.email, - "full_name": moderator.profile.name, - "can_remove": True, - } - - -def test_add_moderator_anonymous(client): - """Anonymous users can't add moderators""" - url = reverse("moderator-list", kwargs={"channel_name": "a_channel"}) - resp = client.post(url, data={"moderator_name": "some_moderator"}, format="json") - assert resp.status_code == status.HTTP_403_FORBIDDEN - assert resp.data["error_type"] == NOT_AUTHENTICATED_ERROR_TYPE - - -@pytest.mark.parametrize("attempts", [1, 2]) -def test_remove_moderator( - staff_client, reddit_factories, private_channel, staff_api, attempts -): - """ - Removes a moderator from a channel - """ - user = reddit_factories.user("user1") - staff_api.add_moderator(user.username, private_channel.name) - url = reverse( - "moderator-detail", - kwargs={"channel_name": private_channel.name, "moderator_name": user.username}, - ) - for attempt_idx in range(attempts): - resp = staff_client.delete(url) - assert resp.status_code == ( - status.HTTP_204_NO_CONTENT - if attempt_idx == 0 - else status.HTTP_403_FORBIDDEN - ) - - -def test_remove_moderator_anonymous(client): - """Anonymous users can't add moderators""" - url = reverse( - "moderator-detail", - kwargs={"channel_name": "a_channel", "moderator_name": "doesnt_matter"}, - ) - resp = client.delete(url, data={"moderator_name": "some_moderator"}, format="json") - assert resp.status_code == status.HTTP_403_FORBIDDEN - assert resp.data["error_type"] == NOT_AUTHENTICATED_ERROR_TYPE diff --git a/channels/views/posts.py b/channels/views/posts.py deleted file mode 100644 index d15c9300df..0000000000 --- a/channels/views/posts.py +++ /dev/null @@ -1,147 +0,0 @@ -"""Views for REST APIs for posts""" - -from rest_framework import status -from rest_framework.exceptions import NotFound -from rest_framework.response import Response -from rest_framework.views import APIView - -from channels.api import Api -from channels.proxies import proxy_posts -from channels.serializers.posts import PostSerializer -from channels.utils import ( - get_pagination_and_reddit_obj_list, - get_listing_params, - lookup_users_for_posts, - lookup_subscriptions_for_posts, - translate_praw_exceptions, -) -from open_discussions.permissions import AnonymousAccessReadonlyPermission - - -class PostListView(APIView): - """ - View for listing and creating posts - """ - - permission_classes = (AnonymousAccessReadonlyPermission,) - - def get_serializer_context(self): - """Context for the request and view""" - return { - "channel_api": self.request.channel_api, - "current_user": self.request.user, - "request": self.request, - "view": self, - } - - def get(self, request, *args, **kwargs): - """Get list for posts and attach User objects to them""" - with translate_praw_exceptions(request.user): - listing_params = get_listing_params(self.request) - api = Api(user=request.user) - paginated_posts = api.list_posts( - self.kwargs["channel_name"], listing_params - ) - pagination, posts = get_pagination_and_reddit_obj_list( - paginated_posts, listing_params - ) - users = lookup_users_for_posts(posts) - posts = proxy_posts( - [post for post in posts if post.author and post.author.name in users] - ) - subscriptions = lookup_subscriptions_for_posts(posts, request.user) - - return Response( - { - "posts": PostSerializer( - posts, - many=True, - context={ - **self.get_serializer_context(), - "users": users, - "post_subscriptions": subscriptions, - }, - ).data, - "pagination": pagination, - } - ) - - def post(self, request, *args, **kwargs): - """Create a new post""" - with translate_praw_exceptions(request.user): - serializer = PostSerializer( - data=request.data, context=self.get_serializer_context() - ) - serializer.is_valid(raise_exception=True) - serializer.save() - return Response(serializer.data, status=status.HTTP_201_CREATED) - - -class PostDetailView(APIView): - """ - View for retrieving, updating or destroying posts - """ - - permission_classes = (AnonymousAccessReadonlyPermission,) - - def get_serializer_context(self): - """Context for the request and view""" - return { - "channel_api": self.request.channel_api, - "current_user": self.request.user, - "request": self.request, - "view": self, - } - - @property - def api(self): - """Returns a Channel API object""" - return Api(user=self.request.user) - - def get_object(self): - """Get post""" - return self.api.get_post(self.kwargs["post_id"]) - - def get(self, request, *args, **kwargs): - """Get post""" - with translate_praw_exceptions(request.user): - post = self.get_object() - if post.removed and ( - request.user.is_anonymous - or not (self.api.is_moderator(post.channel.name, request.user.username)) - ): - raise NotFound() - - users = lookup_users_for_posts([post]) - if not post.author or post.author.name not in users: - raise NotFound() - subscriptions = lookup_subscriptions_for_posts([post], request.user) - return Response( - PostSerializer( - instance=post, - context={ - **self.get_serializer_context(), - "users": users, - "post_subscriptions": subscriptions, - }, - ).data - ) - - def delete(self, request, *args, **kwargs): # pylint: disable=unused-argument - """Delete a post""" - self.api.delete_post(self.kwargs["post_id"]) - return Response(status=status.HTTP_204_NO_CONTENT) - - def patch(self, request, *args, **kwargs): # pylint: disable=unused-argument - """Update a post""" - with translate_praw_exceptions(request.user): - post = self.get_object() - serializer = PostSerializer( - instance=post, - data=request.data, - context=self.get_serializer_context(), - partial=True, - ) - serializer.is_valid(raise_exception=True) - serializer.save() - return Response(serializer.data) diff --git a/channels/views/posts_test.py b/channels/views/posts_test.py deleted file mode 100644 index e0e1f9256b..0000000000 --- a/channels/views/posts_test.py +++ /dev/null @@ -1,988 +0,0 @@ -"""Tests for views for REST APIs for posts""" -# pylint: disable=unused-argument,too-many-lines,redefined-outer-name -import json -import os -from types import SimpleNamespace -import pytest -from django.urls import reverse -from rest_framework import status -from rest_framework.request import Request - -from profiles.utils import image_uri -from channels.factories.models import LinkMetaFactory, PostFactory -from channels.constants import ( - EXTENDED_POST_TYPE_ARTICLE, - VALID_POST_SORT_TYPES, - POSTS_SORT_HOT, - LINK_TYPE_LINK, - LINK_TYPE_SELF, -) -from channels.models import Subscription, LinkMeta, Article -from channels.views.test_utils import ( - default_post_response_data, - raise_error_on_submission_fetch, - raise_error_on_subreddit_fetch, -) -from open_discussions.constants import ( - NOT_AUTHENTICATED_ERROR_TYPE, - PERMISSION_DENIED_ERROR_TYPE, - DJANGO_PERMISSION_ERROR_TYPES, -) -from open_discussions.factories import UserFactory -from open_discussions.test_utils import any_instance_of - -pytestmark = pytest.mark.betamax - - -@pytest.fixture(autouse=True) -def mock_spam_check(mocker): - """Mock the check_comment_for_spam task""" - return mocker.patch("channels.task_helpers.check_post_for_spam") - - -def test_create_url_post_existing_meta( - user_client, private_channel_and_contributor, mocker, settings -): - """ - Create a new url post - """ - settings.EMBEDLY_KEY = "FAKE" - channel, user = private_channel_and_contributor - link_url = "http://micromasters.mit.edu/🐨" - thumbnail = "http://fake/thumb.jpg" - embedly_stub = mocker.patch("channels.utils.get_embedly_summary") - LinkMetaFactory.create(url=link_url, thumbnail=thumbnail) - url = reverse("post-list", kwargs={"channel_name": channel.name}) - resp = user_client.post(url, {"title": "url title 🐨", "url": link_url}) - embedly_stub.assert_not_called() - assert resp.status_code == status.HTTP_201_CREATED - assert resp.json() == { - "title": "url title 🐨", - "post_type": LINK_TYPE_LINK, - "url": link_url, - "url_domain": "micromasters.mit.edu", - "cover_image": None, - "thumbnail": thumbnail, - "text": None, - "article_content": None, - "plain_text": None, - "author_id": user.username, - "created": any_instance_of(str), - "upvoted": True, - "id": any_instance_of(str), - "slug": "url-title", - "num_comments": 0, - "removed": False, - "deleted": False, - "subscribed": True, - "score": 1, - "channel_name": channel.name, - "channel_title": channel.title, - "channel_type": channel.channel_type, - "profile_image": image_uri(user.profile), - "author_name": user.profile.name, - "author_headline": user.profile.headline, - "edited": False, - "stickied": False, - "num_reports": None, - } - - -def test_post_create_post_new_meta( - user_client, private_channel_and_contributor, mocker, settings -): - """Tests that a new LinkMeta object is created for the URL if none exists""" - settings.EMBEDLY_KEY = "FAKE" - channel, _ = private_channel_and_contributor - link_url = "http://fake" - thumbnail = "http://fake/thumbnail.jpg" - embed_return_value = mocker.Mock() - embed_return_value.configure_mock( - **{"json.return_value": {"some": "json", "thumbnail_url": thumbnail}} - ) - embedly_stub = mocker.patch( - "channels.utils.get_embedly_summary", return_value=embed_return_value - ) - url = reverse("post-list", kwargs={"channel_name": channel.name}) - user_client.post(url, {"title": "url title 🐨", "url": link_url}) - embedly_stub.assert_called_with(link_url) - assert LinkMeta.objects.filter(url=link_url).first() is not None - - -def test_post_create_post_no_thumbnail( - user_client, private_channel_and_contributor, mocker, settings -): - """Tests that no LinkMeta object is created if embedly does not return a thumbnail""" - settings.EMBEDLY_KEY = "FAKE" - channel, _ = private_channel_and_contributor - link_url = "http://fake" - embed_return_value = mocker.Mock() - embed_return_value.configure_mock(**{"json.return_value": {"some": "json"}}) - embedly_stub = mocker.patch( - "channels.utils.get_embedly_summary", return_value=embed_return_value - ) - url = reverse("post-list", kwargs={"channel_name": channel.name}) - user_client.post(url, {"title": "url title 🐨", "url": link_url}) - embedly_stub.assert_called_once_with(link_url) - assert LinkMeta.objects.filter(url=url).first() is None - - -def test_create_text_post( - user_client, private_channel_and_contributor, mock_spam_check -): - """ - Create a new text post - """ - channel, user = private_channel_and_contributor - url = reverse("post-list", kwargs={"channel_name": channel.name}) - resp = user_client.post( - url, {"title": "parameterized testing", "text": "tests are great"} - ) - assert resp.status_code == status.HTTP_201_CREATED - assert resp.json() == { - "title": "parameterized testing", - "text": "tests are great", - "article_content": None, - "plain_text": "tests are great", - "url": None, - "url_domain": None, - "cover_image": None, - "thumbnail": None, - "author_id": user.username, - "created": any_instance_of(str), - "upvoted": True, - "removed": False, - "deleted": False, - "subscribed": True, - "id": any_instance_of(str), - "slug": "parameterized-testing", - "num_comments": 0, - "score": 1, - "channel_name": channel.name, - "channel_title": channel.title, - "channel_type": channel.channel_type, - "profile_image": image_uri(user.profile), - "author_name": user.profile.name, - "author_headline": user.profile.headline, - "edited": False, - "stickied": False, - "num_reports": None, - "post_type": LINK_TYPE_SELF, - } - mock_spam_check.assert_called_with(any_instance_of(Request), resp.json()["id"]) - - -def test_create_article_post( - user_client, private_channel_and_contributor, mock_spam_check -): - """ - Create a new article post - """ - channel, user = private_channel_and_contributor - url = reverse("post-list", kwargs={"channel_name": channel.name}) - article_text = "some text" - article_content = [{"key": "value", "nested": {"number": 4}, "text": article_text}] - resp = user_client.post( - url, {"title": "parameterized testing", "article_content": article_content} - ) - assert resp.status_code == status.HTTP_201_CREATED - assert resp.json() == { - "title": "parameterized testing", - "text": "", - "article_content": article_content, - "plain_text": article_text, - "url": None, - "url_domain": None, - "cover_image": None, - "thumbnail": None, - "author_id": user.username, - "created": any_instance_of(str), - "upvoted": True, - "removed": False, - "deleted": False, - "subscribed": True, - "id": any_instance_of(str), - "slug": "parameterized-testing", - "num_comments": 0, - "score": 1, - "channel_name": channel.name, - "channel_title": channel.title, - "channel_type": "private", - "profile_image": image_uri(user.profile), - "author_name": user.profile.name, - "author_headline": user.profile.headline, - "edited": False, - "stickied": False, - "num_reports": None, - "post_type": EXTENDED_POST_TYPE_ARTICLE, - } - article = Article.objects.filter(post__post_id=resp.json()["id"]) - assert article.exists() - assert article.first().content == article_content - mock_spam_check.assert_called_with(any_instance_of(Request), resp.json()["id"]) - - -def test_create_and_update_post_moderator( - user_client, private_channel_and_contributor, mock_spam_check, staff_api -): - """ - Create and update a post as a moderator - """ - channel, user = private_channel_and_contributor - staff_api.add_moderator(user.username, channel.name) - - url = reverse("post-list", kwargs={"channel_name": channel.name}) - resp = user_client.post( - url, {"title": "parameterized testing", "text": "tests are great"} - ) - assert resp.status_code == status.HTTP_201_CREATED - - url = reverse("post-detail", kwargs={"post_id": resp.json()["id"]}) - resp = user_client.patch(url, {"date": {"text": "updated"}}) - assert resp.status_code == status.HTTP_200_OK - - mock_spam_check.assert_not_called() - - -def test_create_article_post_with_cover(user_client, private_channel_and_contributor): - """ - Create a new article post with a cover image - """ - channel, _ = private_channel_and_contributor - url = reverse("post-list", kwargs={"channel_name": channel.name}) - article_content = [{"key": "value", "nested": {"number": 4}}] - png_file = os.path.join( - os.path.dirname(__file__), "..", "..", "static", "images", "avatar_default.png" - ) - with open(png_file, "rb") as f: - resp = user_client.post( - url, - { - "title": "parameterized testing", - "article_content": json.dumps(article_content), - "cover_image": f, - }, - format="multipart", - ) - assert resp.status_code == status.HTTP_201_CREATED - assert resp.json()["article_content"] == article_content - article = Article.objects.get(post__post_id=resp.json()["id"]) - assert resp.json()["cover_image"].endswith(article.cover_image.url) - assert len(article.cover_image.read()) == os.path.getsize(png_file) - - -def test_patch_article_validate_cover_image( - user_client, private_channel_and_contributor -): - """ - It should error if the cover image is not a file - """ - channel, _ = private_channel_and_contributor - url = reverse("post-list", kwargs={"channel_name": channel.name}) - article_content = [{"key": "value", "nested": {"number": 4}}] - resp = user_client.post( - url, - { - "title": "parameterized testing", - "article_content": json.dumps(article_content), - "cover_image": b"test", - }, - format="multipart", - ) - assert resp.status_code == status.HTTP_400_BAD_REQUEST - assert resp.json() == { - "error_type": "ValidationError", - "cover_image": ["Expected cover image to be a file or url"], - } - - -def test_create_text_post_blank(user_client, private_channel_and_contributor): - """ - Create a new text post with no text - """ - channel, _ = private_channel_and_contributor - url = reverse("post-list", kwargs={"channel_name": channel.name}) - resp = user_client.post(url, {"title": "blank post"}) - assert resp.status_code == status.HTTP_201_CREATED - assert resp.json()["text"] == "" - - -def test_create_post_forbidden(user_client, private_channel): - """ - Create a new text post for a channel the user doesn't have permission to - """ - url = reverse("post-list", kwargs={"channel_name": private_channel.name}) - resp = user_client.post( - url, {"title": "parameterized testing", "text": "tests are great"} - ) - assert resp.status_code == status.HTTP_403_FORBIDDEN - - -def test_create_post_not_found(client, logged_in_profile): - """ - Create a new text post for a channel that doesn't exist - """ - url = reverse("post-list", kwargs={"channel_name": "doesnt_exist"}) - resp = client.post( - url, {"title": "parameterized testing", "text": "tests are great"} - ) - assert resp.status_code == status.HTTP_404_NOT_FOUND - - -def test_create_post_anonymous(client): - """ - Anonymous users can't create posts - """ - url = reverse("post-list", kwargs={"channel_name": "doesnt_matter"}) - resp = client.post( - url, {"title": "parameterized testing", "text": "tests are great"} - ) - assert resp.status_code == status.HTTP_403_FORBIDDEN - assert resp.data["error_type"] == NOT_AUTHENTICATED_ERROR_TYPE - - -@pytest.mark.parametrize("missing_user", [True, False]) -def test_get_deleted_post( - staff_client, missing_user, private_channel_and_contributor, reddit_factories -): - """Get an existing post for a deleted user""" - channel, user = private_channel_and_contributor - post = reddit_factories.text_post("deleted", user, channel=channel) - - if missing_user: - user.username = "renamed" - user.save() - - url = reverse("post-detail", kwargs={"post_id": post.id}) - resp = staff_client.get(url) - if missing_user: - assert resp.status_code == status.HTTP_404_NOT_FOUND - else: - assert resp.status_code == status.HTTP_200_OK - - -@pytest.mark.parametrize( - "client_user, expected_status", - [ - [None, status.HTTP_404_NOT_FOUND], - [pytest.lazy_fixture("user"), status.HTTP_404_NOT_FOUND], - [pytest.lazy_fixture("staff_user"), status.HTTP_200_OK], - ], -) -def test_get_removed_post( - client, - user, - public_channel, - reddit_factories, - staff_api, - client_user, - expected_status, -): # pylint: disable=too-many-arguments - """Get an existing post for a removed post""" - post = reddit_factories.text_post("removed", user, channel=public_channel) - - staff_api.remove_post(post.id) - - if client_user is not None: - client.force_login(client_user) - - url = reverse("post-detail", kwargs={"post_id": post.id}) - resp = client.get(url) - - assert resp.status_code == expected_status - - -# pylint: disable=too-many-arguments -@pytest.mark.parametrize("missing_image", [True, False]) -def test_get_post( - user_client, private_channel_and_contributor, reddit_factories, missing_image -): - """Get an existing post with no image""" - channel, user = private_channel_and_contributor - - if missing_image: - user.profile.image_small = None - else: - user.profile.image_small = "/just/a/great/image.png.jpg.gif" - user.profile.save() - - post = reddit_factories.text_post("my geat post", user, channel=channel) - url = reverse("post-detail", kwargs={"post_id": post.id}) - resp = user_client.get(url) - - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == default_post_response_data(channel, post, user) - - -def test_get_post_no_profile( - user_client, private_channel_and_contributor, reddit_factories -): - """Get an existing post for a user with no profile""" - channel, user = private_channel_and_contributor - user.profile.delete() - - post = reddit_factories.text_post("my geat post", user, channel=channel) - url = reverse("post-detail", kwargs={"post_id": post.id}) - resp = user_client.get(url) - - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == { - **default_post_response_data(channel, post, user), - "author_name": "[deleted]", - "author_headline": None, - "profile_image": image_uri(None), - } - - -def test_get_post_forbidden(client, logged_in_profile): - """Get a post the user doesn't have permission to""" - post_id = "adc" - PostFactory.create(post_id=post_id) - url = reverse("post-detail", kwargs={"post_id": post_id}) - resp = client.get(url) - assert resp.status_code == status.HTTP_403_FORBIDDEN - - -def test_get_post_not_found(client, logged_in_profile): - """Get a post the user doesn't have permission to""" - post_id = "missing" - PostFactory.create(post_id=post_id) - url = reverse("post-detail", kwargs={"post_id": post_id}) - resp = client.get(url) - assert resp.status_code == status.HTTP_404_NOT_FOUND - - -def test_get_post_stickied( - user_client, private_channel_and_contributor, reddit_factories, staff_api -): - """test that stickied posts come back that way""" - channel, user = private_channel_and_contributor - post = reddit_factories.text_post("just a post", user, channel=channel) - staff_api.pin_post(post.id, True) - url = reverse("post-detail", kwargs={"post_id": post.id}) - get_resp = user_client.get(url) - assert get_resp.status_code == status.HTTP_200_OK - assert get_resp.json() == { - **default_post_response_data(channel, post, user), - "stickied": True, - } - - -def test_get_post_anonymous(client, public_channel, reddit_factories): - """Anonymous users can see posts for a public channel, if the feature flag is set""" - user = UserFactory.create(username="01CBFJMB9PD3JP17KAX3E5JQ46") - post = reddit_factories.link_post("link_post", user=user, channel=public_channel) - - url = reverse("post-detail", kwargs={"post_id": post.id}) - resp = client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == { - **default_post_response_data(public_channel, post, user), - "upvoted": False, - } - - -@pytest.mark.parametrize("missing_user", [True, False]) -def test_list_posts( - mocker, user_client, missing_user, private_channel_and_contributor, reddit_factories -): - """List posts in a channel""" - channel, user = private_channel_and_contributor - posts = list( - reversed( - [ - reddit_factories.link_post("link_post", user=user, channel=channel), - reddit_factories.text_post("text_post", user=user, channel=channel), - ] - ) - ) - - if missing_user: - user.username = "renamed" - user.save() - - url = reverse("post-list", kwargs={"channel_name": channel.name}) - with raise_error_on_submission_fetch(mocker), raise_error_on_subreddit_fetch( - mocker - ): - resp = user_client.get(url) - assert resp.status_code == status.HTTP_200_OK - - if missing_user: - # all posts should be filtered out - assert resp.json() == {"posts": [], "pagination": {"sort": POSTS_SORT_HOT}} - else: - assert resp.json() == { - "posts": [ - default_post_response_data(channel, post, user) for post in posts - ], - "pagination": {"sort": POSTS_SORT_HOT}, - } - - -def test_list_posts_none(mocker, user_client, private_channel_and_contributor): - """List posts in a channel""" - channel, _ = private_channel_and_contributor - url = reverse("post-list", kwargs={"channel_name": channel.name}) - with raise_error_on_submission_fetch(mocker), raise_error_on_subreddit_fetch( - mocker - ): - resp = user_client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == {"posts": [], "pagination": {"sort": POSTS_SORT_HOT}} - - -@pytest.mark.parametrize("sort", VALID_POST_SORT_TYPES) -def test_list_posts_sorted( - mocker, user_client, private_channel_and_contributor, reddit_factories, sort -): - """View the channel listing with sorted options""" - # note: these sort types are difficult to reproduce unique sort orders in the span of a test, - # so we're just checking that the APIs don't error - channel, user = private_channel_and_contributor - first_post = reddit_factories.text_post("my post", user, channel=channel) - second_post = reddit_factories.text_post("my 2nd post", user, channel=channel) - third_post = reddit_factories.text_post("my 3rd post", user, channel=channel) - fourth_post = reddit_factories.text_post("my 4th post", user, channel=channel) - url = reverse("post-list", kwargs={"channel_name": channel.name}) - with raise_error_on_submission_fetch(mocker), raise_error_on_subreddit_fetch( - mocker - ): - resp = user_client.get(url, {"sort": sort}) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == { - "posts": [ - default_post_response_data(channel, post, user) - for post in [fourth_post, third_post, second_post, first_post] - ], - "pagination": {"sort": sort}, - } - - -def test_list_posts_stickied( - mocker, user_client, private_channel_and_contributor, reddit_factories, staff_api -): - """test that the stickied post is first""" - channel, user = private_channel_and_contributor - posts = [ - reddit_factories.text_post("great post!{}".format(i), user, channel=channel) - for i in range(4) - ] - post = posts[2] - staff_api.pin_post(post.id, True) - url = reverse("post-list", kwargs={"channel_name": channel.name}) - with raise_error_on_submission_fetch(mocker), raise_error_on_subreddit_fetch( - mocker - ): - resp = user_client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json()["posts"][0] == { - **default_post_response_data(channel, post, user), - "stickied": True, - } - - -def test_list_posts_forbidden(client, logged_in_profile): - """List posts in a channel the user doesn't have access to""" - url = reverse("post-list", kwargs={"channel_name": "my_channel2"}) - resp = client.get(url) - assert resp.status_code == status.HTTP_403_FORBIDDEN - - -def test_list_posts_not_found(client, logged_in_profile): - """List posts in a channel the user doesn't have access to""" - url = reverse("post-list", kwargs={"channel_name": "missing"}) - resp = client.get(url) - assert resp.status_code == status.HTTP_404_NOT_FOUND - - -def test_list_posts_pagination_first_page_no_params( - mocker, user_client, settings, private_channel_and_contributor, reddit_factories -): - """Test that post pagination works for the first page if no params""" - settings.MITOPEN_CHANNEL_POST_LIMIT = 5 - channel, user = private_channel_and_contributor - posts = list( - reversed( - [ - reddit_factories.text_post(idx, user=user, channel=channel) - for idx in range(15) - ] - ) - ) - params = {} - expected = { - "after": "t3_{}".format(posts[4].id), - "after_count": 5, - "sort": POSTS_SORT_HOT, - } - url = reverse("post-list", kwargs={"channel_name": channel.name}) - with raise_error_on_submission_fetch(mocker), raise_error_on_subreddit_fetch( - mocker - ): - resp = user_client.get(url, params) - assert resp.status_code == status.HTTP_200_OK - assert resp.json()["pagination"] == expected - - -def test_list_posts_pagination_first_page_with_params( - mocker, user_client, settings, private_channel_and_contributor, reddit_factories -): - """Test that post pagination works for the first page with params""" - settings.MITOPEN_CHANNEL_POST_LIMIT = 5 - channel, user = private_channel_and_contributor - posts = list( - reversed( - [ - reddit_factories.text_post(idx, user=user, channel=channel) - for idx in range(15) - ] - ) - ) - params = {"before": "t3_{}".format(posts[5].id), "count": 6} - expected = { - "after": "t3_{}".format(posts[4].id), - "after_count": 5, - "sort": POSTS_SORT_HOT, - } - url = reverse("post-list", kwargs={"channel_name": channel.name}) - with raise_error_on_submission_fetch(mocker), raise_error_on_subreddit_fetch( - mocker - ): - resp = user_client.get(url, params) - assert resp.status_code == status.HTTP_200_OK - assert resp.json()["pagination"] == expected - - -def test_list_posts_pagination_non_first_page( - mocker, user_client, settings, private_channel_and_contributor, reddit_factories -): - """Test that post pagination works for a page that's not the first one""" - settings.MITOPEN_CHANNEL_POST_LIMIT = 5 - channel, user = private_channel_and_contributor - posts = list( - reversed( - [ - reddit_factories.text_post(idx, user=user, channel=channel) - for idx in range(15) - ] - ) - ) - params = {"after": "t3_{}".format(posts[4].id), "count": 5} - expected = { - "before": "t3_{}".format(posts[5].id), - "before_count": 6, - "after": "t3_{}".format(posts[9].id), - "after_count": 10, - "sort": POSTS_SORT_HOT, - } - url = reverse("post-list", kwargs={"channel_name": channel.name}) - with raise_error_on_submission_fetch(mocker), raise_error_on_subreddit_fetch( - mocker - ): - resp = user_client.get(url, params) - assert resp.status_code == status.HTTP_200_OK - assert resp.json()["pagination"] == expected - - -def test_list_posts_pagination_non_offset_page( - mocker, user_client, settings, private_channel_and_contributor, reddit_factories -): - """Test that post pagination works for a page that doesn't align to the number of results""" - settings.MITOPEN_CHANNEL_POST_LIMIT = 5 - channel, user = private_channel_and_contributor - posts = list( - reversed( - [ - reddit_factories.text_post(idx, user=user, channel=channel) - for idx in range(15) - ] - ) - ) - params = {"after": "t3_{}".format(posts[5].id), "count": 5} - expected = { - "before": "t3_{}".format(posts[6].id), - "before_count": 6, - "after": "t3_{}".format(posts[10].id), - "after_count": 10, - "sort": POSTS_SORT_HOT, - } - url = reverse("post-list", kwargs={"channel_name": channel.name}) - with raise_error_on_submission_fetch(mocker), raise_error_on_subreddit_fetch( - mocker - ): - resp = user_client.get(url, params) - assert resp.status_code == status.HTTP_200_OK - assert resp.json()["pagination"] == expected - - -def test_list_posts_anonymous(mocker, client, public_channel, reddit_factories): - """Anonymous users can see posts for a public channel, if the feature flag is set""" - user = UserFactory.create(username="01CBFJMB9PD3JP17KAX3E5JQ46") - post = reddit_factories.link_post("link_post", user=user, channel=public_channel) - - url = reverse("post-list", kwargs={"channel_name": public_channel.name}) - with raise_error_on_submission_fetch(mocker), raise_error_on_subreddit_fetch( - mocker - ): - resp = client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == { - "pagination": {"sort": "hot"}, - "posts": [ - {**default_post_response_data(public_channel, post, user), "upvoted": False} - ], - } - - -def test_create_post_without_upvote(user_client, private_channel_and_contributor): - """Test creating a post without an upvote in the body""" - channel, user = private_channel_and_contributor - url = reverse("post-list", kwargs={"channel_name": channel.name}) - resp = user_client.post(url, {"title": "x", "text": "y", "upvoted": False}) - assert resp.status_code == status.HTTP_201_CREATED - assert resp.json() == { - "title": "x", - "text": "y", - "article_content": None, - "plain_text": "y", - "url": None, - "url_domain": None, - "cover_image": None, - "thumbnail": None, - "author_id": user.username, - "created": "2020-07-28T22:15:27+00:00", - "upvoted": False, - "removed": False, - "deleted": False, - "subscribed": True, - "id": "10", - "slug": "x", - "num_comments": 0, - "score": 1, - "channel_name": channel.name, - "channel_title": channel.title, - "channel_type": channel.channel_type, - "profile_image": image_uri(user.profile), - "author_name": user.profile.name, - "author_headline": user.profile.headline, - "edited": False, - "stickied": False, - "num_reports": None, - "post_type": LINK_TYPE_SELF, - } - - -def test_update_article_post( - user_client, reddit_factories, private_channel_and_contributor -): - """Test that we can update the content of an article post""" - article_content = [{"data": "updated"}] - channel, user = private_channel_and_contributor - post = reddit_factories.article_post("post", user=user, channel=channel) - url = reverse("post-detail", kwargs={"post_id": post.id}) - resp = user_client.patch(url, {"article_content": article_content}) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == { - **default_post_response_data(channel, post, user), - "article_content": article_content, - } - - -def test_update_article_cover( - user_client, reddit_factories, private_channel_and_contributor -): - """ - It should upload a cover image for an existing article - """ - channel, user = private_channel_and_contributor - post = reddit_factories.article_post("post", user=user, channel=channel) - url = reverse("post-detail", kwargs={"post_id": post.id}) - png_file = os.path.join( - os.path.dirname(__file__), - "..", - "..", - "static", - "images", - "mit-logo-micromasters.jpg", - ) - with open(png_file, "rb") as f: - resp = user_client.patch(url, {"cover_image": f}, format="multipart") - assert resp.status_code == status.HTTP_200_OK - article = Article.objects.get(post__post_id=resp.json()["id"]) - assert len(article.cover_image.read()) == os.path.getsize(png_file) - - # Now update the article again, with the same cover (sent as URL) - image_url = "http://localhost/{}".format(article.cover_image.url) - resp = user_client.patch( - url, {"cover_image": image_url, "article_content": "foo"}, format="json" - ) - assert resp.status_code == status.HTTP_200_OK - article = Article.objects.get(post__post_id=resp.json()["id"]) - assert image_url.endswith(article.cover_image.url) - - # Remove the image - resp = user_client.patch(url, {"article_content": "foo"}, format="json") - assert resp.status_code == status.HTTP_200_OK - article = Article.objects.get(post__post_id=resp.json()["id"]) - assert article.cover_image.name == "" - - -class PostDetailTests: - """Tests for the post-detail endpoint""" - - def scenario(self, private_channel_and_contributor, reddit_factories, staff_user): - """Fixture that sets up a common scenario for post-detail tests""" - channel, user = private_channel_and_contributor - post = reddit_factories.text_post("just a post", user, channel=channel) - url = reverse("post-detail", kwargs={"post_id": post.id}) - default_response = default_post_response_data(channel, post, user) - default_staff_response = default_post_response_data(channel, post, staff_user) - return SimpleNamespace( - channel=channel, - user=user, - staff_user=staff_user, - post=post, - url=url, - default_response=default_response, - default_staff_response=default_staff_response, - ) - - @pytest.mark.parametrize( - "request_data,exp_response_data", - [ - ({"text": "overwrite"}, {"text": "overwrite"}), - ({"upvoted": False}, {"upvoted": False}), - ({"upvoted": True}, {"upvoted": True}), - ], - ) - def test_update_post( - self, user_client, scenario, request_data, exp_response_data, mock_spam_check - ): - """ - Test that non-staff users are allowed to make certain requests to update a post, and that - the response from the API matches our expectations - """ - resp = user_client.patch(scenario.url, format="json", data=request_data) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == {**scenario.default_response, **exp_response_data} - mock_spam_check.assert_called_with(any_instance_of(Request), resp.json()["id"]) - - @pytest.mark.parametrize( - "request_data,exp_response_data", - [ - ({"ignore_reports": True}, {}), - ({"removed": True}, {"removed": True}), - ({"stickied": True}, {"stickied": True}), - ], - ) - def test_update_post_staff_only( - self, staff_client, scenario, request_data, exp_response_data - ): - """ - Test that staff users are allowed to make certain requests to update a post, and that - the response from the API matches our expectations - """ - resp = staff_client.patch(scenario.url, format="json", data=request_data) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == {**scenario.default_staff_response, **exp_response_data} - - @pytest.mark.parametrize( - "request_data", - [{"ignore_reports": True}, {"removed": True}, {"stickied": True}], - ) - def test_update_post_non_staff_error(self, user_client, scenario, request_data): - """ - Test that non-staff users attempting to make staff-only updates to a post will result in a - permission error - """ - resp = user_client.patch(scenario.url, format="json", data=request_data) - assert resp.status_code in DJANGO_PERMISSION_ERROR_TYPES - assert resp.data == { - "error_type": PERMISSION_DENIED_ERROR_TYPE, - "detail": "You do not have permission to perform this action.", - } - - def test_update_post_unsticky(self, staff_client, staff_api, scenario): - """Test updating just the stickied boolean on a post""" - staff_api.pin_post(scenario.post.id, True) - resp = staff_client.patch(scenario.url, format="json", data={"stickied": False}) - assert resp.status_code == status.HTTP_200_OK - assert resp.json()["stickied"] is False - - def test_update_post_clear_removed(self, staff_client, staff_api, scenario): - """Test updating a post to re-approve it""" - staff_api.remove_post(scenario.post.id) - resp = staff_client.patch(scenario.url, format="json", data={"removed": False}) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == {**scenario.default_staff_response, "removed": False} - - def test_update_post_forbidden(self, staff_client, scenario): - """Test updating a post the user isn't the owner of""" - resp = staff_client.patch( - scenario.url, format="json", data={"text": "overwrite"} - ) - assert resp.status_code == status.HTTP_403_FORBIDDEN - - def test_update_post_not_found(self, user_client): - """Test updating a post that doesn't exist""" - url = reverse("post-detail", kwargs={"post_id": "missing"}) - resp = user_client.patch(url, format="json", data={"text": "overwrite"}) - assert resp.status_code == status.HTTP_404_NOT_FOUND - - # Reddit doesn't indicate if a post deletion failed so we don't have tests for that - def test_delete_post(self, user_client, scenario): - """Delete a post in a channel""" - resp = user_client.delete(scenario.url) - assert resp.status_code == status.HTTP_204_NO_CONTENT - - @pytest.mark.parametrize( - "has_post_subscription,has_comment_subscription,expected_before,expected_after", - [ - (True, False, 1, 1), - (True, True, 2, 2), - (False, True, 1, 2), - (False, False, 0, 1), - ], - ) - def test_subscribe_post( - self, - staff_client, - staff_api, - scenario, - reddit_factories, - has_post_subscription, - has_comment_subscription, - expected_before, - expected_after, - ): # pylint: disable=too-many-arguments - """Test subscribing to a post""" - comment = reddit_factories.comment( - "just a comment", scenario.user, post_id=scenario.post.id - ) - if has_post_subscription: - staff_api.add_post_subscription(scenario.post.id) - if has_comment_subscription: - staff_api.add_comment_subscription(scenario.post.id, comment.id) - assert Subscription.objects.count() == expected_before - resp = staff_client.patch(scenario.url, {"subscribed": True}) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == {**scenario.default_response, "subscribed": True} - assert Subscription.objects.count() == expected_after - - def test_unsubscribe_post(self, user_client, contributor_api, scenario): - """Test unsubscribing to a post""" - contributor_api.add_post_subscription(scenario.post.id) - resp = user_client.patch(scenario.url, {"subscribed": False}) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == {**scenario.default_response, "subscribed": False} - - -def test_post_anonymous(client): - """Anonymous users can't update or delete posts""" - url = reverse("post-detail", kwargs={"post_id": "doesntmatter"}) - update_resp = client.patch(url, format="json", data={"text": "overwrite"}) - delete_resp = client.delete(url) - for resp in [update_resp, delete_resp]: - assert resp.status_code in DJANGO_PERMISSION_ERROR_TYPES - assert resp.data["error_type"] == NOT_AUTHENTICATED_ERROR_TYPE diff --git a/channels/views/reports.py b/channels/views/reports.py deleted file mode 100644 index 95b215abea..0000000000 --- a/channels/views/reports.py +++ /dev/null @@ -1,66 +0,0 @@ -"""Views for REST APIs for reporting posts and comments""" - -from rest_framework import status -from rest_framework.permissions import IsAuthenticated -from rest_framework.response import Response -from rest_framework.views import APIView - -from open_discussions.permissions import IsStaffOrModeratorPermission -from channels.api import Api -from channels.serializers.reports import ReportSerializer, ReportedContentSerializer -from channels.utils import translate_praw_exceptions - - -class ReportContentView(APIView): - """ - View to report a comment or post - """ - - permission_classes = (IsAuthenticated,) - - def get_serializer_context(self): - """Context for the request and view""" - return { - "channel_api": self.request.channel_api, - "current_user": self.request.user, - "request": self.request, - "view": self, - } - - def post(self, request, *args, **kwargs): # pylint: disable=unused-argument - """Create a report""" - with translate_praw_exceptions(request.user): - serializer = ReportSerializer( - data=request.data, context=self.get_serializer_context() - ) - serializer.is_valid(raise_exception=True) - serializer.save() - return Response(serializer.data, status=status.HTTP_201_CREATED) - - -class ChannelReportListView(APIView): - """ - Moderator view for reported comments and posts in a channels - """ - - permission_classes = (IsAuthenticated, IsStaffOrModeratorPermission) - - def get_serializer_context(self): - """Context for the request and view""" - return { - "channel_api": self.request.channel_api, - "current_user": self.request.user, - "request": self.request, - "view": self, - } - - def get(self, request, *args, **kwargs): # pylint: disable=unused-argument - """List of reports""" - with translate_praw_exceptions(request.user): - api = Api(user=request.user) - reports = api.list_reports(self.kwargs["channel_name"]) - serializer = ReportedContentSerializer( - reports, many=True, context=self.get_serializer_context() - ) - - return Response(serializer.data) diff --git a/channels/views/reports_test.py b/channels/views/reports_test.py deleted file mode 100644 index dd00ede3ca..0000000000 --- a/channels/views/reports_test.py +++ /dev/null @@ -1,142 +0,0 @@ -"""Tests for views for REST APIs for reports""" -import pytest -from django.urls import reverse -from rest_framework import status - -from channels.api import Api -from channels.views.test_utils import default_post_response_data -from open_discussions.constants import ( - NOT_AUTHENTICATED_ERROR_TYPE, - PERMISSION_DENIED_ERROR_TYPE, -) -from open_discussions.factories import UserFactory -from profiles.utils import image_uri - -pytestmark = [pytest.mark.betamax, pytest.mark.usefixtures("mock_channel_exists")] - - -def test_report_post(user_client, private_channel_and_contributor, reddit_factories): - """Report a post""" - channel, user = private_channel_and_contributor - post = reddit_factories.text_post("post", user, channel=channel) - url = reverse("report-content") - payload = {"post_id": post.id, "reason": "spam"} - resp = user_client.post(url, data=payload) - assert resp.status_code == status.HTTP_201_CREATED - assert resp.json() == payload - - -def test_report_comment(user_client, private_channel_and_contributor, reddit_factories): - """Report a post""" - channel, user = private_channel_and_contributor - post = reddit_factories.text_post("post", user, channel=channel) - comment = reddit_factories.comment("comment", user, post_id=post.id) - url = reverse("report-content") - payload = {"comment_id": comment.id, "reason": "spam"} - resp = user_client.post(url, data=payload) - assert resp.status_code == status.HTTP_201_CREATED - assert resp.json() == payload - - -def test_report_anonymous(client, public_channel, reddit_factories): - """Anonymous users can't report posts or comments""" - user = UserFactory.create() - post = reddit_factories.text_post("post", user, channel=public_channel) - comment = reddit_factories.comment("comment", user, post_id=post.id) - url = reverse("report-content") - - # Post - resp = client.post(url, data={"post_id": post.id, "reason": "spam"}) - assert resp.status_code == status.HTTP_403_FORBIDDEN - assert resp.data["error_type"] == NOT_AUTHENTICATED_ERROR_TYPE - - # Comment - resp = client.post(url, data={"comment_id": comment.id, "reason": "spam"}) - assert resp.status_code == status.HTTP_403_FORBIDDEN - assert resp.data["error_type"] == NOT_AUTHENTICATED_ERROR_TYPE - - -def test_list_reports( - staff_client, private_channel_and_contributor, reddit_factories, staff_api -): - """List reported content""" - channel, user = private_channel_and_contributor - post = reddit_factories.text_post("post", user, channel=channel) - comment = reddit_factories.comment("comment", user, post_id=post.id) - # report both with a regular user - api = Api(user) - api.report_comment(comment.id, "spam") - api.report_post(post.id, "bad") - # report both with a moderator user - staff_api.report_comment(comment.id, "spam") - staff_api.report_post(post.id, "junk") - url = reverse("channel-reports", kwargs={"channel_name": channel.name}) - resp = staff_client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == [ - { - "post": None, - "comment": { - "author_id": user.username, - "created": comment.created, - "id": comment.id, - "parent_id": None, - "post_id": post.id, - "score": 1, - "text": comment.text, - "upvoted": False, - "downvoted": False, - "removed": False, - "deleted": False, - "subscribed": False, - "profile_image": image_uri(user.profile), - "author_name": user.profile.name, - "author_headline": user.profile.headline, - "edited": False, - "comment_type": "comment", - "num_reports": 2, - }, - "reasons": ["spam"], - }, - { - "post": { - **default_post_response_data(channel, post, user), - "num_comments": 1, - "num_reports": 2, - "upvoted": False, - }, - "comment": None, - "reasons": ["bad", "junk"], - }, - ] - - -def test_list_reports_empty(staff_client, private_channel): - """List reported content when there is none""" - url = reverse("channel-reports", kwargs={"channel_name": private_channel.name}) - resp = staff_client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == [] - - -def test_patch_channel_nonstaff(user_client, private_channel): - """ - Fail to list a channels reported content if nonstaff user - """ - url = reverse("channel-reports", kwargs={"channel_name": private_channel.name}) - resp = user_client.get(url) - assert resp.status_code in (status.HTTP_401_UNAUTHORIZED, status.HTTP_403_FORBIDDEN) - assert resp.data == { - "error_type": PERMISSION_DENIED_ERROR_TYPE, - "detail": "You do not have permission to perform this action.", - } - - -def test_patch_channel_noauth(client, private_channel): - """ - Fail to list a channels reported content if no auth - """ - url = reverse("channel-reports", kwargs={"channel_name": private_channel.name}) - resp = client.get(url) - assert resp.status_code in (status.HTTP_401_UNAUTHORIZED, status.HTTP_403_FORBIDDEN) - assert resp.data["error_type"] == NOT_AUTHENTICATED_ERROR_TYPE diff --git a/channels/views/subscribers.py b/channels/views/subscribers.py deleted file mode 100644 index 60746d7715..0000000000 --- a/channels/views/subscribers.py +++ /dev/null @@ -1,75 +0,0 @@ -"""Views for REST APIs for channels""" -from django.conf import settings -from rest_framework import status -from rest_framework.exceptions import NotFound -from rest_framework.generics import ListCreateAPIView -from rest_framework.permissions import IsAuthenticated -from rest_framework.response import Response -from rest_framework.views import APIView - -from channels.api import Api -from channels.models import Channel, ChannelSubscription -from channels.serializers.subscribers import SubscriberSerializer -from open_discussions.permissions import IsOwnSubscriptionOrAdminPermission - - -class SubscriberListView(ListCreateAPIView): - """ - View to add subscribers in channels - """ - - permission_classes = (IsAuthenticated, IsOwnSubscriptionOrAdminPermission) - serializer_class = SubscriberSerializer - - def get_serializer_context(self): - """Context for the request and view""" - return {"channel_api": self.request.channel_api, "view": self} - - def get_queryset(self): - """Get generator for subscribers in channel""" - return ( - subscriber - for subscriber in list( - Channel.objects.get(name=self.kwargs["channel_name"]).subscribers - ) - if subscriber.username != settings.INDEXING_API_USERNAME - ) - - -class SubscriberDetailView(APIView): - """ - View to retrieve and remove subscribers in channels - """ - - permission_classes = (IsAuthenticated, IsOwnSubscriptionOrAdminPermission) - - def get_serializer_context(self): - """Context for the request and view""" - return {"channel_api": self.request.channel_api, "view": self} - - def get(self, request, *args, **kwargs): - """Get subscriber for the channel""" - subscriber_name = self.kwargs["subscriber_name"] - channel_name = self.kwargs["channel_name"] - subscription = ChannelSubscription.objects.filter( - channel__name=channel_name, user__username=subscriber_name - ).first() - - if not subscription: - raise NotFound( - "User {} is not a subscriber of {}".format( - subscriber_name, channel_name - ) - ) - return Response(SubscriberSerializer(subscription.user).data) - - def delete(self, request, *args, **kwargs): # pylint: disable=unused-argument - """ - Removes a subscriber from a channel - """ - api = Api(user=request.user) - channel_name = self.kwargs["channel_name"] - subscriber_name = self.kwargs["subscriber_name"] - - api.remove_subscriber(subscriber_name, channel_name) - return Response(status=status.HTTP_204_NO_CONTENT) diff --git a/channels/views/subscribers_test.py b/channels/views/subscribers_test.py deleted file mode 100644 index 1d85abc996..0000000000 --- a/channels/views/subscribers_test.py +++ /dev/null @@ -1,138 +0,0 @@ -"""Tests for views for REST APIs for channels""" -# pylint: disable=unused-argument -import pytest -from django.urls import reverse -from rest_framework import status - -from open_discussions.constants import NOT_AUTHENTICATED_ERROR_TYPE -from open_discussions.factories import UserFactory - -pytestmark = [pytest.mark.betamax, pytest.mark.usefixtures("mock_channel_exists")] - - -def test_list_subscribers(staff_client, staff_api, public_channel): - """ - The correct list of subscriber usernames is returned. - """ - users = UserFactory.create_batch(2) - for user in users: - staff_api.add_subscriber(user.username, public_channel.name) - url = reverse("subscriber-list", kwargs={"channel_name": public_channel.name}) - resp = staff_client.get(url) - assert resp.status_code == status.HTTP_200_OK - for user in users: - assert {"subscriber_name": user.username} in resp.json() - - -@pytest.mark.parametrize("attempts", [1, 2]) -def test_add_subscriber(staff_client, user, public_channel, attempts): - """ - Adds a subscriber to a channel as a staff user - """ - url = reverse("subscriber-list", kwargs={"channel_name": public_channel.name}) - for _ in range(attempts): - resp = staff_client.post( - url, data={"subscriber_name": user.username}, format="json" - ) - assert resp.status_code == status.HTTP_201_CREATED - assert resp.json() == {"subscriber_name": user.username} - - -def test_add_subscriber_mod(client, public_channel, staff_api, reddit_factories): - """ - Adds a subscriber to a channel as a moderator - """ - moderator = reddit_factories.user("new_mod_user") - new_subscriber = reddit_factories.user("new_sub_user") - staff_api.add_moderator(moderator.username, public_channel.name) - client.force_login(moderator) - url = reverse("subscriber-list", kwargs={"channel_name": public_channel.name}) - resp = client.post( - url, data={"subscriber_name": new_subscriber.username}, format="json" - ) - assert resp.status_code == status.HTTP_201_CREATED - assert resp.json() == {"subscriber_name": new_subscriber.username} - - -def test_add_subscriber_forbidden(staff_client, private_channel, user): - """ - If a user gets a 403 from praw we should return a 403 status - """ - url = reverse("subscriber-list", kwargs={"channel_name": private_channel.name}) - resp = staff_client.post( - url, data={"subscriber_name": user.username}, format="json" - ) - assert resp.status_code == status.HTTP_403_FORBIDDEN - - -def test_add_subscriber_anonymous(client, user, public_channel): - """ - Anonymous users can't add subscribers - """ - url = reverse("subscriber-list", kwargs={"channel_name": public_channel.name}) - resp = client.post(url, data={"subscriber_name": user.username}, format="json") - assert resp.status_code == status.HTTP_403_FORBIDDEN - assert resp.data["error_type"] == NOT_AUTHENTICATED_ERROR_TYPE - - -def test_detail_subscriber(user_client, private_channel_and_contributor): - """ - Detail of a subscriber in a channel - """ - channel, contributor = private_channel_and_contributor - url = reverse( - "subscriber-detail", - kwargs={"channel_name": channel.name, "subscriber_name": contributor.username}, - ) - resp = user_client.get(url) - assert resp.status_code == status.HTTP_200_OK - assert resp.json() == {"subscriber_name": contributor.username} - - -def test_detail_subscriber_missing(user_client, private_channel, user): - """ - A missing subscriber should generate a 404 - """ - url = reverse( - "subscriber-detail", - kwargs={"channel_name": private_channel.name, "subscriber_name": user.username}, - ) - resp = user_client.get(url) - assert resp.status_code == status.HTTP_404_NOT_FOUND - - -def test_detail_subscriber_anonymous(client, user, public_channel): - """Anonymous users can't see subscriber information""" - url = reverse( - "subscriber-detail", - kwargs={"channel_name": public_channel.name, "subscriber_name": user.username}, - ) - resp = client.get(url) - assert resp.status_code == status.HTTP_403_FORBIDDEN - assert resp.data["error_type"] == NOT_AUTHENTICATED_ERROR_TYPE - - -@pytest.mark.parametrize("attempts", [1, 2]) -def test_remove_subscriber(staff_client, staff_api, user, public_channel, attempts): - """ - Removes a subscriber from a channel - """ - staff_api.add_subscriber(user.username, public_channel.name) - url = reverse( - "subscriber-detail", - kwargs={"channel_name": public_channel.name, "subscriber_name": user.username}, - ) - for _ in range(attempts): - resp = staff_client.delete(url) - assert resp.status_code == status.HTTP_204_NO_CONTENT - - -def test_remove_subscriber_anonymous(client, user, public_channel): - """Anonymous users can't remove subscribers""" - url = reverse( - "subscriber-detail", - kwargs={"channel_name": public_channel.name, "subscriber_name": user.username}, - ) - resp = client.delete(url) - assert resp.status_code == status.HTTP_403_FORBIDDEN - assert resp.data["error_type"] == NOT_AUTHENTICATED_ERROR_TYPE diff --git a/channels/views/test_utils.py b/channels/views/test_utils.py deleted file mode 100644 index 1311764d63..0000000000 --- a/channels/views/test_utils.py +++ /dev/null @@ -1,146 +0,0 @@ -"""Utilities for tests""" -from urllib.parse import urlparse - -from channels.models import Article, Channel, Post -from channels.utils import get_reddit_slug, render_article_text -from profiles.utils import image_uri -from open_discussions.utils import markdown_to_plain_text - - -def default_channel_response_data(channel): - """ - Helper function. Returns a dict containing some of the data that we expect from the API given - a channel. - """ - channel_record = Channel.objects.get(name=channel.name) - return { - "title": channel.title, - "name": channel.name, - "description": channel.description, - "public_description": channel.public_description, - "channel_type": channel.channel_type, - "user_is_contributor": True, - "user_is_subscriber": True, - "user_is_moderator": False, - "link_type": channel.link_type, - "membership_is_managed": False, - "avatar": None, - "avatar_small": None, - "avatar_medium": None, - "banner": None, - "ga_tracking_id": None, - "allowed_post_types": [ - post_type - for post_type, enabled in channel_record.allowed_post_types - if enabled - ], - "widget_list_id": channel_record.widget_list_id, - "about": None, - "moderator_notifications": False, - } - - -def default_post_response_data(channel, post, user): - """ - Helper function. Returns a dict containing some of the data that we expect from the API given - a channel, post, and user. - """ - # For some reason, the default values are different for staff and non-staff users - if user.is_staff: - user_dependent_defaults = {"upvoted": False, "num_reports": 0} - else: - user_dependent_defaults = {"upvoted": True, "num_reports": None} - - post_obj = Post.objects.get(post_id=post.id) - article = Article.objects.filter(post=post_obj).first() - - text = post.text - - if not text and not post.url: - text = "" - - if article: - plain_text = render_article_text(article.content) - elif text: - plain_text = markdown_to_plain_text(text) - else: - plain_text = None - - return { - "url": post.url, - "url_domain": urlparse(post.url).hostname if post.url else None, - "cover_image": None, - "thumbnail": None, - "text": text, - "article_content": article.content if article is not None else None, - "plain_text": plain_text, - "post_type": post_obj.post_type, - "title": post.title, - "removed": False, - "deleted": False, - "subscribed": False, - "score": 1, - "author_id": user.username, - "id": post.id, - "slug": get_reddit_slug(post.permalink), - "created": post.created, - "num_comments": 0, - "channel_name": channel.name, - "channel_title": channel.title, - "channel_type": channel.channel_type, - "profile_image": image_uri(user.profile), - "author_name": user.profile.name, - "author_headline": user.profile.headline, - "edited": False, - "stickied": False, - **user_dependent_defaults, - } - - -def default_comment_response_data(post, comment, user): - """ - Helper function. Returns a dict containing some of the data that we expect from the API given - a post, comment, and user. - """ - # For some reason, the default values are different for staff and non-staff users - if user.is_staff: - user_dependent_defaults = {"num_reports": 0} - else: - user_dependent_defaults = {"num_reports": None} - - return { - "author_id": user.username, - "author_name": user.profile.name, - "author_headline": user.profile.headline, - "comment_type": "comment", - "created": comment.created, - "deleted": False, - "downvoted": False, - "edited": False, - "id": comment.id, - "parent_id": None, - "post_id": post.id, - "profile_image": image_uri(user.profile), - "removed": False, - "score": 1, - "subscribed": False, - "upvoted": False, - "text": comment.text, - **user_dependent_defaults, - } - - -def raise_error_on_submission_fetch(mocker): - """Raise an error if Submission._fetch() is called""" - return mocker.patch( - "praw.models.reddit.submission.Submission._fetch", - side_effect=Exception("_fetch() should not be called"), - ) - - -def raise_error_on_subreddit_fetch(mocker): - """Raise an error if Subreddit._fetch() is called""" - return mocker.patch( - "praw.models.reddit.subreddit.Subreddit._fetch", - side_effect=Exception("_fetch() should not be called"), - ) diff --git a/channels/views_test.py b/channels/views_test.py deleted file mode 100644 index a40eed8363..0000000000 --- a/channels/views_test.py +++ /dev/null @@ -1,20 +0,0 @@ -"""Tests for REST API views""" -# pylint: disable=unused-argument -import pytest - -from django.urls import reverse -from praw.exceptions import APIException - -pytestmark = pytest.mark.betamax - - -def test_api_exception(client, logged_in_profile, mocker): - """Make sure APIExceptions which aren't recognized become 500 errors""" - exception = APIException("bizarre", "A bizarre exception", "bizarre_field") - mocker.patch( - "channels.serializers.comments.CommentSerializer.update", side_effect=exception - ) - url = reverse("comment-detail", kwargs={"comment_id": "e8h"}) - with pytest.raises(APIException) as ex: - client.patch(url, type="json", data={"text": "updated text"}) - assert ex.value == exception diff --git a/channels_fields/factories.py b/channels_fields/factories.py index ffc3752c3d..f379d43e69 100644 --- a/channels_fields/factories.py +++ b/channels_fields/factories.py @@ -1,7 +1,7 @@ """Factories for channels_fields""" import factory +from factory.fuzzy import FuzzyText -from channels.factories.utils import channel_name from channels_fields.api import create_field_groups_and_roles from channels_fields.models import FieldChannel, FieldList, Subfield from course_catalog.constants import PrivacyLevel @@ -11,7 +11,7 @@ class FieldChannelFactory(factory.DjangoModelFactory): """Factory for a channels_fields.models.FieldChannel object""" - name = factory.LazyAttributeSequence(channel_name) + name = factory.fuzzy.FuzzyText(length=21) title = factory.Faker("text", max_nb_chars=50) public_description = factory.Faker("text", max_nb_chars=50) diff --git a/channels_fields/serializers.py b/channels_fields/serializers.py index 6f22aed7a2..e061e0b6ca 100644 --- a/channels_fields/serializers.py +++ b/channels_fields/serializers.py @@ -9,15 +9,12 @@ from rest_framework.exceptions import ValidationError from drf_spectacular.utils import extend_schema_field -from channels.serializers.channels import ChannelAppearanceMixin -from channels.serializers.validators import validate_email, validate_username from channels_fields.api import add_user_role, is_moderator from channels_fields.constants import FIELD_ROLE_MODERATORS from channels_fields.models import FieldChannel, FieldList, Subfield from course_catalog.constants import PrivacyLevel from course_catalog.models import UserList from course_catalog.serializers import UserListSerializer -from open_discussions.serializers import WriteableSerializerMethodField from profiles.models import Profile User = get_user_model() @@ -25,6 +22,64 @@ log = logging.getLogger(__name__) +class WriteableSerializerMethodField(serializers.SerializerMethodField): + """ + A SerializerMethodField which has been marked as not read_only so that submitted data passed validation. + """ + + def __init__(self, **kwargs): + super().__init__(**kwargs) + self.read_only = False + + def to_internal_value(self, data): + return data + + +class ChannelAppearanceMixin(serializers.Serializer): + """Serializer mixin for channel appearance""" + + avatar = WriteableSerializerMethodField() + avatar_small = serializers.SerializerMethodField() + avatar_medium = serializers.SerializerMethodField() + banner = WriteableSerializerMethodField() + is_moderator = serializers.SerializerMethodField() + + def get_is_moderator(self, instance) -> bool: + """Return true if user is a moderator for the channel""" + request = self.context.get("request") + if request and is_moderator(request.user, instance.name): + return True + return False + + def get_avatar(self, channel) -> str: + """Get the avatar image URL""" + return channel.avatar.url if channel.avatar else None + + def get_avatar_small(self, channel) -> str: + """Get the avatar image small URL""" + return channel.avatar_small.url if channel.avatar_small else None + + def get_avatar_medium(self, channel) -> str: + """Get the avatar image medium URL""" + return channel.avatar_medium.url if channel.avatar_medium else None + + def get_banner(self, channel) -> str: + """Get the banner image URL""" + return channel.banner.url if channel.banner else None + + def validate_avatar(self, value): + """Empty validation function, but this is required for WriteableSerializerMethodField""" + if not hasattr(value, "name"): + raise ValidationError("Expected avatar to be a file") + return {"avatar": value} + + def validate_banner(self, value): + """Empty validation function, but this is required for WriteableSerializerMethodField""" + if not hasattr(value, "name"): + raise ValidationError("Expected banner to be a file") + return {"banner": value} + + class SubfieldSerializer(serializers.ModelSerializer): """Serializer for Subfields""" @@ -47,14 +102,6 @@ class FieldChannelSerializer(ChannelAppearanceMixin, serializers.ModelSerializer lists = serializers.SerializerMethodField() featured_list = UserListSerializer(many=False, read_only=True) subfields = SubfieldSerializer(many=True, read_only=True) - is_moderator = serializers.SerializerMethodField() - - def get_is_moderator(self, instance) -> bool: - """Return true if user is a moderator for the channel""" - request = self.context.get("request") - if request and is_moderator(request.user, instance.name): - return True - return False @extend_schema_field(UserListSerializer(many=True)) def get_lists(self, instance): @@ -295,11 +342,19 @@ def get_full_name(self, instance) -> str: def validate_moderator_name(self, value): """Validate moderator name""" - return {"moderator_name": validate_username(value)} + if not isinstance(value, str): + raise ValidationError("username must be a string") + if not User.objects.filter(username=value).exists(): + raise ValidationError("username is not a valid user") + return {"moderator_name": value} def validate_email(self, value): """Validate email""" - return {"email": validate_email(value)} + if not isinstance(value, str): + raise ValidationError("email must be a string") + if not User.objects.filter(email__iexact=value).exists(): + raise ValidationError("email does not exist") + return {"email": value} def create(self, validated_data): field_name = self.context["view"].kwargs["field_name"] diff --git a/channels_fields/signals.py b/channels_fields/signals.py index bc29a11c8a..b82a6e896c 100644 --- a/channels_fields/signals.py +++ b/channels_fields/signals.py @@ -2,14 +2,15 @@ from django.db.models.signals import post_save from django.dispatch import receiver from guardian.shortcuts import assign_perm - -from channels.constants import WIDGET_LIST_CHANGE_PERM from channels_fields.api import create_field_groups_and_roles from channels_fields.constants import FIELD_ROLE_MODERATORS from channels_fields.models import FieldChannel from widgets.models import WidgetList +WIDGET_LIST_CHANGE_PERM = "widgets.change_widgetlist" + + @receiver( post_save, sender=FieldChannel, diff --git a/conftest.py b/conftest.py index f34181ec32..6c1c392717 100644 --- a/conftest.py +++ b/conftest.py @@ -6,7 +6,6 @@ from fixtures.betamax import * from fixtures.common import * from fixtures.opensearch import * -from fixtures.reddit import * from fixtures.users import * from open_discussions.exceptions import DoNotUseRequestException diff --git a/course_catalog/serializers.py b/course_catalog/serializers.py index e0747a434a..e039bf6d2e 100644 --- a/course_catalog/serializers.py +++ b/course_catalog/serializers.py @@ -38,7 +38,6 @@ UserListItem, Video, ) -from moira_lists.moira_api import is_public_list_editor from open_discussions.serializers import WriteableSerializerMethodField from open_discussions.settings import DRF_NESTED_PARENT_LOOKUP_PREFIX from search.search_index_helpers import ( @@ -715,9 +714,8 @@ def validate_privacy_level(self, privacy_level): """ request = self.context.get("request") if request and hasattr(request, "user") and isinstance(request.user, User): - if ( - privacy_level == PrivacyLevel.public.value - and not is_public_list_editor(request.user) + if privacy_level == PrivacyLevel.public.value and not ( + request.user.is_superuser or request.user.is_staff ): raise ValidationError("Invalid permissions for public lists") return privacy_level diff --git a/course_catalog/views_userlist_test.py b/course_catalog/views_userlist_test.py index 3b9ce37570..cba3a04ef1 100644 --- a/course_catalog/views_userlist_test.py +++ b/course_catalog/views_userlist_test.py @@ -12,7 +12,6 @@ UserListItemFactory, ) from course_catalog.models import UserList -from moira_lists.factories import MoiraListFactory from open_discussions.factories import UserFactory # pylint:disable=redefined-outer-name, use-maxsplit-arg @@ -94,7 +93,6 @@ def test_user_list_endpoint_get_all_public_lists(user_client): @pytest.mark.parametrize("is_public", [True, False]) @pytest.mark.parametrize("is_staff", [True, False]) @pytest.mark.parametrize("is_super", [True, False]) -@pytest.mark.parametrize("on_moira", [True, False]) @pytest.mark.parametrize("is_anonymous", [True, False]) def test_user_list_endpoint_create( # pylint: disable=too-many-arguments client, @@ -103,15 +101,9 @@ def test_user_list_endpoint_create( # pylint: disable=too-many-arguments is_public, is_staff, is_super, - on_moira, - settings, ): """Test userlist endpoint for creating a UserList""" - staff_lists = ["test-list1", "test-list2"] - settings.STAFF_MOIRA_LISTS = staff_lists user = UserFactory.create(is_staff=is_staff, is_superuser=is_super) - if on_moira: - user.moira_lists.set([MoiraListFactory(name=staff_lists[0])]) if not is_anonymous: client.force_login(user) @@ -123,7 +115,7 @@ def test_user_list_endpoint_create( # pylint: disable=too-many-arguments "list_type": UserListType.LEARNING_PATH.value, } - has_permission = is_staff or is_super or on_moira or not is_public + has_permission = is_staff or is_super or not is_public resp = client.post(reverse("userlists-list"), data=data, format="json") assert resp.status_code == (403 if is_anonymous else 201 if has_permission else 400) if resp.status_code == 201: diff --git a/discussions/factories.py b/discussions/factories.py index df2067b5ef..0b9cc02095 100644 --- a/discussions/factories.py +++ b/discussions/factories.py @@ -1,9 +1,10 @@ """Discussions factories""" import factory from factory.django import DjangoModelFactory -from factory.fuzzy import FuzzyChoice +from factory.fuzzy import FuzzyChoice, FuzzyText +import faker +from open_discussions.utils import now_in_utc -from channels.factories.utils import channel_name from discussions import api from discussions.constants import ChannelTypes from discussions.models import Channel @@ -12,7 +13,7 @@ class ChannelFactory(DjangoModelFactory): """Factory for a channels.models.Channel object""" - name = factory.LazyAttributeSequence(channel_name) + name = factory.fuzzy.FuzzyText(length=21) title = factory.Faker("text", max_nb_chars=50) channel_type = FuzzyChoice(ChannelTypes.values()) about = factory.List( diff --git a/discussions/models.py b/discussions/models.py index 1145449a2c..781c8aae3e 100644 --- a/discussions/models.py +++ b/discussions/models.py @@ -6,14 +6,16 @@ from django.db import models from imagekit.models import ImageSpecField, ProcessedImageField from imagekit.processors import ResizeToFit - -from channels.utils import AVATAR_MEDIUM_MAX_DIMENSION, AVATAR_SMALL_MAX_DIMENSION from discussions.constants import ChannelTypes, PostTypes from open_discussions.models import NoDefaultTimestampedModel, TimestampedModelQuerySet from profiles.utils import avatar_uri, banner_uri from widgets.models import WidgetList +AVATAR_SMALL_MAX_DIMENSION = 22 +AVATAR_MEDIUM_MAX_DIMENSION = 90 + + class ChannelQuerySet(TimestampedModelQuerySet): """Custom queryset for user""" diff --git a/docker-compose-notebook.yml b/docker-compose-notebook.yml index d407e6906a..92d21e7652 100644 --- a/docker-compose-notebook.yml +++ b/docker-compose-notebook.yml @@ -8,10 +8,6 @@ x-environment: DATABASE_URL: postgres://postgres@db:5432/postgres MITOPEN_SECURE_SSL_REDIRECT: 'False' MITOPEN_DB_DISABLE_SSL: 'True' - MITOPEN_REDDIT_URL: https://reddit.local - MITOPEN_REDDIT_VALIDATE_SSL: 'False' - MITOPEN_REDDIT_CLIENT_ID: od_client_id - MITOPEN_REDDIT_SECRET: od_client_secret MITOPEN_FEATURES_DEFAULT: 'True' OPENSEARCH_URL: elastic:9200 CELERY_TASK_ALWAYS_EAGER: 'False' diff --git a/docker-compose.yml b/docker-compose.yml index fc8e81b16e..fd209ccb15 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,10 +8,6 @@ x-environment: DATABASE_URL: postgres://postgres:postgres@db:5432/postgres MITOPEN_SECURE_SSL_REDIRECT: 'False' MITOPEN_DB_DISABLE_SSL: 'True' - MITOPEN_REDDIT_URL: https://reddit.local - MITOPEN_REDDIT_VALIDATE_SSL: 'False' - MITOPEN_REDDIT_CLIENT_ID: od_client_id - MITOPEN_REDDIT_SECRET: od_client_secret MITOPEN_FEATURES_DEFAULT: 'True' OPENSEARCH_URL: opensearch-node-mitopen:9200 CELERY_TASK_ALWAYS_EAGER: 'False' @@ -22,10 +18,6 @@ x-environment: TIKA_SERVER_ENDPOINT: ${TIKA_SERVER_ENDPOINT:-http://tika:9998/} TIKA_CLIENT_ONLY: 'True' AKISMET_IS_TESTING: 'True' -x-extra-hosts: - &default-extra-hosts - # see reddit.local in /etc/hosts - - "reddit.local:192.168.56.111" services: db: @@ -88,7 +80,6 @@ services: - opensearch-node-mitopen - redis - watch - extra_hosts: *default-extra-hosts watch: image: node:16.20.1 @@ -122,8 +113,6 @@ services: - db - opensearch-node-mitopen - redis - extra_hosts: *default-extra-hosts - tika: image: apache/tika:1.28 ports: diff --git a/docs/architecture/email_notification.md b/docs/architecture/email_notification.md deleted file mode 100644 index 5da83a8ca5..0000000000 --- a/docs/architecture/email_notification.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -parent: Architecture ---- -## Email Notifications - -### Summary - -- Be able to send frontpage email notifications on a daily or weekly basis - - Frequency is user-configurable - - If we don't have any new content since the last send, defer until next interval - - -- Be able to notify users on specific events, controlled by a subscription to the entity - - Examples: - - Comment replies to posts - - Comment replies to other comments - - Capability to notify at the following frequencies: - - Near term we want to support: - - Never - - Immediate - - Long term we may want to support: - - Daily (digest/aggregation of new events) - - Weekly (digest/aggregation of new events) - - -### Architecture - -#### State Machine - -Email Notifications proceed through the following state machine: - -- `PENDING` - notification is ready to send -- `SENDING` - notification is in the process of being sent (rendered and delivered to ESP) -- `CANCELED` - notification was canceled -- `SENT` - notification was delivered to ESP\* - -**\* NOTE:** to ensure we don't send an email multiple times we follow a `At Most Once` sending strategy where we mark the record as sent first, then attempt to send the email. This can cause some emails to be dropped if the ESP errors. - -#### Frontpage Emails: - - - Tasks are triggered on a daily and weekly basis. Each of these tasks triggers the following task flow: - - For all users with notifications enabled, fan out a set of batch tasks to determine if the user has posts in their feed since the last notification. - - These tasks are idempotent and will be retried if there's any failure - - If the user has posts in their feed, create a `PENDING` `EmailNotification` record for that user - -#### Comment Notifications - - - When a comment occurs, fire a celery task to check subscriptions - - Walk all subscriptions to that the posts and/or a comment (if the new comment was a reply to another comment) and for each one create a pending `EmailNotification` record - - If their `NotificationSettings` record for that type has `frequency_type` of `never`, then we don't create this record. This has the effect of muting subscriptions temporarily without necessitating the removal of the subscriptions or effecting a massive catch-up of notifications if they turn it back on - - -#### Notification Email Sending - -For both notification types, an asynchronous task set to run every minute via `crontab` will trigger another set of batch tasks in the following manner: - - Marks the notifications as being in the `SENDING` state, trigers batch tasks for these to send the email - - Takes a lock on the `EmailNotification` record - - Continues if and only if the record is still pending - - Re-checks that there is still data to send for this record (race condition coverage) - - Marks the `EmailNotification` as sent - - Sends the email to the ESP - - -#### Configuration - -We have a number of configuration options available to control our sending: - -| Environment Variable | Description | Examples | -|---|---| -| `MITOPEN_NOTIFICATION_ATTEMPT_RATE_LIMIT` | The per-worker rate limit at which to generate pending `EmailNotification` frontpage records | `100/s`, `2/h`, etc
[See Celery Docs](https://docs.celeryproject.org/en/latest/reference/celery.app.task.html#celery.app.task.Task.rate_limit)| -| `MITOPEN_NOTIFICATION_ATTEMPT_CHUNK_SIZE` | The size of each attempt batch |`100`, `150`, etc| -| `MITOPEN_NOTIFICATION_SEND_CHUNK_SIZE` | The size of each sending batch |`100`, `150`, etc| diff --git a/docs/architecture/spam_mitigation.md b/docs/architecture/spam_mitigation.md deleted file mode 100644 index 54b46a82fe..0000000000 --- a/docs/architecture/spam_mitigation.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -parent: Architecture ---- - -# Spam Mitigation -{: .no_toc } - -## Table of Contents -{: .no_toc .text-delta } - -- Table of Contents -{:toc} - - -### Summary - -We have a number of channels that are public and allowing non-MIT users to post content is a feature we want to continue to offer. This comes with the problem of bad actors trying to post spam content on our site. Spammers are typically trying to link into their own sites and they often link back to ours as well. - -To combat this, we should approach this with a [defense in depth](https://en.wikipedia.org/wiki/Defense_in_depth_(computing)) strategy, depending on no single component to stop everything. - -### Application-wide - - -#### Blocking IP addresses - -This strategy makes it easier to block spammers based on where their requests are originating. Configuration is represented by the data model `authentication.models.BlockedIPRange`, which you'd typically configure in `django-admin`. This supports the blocking of ranges of IPs, a situation we can encounter if a spammer is coming in over a proxy server hosted on a cloud service. Cloud services enable the spammer to get a new IP if they burn the one they're currently using, which means a lot of jumping around for us trying to block them. Instead, we would block on a range once we identify the cloud provider, which typically retain a block of IP addresses for their services. - -We use [`django-ipware`](https://github.com/un33k/django-ipware) to determine the IP address of the incoming request, this library handles a lot of the networking and request-level nuances around determining what header the IP address is pulled from. It's also highly configurable should our needs/deployment situation change. - -We allow read-only access for blocked IP and block any mutable requests (e.g. `POST`, `PUT`, etc). - - -### Preventing spammer account creation - -We've taken some steps to mitigate the spammer's ability to create accounts. - -#### Blocking email domains - -This mostly has bearing to spammers trying to sign up with emails under a personal domain, as we can't categorically block a domain like `@gmail.com`. Configuration is represented by the data model `authentication.models.BlockedEmailRegex`, which you'd typically configure in `django-admin`. - - -### Preventing spam from being posted - -#### Private or protected channels - -Private and protected channels have the protection that only contributors can create posts. In protected channels anyone can comment though as the posts are otherwise public. This is a quick way to lock down a channel if the current mitigation measures for that channel aren't adequate. - - -#### Akismet spam checking - -When a user creates or updates a comment or a post the first line of defense is checking the contents against Akismet, the spam checking service largely used by Wordpress. This allows us to avoid having to write our own service to classify spam and lean on the knowledge Akismet has around what spam looks like. - -Akismet results are a binary `True` / `False` on whether the content was spam. This opaqueness is a feature of the service so that spammers aren't able to work around it. - -Akismet spam results are stored in the `channels.models.SpamCheckResult` model. - -##### False Positives - -Akismet can be a double-edged sword, it will occasionally misclassify a post or comment as spam. Since Akismet is a black box (and should be), we should focus our efforts on how to make handling false positives as user-friendly as possible. - - -###### Excluding moderators from spam checking - -We've [implemented a fix](https://github.com/mitodl/open-discussions/pull/3079) to exclude channel moderators from spam checks. At this time moderators are the most active content posters and they are almost always MIT staff, so we don't expect spam from these users and avoiding the chance of false positives makes things easier all around. - -###### Excluding MIT users from spam checking - -We [implemented a fix](https://github.com/mitodl/open-discussions/pull/3096) to exclude MIT users (by default users with a `@mit.edu` email address) from being spam checked due to the trust factor with this group of users not to post spam. This can be enabled by the feature flag `FEATURE_SPAM_EXEMPTIONS` and is configurable by the environment variable `SPAM_EMAIL_EXEMPTIONS`. - - -#### User reports - -We also gather user reports of offending content to cover those posts that slip through the spam checks. These posts show up in a monderator-only UI that gives them the ability to review the post/comment and remove it if necessary. - - -### Reducing spam value - -We're also taken steps to mitigating spam value. The primary one of which was to no longer allow removed posts to be viewed. Previously these posts were available if you had a direct link to them, which for spammers meant that their content was still hosted on our site. We've since adjusted these pages to return a server 404 for anonymous and non-moderator users (to continue to support moderators being able to re-approve the post if desired). It also helps mitigates content from showing up on search engine results, which means spammers don't get any search engine ranking boosts either. - -### Future plans - -- Report miscategorizations to Akismet, this should help Akismet learn about what content we consider spam or not -- Moderator UI to be able to see posts that were classified as spam so they have an opportunity to be more proactive in approving them. -- Per-channel disabling of spam checks - - In practice, channel owners would really only want to turn this on if the channel is private and there's a level of trust with the contributors -- Giving moderators the ability to either flag an account as a spammer or disable the account altogether - - This is a fair amount of power to give away, so having the account flagged for review might be a good middle ground -- Users who frequently post spam get their accounts disabled - - This runs the risks of false-positives causing someone who isn't a bad actor having their account disabled diff --git a/docs/configuration.md b/docs/configuration.md deleted file mode 100644 index cd2f313567..0000000000 --- a/docs/configuration.md +++ /dev/null @@ -1,12 +0,0 @@ -Configuration ---- - -Required settings are defined in [app.json](../blob/master/app.json). This project requires a functional Reddit backend running from the source code at [mitodl/reddit](https://github.com/mitodl/reddit). - -There are a few nuances of how this configuration works with other projects - -|Setting|Notes| -|---|---| -|`MITOPEN_COOKIE_NAME`|This value should be unique per environment and agree across all integrating applications in that environment. If neither of those criteria are met, `open-discussions` will not find the correct cookie and treat the user as unauthenticated.| -|`MITOPEN_JWT_SECRET`|This value should be unique per environment and agree across all integrating applications in that environment. If these values don't match, `open-discussions` will reject JWT tokens from those applications and treat the user as unauthenticated.| -|`MITOPEN_REDDIT_VALIDATE_SSL`|This should only be set to `False` for local environments as it means communications with the Reddit backend are insecure.| diff --git a/docs/operations.md b/docs/operations.md deleted file mode 100644 index fa5381ce12..0000000000 --- a/docs/operations.md +++ /dev/null @@ -1,12 +0,0 @@ -Operations ---- - -## Common Operations - -#### Resetting Data - - If you clear data on the Reddit backend: - - You must also clear all `django.contrib.auth.models.User` and `profiles.models.Profile` records on `open-discussions`. - - You must also clear all integrating applications of any data that references objects in `open-discussions` or the Reddit backend: - - **MicroMasters:** - - Delete all `discussions.models.DiscussionUser` records - - Delete all `discussions.models.Channel` records diff --git a/docs/reddit-migration/considerations/index.md b/docs/reddit-migration/considerations/index.md deleted file mode 100644 index b3dc91dc98..0000000000 --- a/docs/reddit-migration/considerations/index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: default -parent: Reddit Migration -title: Considerations -nav_order: 2 -has_children: true ---- diff --git a/docs/reddit-migration/considerations/reddit-ids.md b/docs/reddit-migration/considerations/reddit-ids.md deleted file mode 100644 index 12973cf906..0000000000 --- a/docs/reddit-migration/considerations/reddit-ids.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: default -parent: Considerations -grand_parent: Reddit Migration -nav_order: 1 ---- -### Reddit Ids - -Ids have to get handled carefully because we're moving the source of truth of these from Reddit to postgres, but it is a gradual switchover that will be paced out over several releases so we can't just put the site offline while we do this. - -Reddit ids are base36 encoded integers, so we can decode those to a value that can go into a integer column. In fact we are already doing this with the `Base36IntegerField` column type so we already have the decoded values. - -### Migration Plan - -- Reddit will be the source of truth of id values up until we deploy the code that switches the source of truth to postgres -- We need a version of `Base36IntegerField` that subclasses `BigAutoField` instead (might as well switch to a `BIGINT` while we're in here) and use that for `id` -on models. That allows transparent usage of base-36 and base-10 integers. -- Under the hood, `BigAutoField` is a `BIGSERIAL` in postgres, which is syntactic sugar for creating a column with a sequence as the default value. It doesn't _require_ that inserted columns use that default, so we can define this as such from the beginning. -- When we deploy the code changes that generate the ids in postgres from the sequence, we need to advance that sequence since it will still be set to `1` as the next value. We should include a healthy margin between the current highest id and the new sequence value. - - This should be decided when the code is written to accommodate current application traffic - - See https://www.postgresql.org/docs/9.1/sql-altersequence.html diff --git a/docs/reddit-migration/considerations/sorting.md b/docs/reddit-migration/considerations/sorting.md deleted file mode 100644 index 8729d6c430..0000000000 --- a/docs/reddit-migration/considerations/sorting.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -layout: default -parent: Considerations -grand_parent: Reddit Migration -nav_order: 1 ---- -### Sorting - -There are several areas where reddit sorts objects coming back from their APIs in a way that isn't necessarily trivial via standard django ORM methods. This list is meant to be comprehensive so we know the problem space: - -- `Hot` (named "Active" in our UI) - - A logarithmic sort, where as an item ages, it requires an order of magnitude more `upvotes - downvotes` to be sorted above a newer item, the interval for the order of magnitude increase is 12.5 hours - - Implementation: https://github.com/mitodl/reddit/blob/stable/r2/r2/lib/db/_sorts.pyx#L47 -- `Confidence` (named "Best" in our UI) - - Items are sorted with a [weighted algorithm](https://www.evanmiller.org/how-not-to-sort-by-average-rating.html) - - See the corresponding code in the reddit source: - - https://github.com/mitodl/reddit/blob/stable/r2/r2/lib/db/_sorts.pyx#L70 - - https://github.com/mitodl/reddit/blob/stable/install/setup_postgres.sh#L42 -- `New` - posts are sorted in reverse chronological order -- `old` - posts are sorted in chronological order - - -#### Posts - -Posts are sorted in two places: channels and the frontpage. These both support seemingly similar sorts but the implementations actually differ. - -##### Posts in Channels - -Post sorting in channels is the more straightforward version of post sorting, there are 3 kinds we use: `Hot`, `New`, `Top` - -##### Posts in Frontpage - - - `Hot` - posts are sorted using a normalized version of the hot algorithm. This is done to ensure that content from less active channels isn't overshadowed by content from more popular channels. - - See the corresponding code in the reddit source: - - https://github.com/mitodl/reddit/blob/stable/r2/r2/lib/normalized_hot.py#L38-L79 - - `New` and `Top` - same method as channels - - #### Comments - - Comments only have a few sorting options we're currently using: `New`, `Old`, and `Confidence` diff --git a/docs/reddit-migration/index.md b/docs/reddit-migration/index.md deleted file mode 100644 index 329fc1b69e..0000000000 --- a/docs/reddit-migration/index.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: default -title: Reddit Migration -nav_order: 12 -has_children: true ---- -# Reddit Migration - -## Major Considerations - -- [Reddit Ids](considerations/reddit-ids.md) -- [Sorting](considerations/sorting.md) - -## Strategy - -We should tackle the migration in the following order: - -- [Establish a New Schema](strategy/schema.md) - this needs to be in place before we can start any of the data migration work -- [Migrate Reads and Writes](strategy/reads-and-writes.md) - some of the work in here can be broken into subtasks and/or parallelized -- [Cleanup](strategy/cleanup.md) - not urgent, but should be done in a reasonable timeframe diff --git a/docs/reddit-migration/strategy/cleanup.md b/docs/reddit-migration/strategy/cleanup.md deleted file mode 100644 index dd7101c6df..0000000000 --- a/docs/reddit-migration/strategy/cleanup.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -layout: default -parent: Strategy -grand_parent: Reddit Migration -nav_order: 3 ---- -# Cleanup - -These steps are not urgent, but should be done in areasonable timeframe. - -### Drop old db tables / data models - -- Remove the old data models in the `channels` app -- Ensure the related tables/indexes are dropped - - -### Decommission reddit - -At this point the reddit backend itself can be decommissioned. - - -### Cleanup documentation and configurations - -We should remove anything non-functional related to the reddit integration: - -- Documentation, readme, etc -- Configuration: - - `mitodl/saltops` - - Heroku - - Docker environments diff --git a/docs/reddit-migration/strategy/index.md b/docs/reddit-migration/strategy/index.md deleted file mode 100644 index 9f68364bf9..0000000000 --- a/docs/reddit-migration/strategy/index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -layout: default -parent: Reddit Migration -title: Strategy -nav_order: 2 -has_children: true ---- diff --git a/docs/reddit-migration/strategy/reads-and-writes.md b/docs/reddit-migration/strategy/reads-and-writes.md deleted file mode 100644 index ef121b24ba..0000000000 --- a/docs/reddit-migration/strategy/reads-and-writes.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -layout: default -parent: Strategy -grand_parent: Reddit Migration -nav_order: 2 ---- -# Migrate Reads and Writes - -We need to gracefully migrate our APIs over to the new schema. We want to avoid or at the very least minimize any sort of downtime. - -In general, migrating reads and writes can happen in a siloed manner, in order of highest to lowest level in the relationship hierarchies: - -- Channels -- Posts -- Comments -- etc... - -### Add writes to the new tables - -This should be fairly straightforward, we should add another write to where we are currently writing (calling APIs) to reddit. Most/all of these should be in `channels/api.py` and we should include the writes in any of the existing atomic transactions in that file. There are some cases where we haven't added transactions because they provide no benefit. Those tend to be when we're creating a piece of data (post or comment) and the source of truth is reddit. In those cases a transaction rollback is of no value because we can't rollback a reddit api call. - -### Backpopulate historical data into new tables - -This can be done with backpopulate commands and celery tasks. We've done this plenty of times so it shouldn't be too difficult. - -### Verify new data - -We want some kind of verification of the new data vs the old data. Probably a command that runs through all of the data and verifies records exist and are accurate. - -### Move reads to the new tables - -- Move APIs, celery tasks, and any other reads to the new data models. After this step there should be no references in application code to the old models. -- Migrate any BI queries to the new tables - - If we silo our changes on object type, this might have to wait until everything is moved over - -### Backup reddit data - -It can't hurt and is probably prudent to take a backup of our reddit data prior to cutting off writes. - -### Remove writes from the old schema - -This means removing writes to the models defined in the `channels` app and the writes to reddit itself. After this step we should see no traffic to reddit and no further writes to the tables. This can be tested by temporarily stopping the reddit API instances and verifying there are no errors when exercising the app. diff --git a/docs/reddit-migration/strategy/schema.md b/docs/reddit-migration/strategy/schema.md deleted file mode 100644 index 1707e3b014..0000000000 --- a/docs/reddit-migration/strategy/schema.md +++ /dev/null @@ -1,217 +0,0 @@ ---- -layout: default -parent: Strategy -grand_parent: Reddit Migration -nav_order: 1 ---- -# Establish a New Schema - -We want to establish a new schema so that we have a clean slate to work with and because there will be some incompatible changes with the current schema. An example of this is the `Post.post_id` column is a reference to the reddit id, but in the future needs to be the primary key of the row (see [Reddit Ids](reddit-ids.md)). We can't do that in-place with the current table. -### Channels - -Channels should have the fields carried over with the following adjustments: - - - `channel_id` -> `id` - -### Posts - -Posts should have the fields carried over with the following adjustments: - - - `post_id` -> `id` - - `reports_ignored = BooleanField(default=False)` - - Flag to indicate whether we're ignoring subsequent reports of the post - - See "Moderation" for more details - - `text` / `preview_text` / `plain_text` - - We currently have several representations of textual post content, the 3 fields/properties listed above: - - `text` is the markdown text for text posts - - `preview_text` is precomputed plain text representation of link posts, sourced from and Embedly API request for that link - `plain_text` is a `@property`, not a db column, but its logic is as follows: - - If the post is an article, render the article to plain text - - If the post is a text post, render the markdown to plain text - - Otherwise use `preview_text` - - See also: https://github.com/mitodl/open-discussions/blob/9a96f09ab4c8c617da3ba8842adb9c419c5d321d/docs/rfcs/0002-indexing-embedly-link-preview.md#4-related-but-separate-issue-getting-rid-of-either-the-plain_text-or-text-field-in-es-documents - - We should to normalize `preview_text` / `plain_text` down to a single stored field so we're not recomputing it every time a read occurs. - - We still need to keep the `text` field and the `article` relation - - -### Comments - -Comments should have the fields carried over with the following adjustments: - - - `channel_id` -> `id` - - `reports_ignored = BooleanField(default=False)` - - Flag to indicate whether we're ignoring subsequent reports of the comment - - See "Moderation" for more details - -#### Comment Tree - -Prior art: - - - SQL Antipatterns ("Naive Trees"):http://www.r-5.org/files/books/computers/languages/sql/style/Bill_Karwin-SQL_Antipatterns-EN.pdf - - Models for Hierarchical Data: https://www.slideshare.net/billkarwin/models-for-hierarchical-data - - Django treebeard: https://django-treebeard.readthedocs.io/en/latest/ - -Reddit stores comment trees in Cassandra, which is overkill for our current use cases. That said, we need to be able to migrate the comments in such a manner that we achieve the following: - -- Maintain current API result structures - - Specifically, we need to support some form of reddit's "more comments" pagination. This **does not** need to partition the comments exactly as reddit would, the interface just needs to be compatible with how the frontend traverses it. -- Support currently used sorting methods (best, old, new) -- Support rendering an arbitrary subtree of the comments for the comment detail view - -From the Prior Art listed above, Materialized Paths are probably our best bet and we're already familiar to some degree with them because they're what `wagtail` uses under the hood for page hierarchies. - -The big thing here is that in order to support the sorts we need one table/model for *each type of sort*. That precludes using a single table for everything but it simplifies reads because we can pick our sorting data model and then `prefetch_related` on the `Comment` table so that code can work generically over similarly structured tables. This approach means these sorting hierarchy tables end up being a sorted lookup table for extracting a portion of the comment tree. - -An example of what the data model would look like (working branch [here](https://github.com/mitodl/open-discussions/tree/nl/reddit_schema_migration)): - -```python -from django.db import models -from treebeard.mp_tree import MP_Node - -class Post(models.Model): - pass - - -class Comment(models.Model): - post = models.ForeignKey(Post, on_delete=models.CASCADE) - - -class CommentTreeNode(MP_Node): - # specialize the alphabet for postgres - # see: https://django-treebeard.readthedocs.io/en/latest/mp_tree.html#treebeard.mp_tree.MP_Node.alphabet - alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" - - # a post can have many comments, but a reverse lookup into this tree isn't pragmatic - post = models.ForeignKey( - Post, on_delete=models.CASCADE, related_name="+" - ) - - class Meta: - abstract = True - - -class NewCommentTreeNode(CommentTreeNode): - comment = models.OneToOneField( - Comment, - on_delete=models.CASCADE, - unique=True, - null=True, - related_name="new_comment_node", - ) - - created = models.DateTimeField() - - node_order_by = ["-created"] - - -class OldCommentTreeNode(CommentTreeNode): - comment = models.OneToOneField( - Comment, - on_delete=models.CASCADE, - unique=True, - null=True, - related_name="old_comment_node", - ) - - created = models.DateTimeField() - - node_order_by = ["created"] - - -class BestCommentTreeNode(CommentTreeNode): - comment = models.OneToOneField( - Comment, - on_delete=models.CASCADE, - unique=True, - null=True, - related_name="best_comment_node", - ) - - score = models.IntegerField() - - node_order_by = ["-score"] -``` - -When a sorted column changes, it requires a move of the node. For the Old/New sorts those will never change. For the Best sort, it will change whenever a vote is made or updated. Fortunately, Materialized Paths are pretty efficient at this. An example with the above data models is: - -```python -from django.db import transaction - -post = Post.objects.create() -comment1 = Comment.objects.create(post=post) -comment2 = Comment.objects.create(post=post) -comment3 = Comment.objects.create(post=post) - -@transaction.atomic -def rescore(node, new_score): - node.score = score - node.save() - node.move(node) - -# comment trees start with a root node w/ `comment=None` -# this would get created when the post is created -root = BestCommentTreeNode.add_root(post=post, score=0) -# top level comment -c1n = root.add_child(comment=comment1, score=1) -# replies to comment1 -c2n = c1n.add_child(comment=comment1, score=4) -c3n = c1n.add_child(comment=comment1, score=5) - -# c3n should list above c2n -print(root.dump_bulk()) - -rescore(c2n, 8) -# c2n is now sorted above c3n and has the updated score -print(root.dump_bulk()) -``` - -This results 4 queries, two `SELECT ... LIMIT 1` and two `UPDATE ...` queries: - -```sql -UPDATE "discussions_bestcommenttreenode" SET "path" = '000100010002', "depth" = 3, "numchild" = 0, "post_id" = 2, "comment_id" = 3, "score" = 8 WHERE "discussions_bestcommenttreenode"."id" = 5; -SELECT "discussions_bestcommenttreenode"."id", "discussions_bestcommenttreenode"."path", "discussions_bestcommenttreenode"."depth", "discussions_bestcommenttreenode"."numchild", "discussions_bestcommenttreenode"."post_id", "discussions_bestcommenttreenode"."comment_id", "discussions_bestcommenttreenode"."score" FROM "discussions_bestcommenttreenode" WHERE ("discussions_bestcommenttreenode"."depth" = 3 AND "discussions_bestcommenttreenode"."path" BETWEEN '000100010000' AND '00010001zzzz' AND "discussions_bestcommenttreenode"."score" > 8) ORDER BY "discussions_bestcommenttreenode"."path" ASC LIMIT 1; -SELECT "discussions_bestcommenttreenode"."id", "discussions_bestcommenttreenode"."path", "discussions_bestcommenttreenode"."depth", "discussions_bestcommenttreenode"."numchild", "discussions_bestcommenttreenode"."post_id", "discussions_bestcommenttreenode"."comment_id", "discussions_bestcommenttreenode"."score" FROM "discussions_bestcommenttreenode" WHERE ("discussions_bestcommenttreenode"."depth" = 3 AND "discussions_bestcommenttreenode"."path" BETWEEN '000100010000' AND '00010001zzzz') ORDER BY "discussions_bestcommenttreenode"."path" DESC LIMIT 1; -UPDATE "discussions_bestcommenttreenode" SET path='000100010005'||SUBSTR(path, 13) WHERE path LIKE '000100010002%'; -``` - -### Votes - -We should have a table for `PostVote` and `CommentVote`, these should have the following columns: - -- `comment = ForeignKey(Comment)` / `post = ForeignKey(Post)` - item that was voted on -- `voter = ForeignKey(User)` - the user who made the vote -- `direction = SmallIntegerField()` - we store either a `1` or `-1` to indicate which direction the user voted. In practice, `PostVote` will always have a `direction == 1`, but it's useful to carve this out now in case that changes at a later date. It's also useful to be able to run a `SUM()` over that column. - -Votes are probably the trickiest moving piece in this reddit migration because it's impractical to get the data directly from the reddit backend for a backpopulate. This probably means we're going to need either some kind of ETL process. This is only a 1-time event, so an approach as basic as an export/import of a CSV would be adequate. - - -### Reported Content - -We need a data model for reported content (e.g. report post/comment to a moderator). - -We need to support the following functionality: - -- User can submit a report for a given post or comment - - One record per post or comment is sufficient and likely desired since the moderator is only going to act on a post or comment once - additional records would superfluous. - - We don't need to store the reason the user enters for the report -- Moderators can act on the report, the available actions are: - - Approve: report is marked as resolved, post/comment remains visible - - Ignore: report is marked as resolved, post/comment remains visible, subsequent reports are suppressed - - Remove: report is marked as resolved, post/comment is removed and no longer visible, subsequent reports are suppressed - -We don't need much data here, the following is sufficient: - -- `GenericForeignKey` to `Post` / `Comment` - - we should only create a new report if there is either no existing report or if an existing report is not resolved - - We can accomplish this with a partial unique index combined with a `get_or_create` with `resolved_on=None`: - ```python - constraints = [UniqueConstraint( - fields=["content_type", "content_id"], - condition=Q(resolved_on=None) - )] - ``` -- `resolved_on = DateTimeField(null=True)` - - when a report is resolved, this is set the the current datetime, nullable datetimes have useful properties that we might want to take advantage of down the road - - Additionally, if the action is to remove the item, that side effect occurs at this time as well -- `resolved_by = ForeignKey(User)` - probably useful to know who resolved it -- No need to pull in historial reports from reddit diff --git a/docs/rfcs/0002-indexing-embedly-link-preview.md b/docs/rfcs/0002-indexing-embedly-link-preview.md deleted file mode 100644 index 1a43b2eeef..0000000000 --- a/docs/rfcs/0002-indexing-embedly-link-preview.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -layout: default -parent: RFCs -nav_order: 2 ---- -# 0002: Indexing Link Previews -{: .no_toc } - -## Table of Contents -{: .no_toc .text-delta } - -- Table of Contents -{:toc} - -### Abstract - -Read the description of [#1811](https://github.com/mitodl/open-discussions/issues/1811) for a description of the problem we're solving here. This RFC is to address some decisions about how we go about indexing content from Embedly responses and the index structure in general. -The goal of this RFC is to call attention to some of the finer points of implementation. - -### Architecture - -#### Using a more descriptive Embedly API endpoint - -Here's a direct comparison between two Embedly endpoints using the same URL: - -- ['oembed' endpoint](https://embed.ly/docs/explore/oembed?url=https%3A%2F%2Fwww.theatlantic.com%2Fscience%2Farchive%2F2019%2F02%2Fhow-to-stop-mosquito-bites%2F582190%2F) -- ['extract' endpoint](https://embed.ly/docs/explore/extract?url=https://www.theatlantic.com/science/archive/2019/02/how-to-stop-mosquito-bites/582190/) - -`extract` potentially gives us much more text content to index in the `content` field than `oembed` does in the `description` field (this isn't [always true](https://embed.ly/docs/explore/extract?url=https%3A%2F%2Fwww.mit.edu) though). - -*Proposal*: Use the `extract` endpoint instead of `oembed`; if `content` exists, strip the HTML and save that as the link preview text since it's more complete/descriptive; if `content` doesn't exist, use the `description` value. - -*Drawbacks*: Larger responses both from Embedly and from our own API (since ES documents for link posts will be larger), but that's very unlikely to have any significant impact on performance. Text/article posts are already liable to have a similar amount of raw content. - -#### Including additional content in the text that we index for a link - -Here's a partial document from an embedly response: - -```json -{ - "content": "

NPY acts by sticking to receptor proteins, and the pharmaceutical industry ...", - "title": "A New Way to Keep Mosquitoes From Biting", - "provider_name": "The Atlantic", - ... -} -``` - -The `title` and `provider_name` are potentially significant in terms of the search-ability and relatability of these document (example: if I search "Atlantic", it makes some sense to include this link post from the publication called "The Atlantic" in the results). - -*Proposal*: Prepend `provider_name` and `title` to the text that we index for link posts, and separate the values by dashes (et al). Using the example above, the text that we index would look like this: `"The Atlantic - A New Way to Keep Mosquitoes From Biting - NPY acts by sticking to receptor proteins, and ..."` - -#### Using the existing `text` model field for storing link preview text - -*Proposal*: Save the preview text for a link post in the `channels.models.Post.text` field (we wouldn't attempt to save text for the corresponding reddit object) - -*Potential Issues*: There might still be some application logic on the back- _or_ front-end that considers a post with non-blank `text` value to be a self/text post. This would break that logic. - -#### (Related, but separate issue) Getting rid of either the `plain_text` or `text` field in ES documents - -After reviewing this a bit, it became clear that we don't seem to be using the ES documents' `text` field. We only care about the plain text content of these posts (stored in the `plain_text` field). - -*Proposal*: (a) Get rid of the `text` field in ES documents, or (b) get rid of `plain_text`, and instead store only plain text content in the `text` field. - -*Drawbacks*: For (a) there may still be some application logic that makes use of that value. For (b) it could be jarring to have two properties with the same name on the model object and its corresponding ES document with different values. - -If this makes sense, this change would be made in a separate issue (i.e.: not as part of #1811) diff --git a/embedly/views.py b/embedly/views.py index 3efed24b78..32b98cf13c 100644 --- a/embedly/views.py +++ b/embedly/views.py @@ -6,8 +6,7 @@ from django.conf import settings -from channels.models import LinkMeta -from embedly.api import get_embedly_summary, THUMBNAIL_URL +from embedly.api import get_embedly_summary from open_discussions.permissions import AnonymousAccessReadonlyPermission @@ -18,10 +17,6 @@ def embedly_view(request, **kwargs): # pylint: disable=unused-argument if settings.EMBEDLY_KEY: url = unquote(unquote(kwargs["url"])) response = get_embedly_summary(url).json() - if THUMBNAIL_URL in response: - LinkMeta.objects.update_or_create( - url=url, defaults={"thumbnail": response[THUMBNAIL_URL]} - ) return Response(response) else: return Response({}, status=status.HTTP_503_SERVICE_UNAVAILABLE) diff --git a/embedly/views_test.py b/embedly/views_test.py index 2429d2d710..58063316c2 100644 --- a/embedly/views_test.py +++ b/embedly/views_test.py @@ -1,11 +1,8 @@ """tests for the embedly views""" -from urllib.parse import unquote from django.urls import reverse from rest_framework import status -from channels.models import LinkMeta - def test_get_embedly(client, user, mocker, settings): """test the happy path""" @@ -25,22 +22,6 @@ def test_get_embedly(client, user, mocker, settings): get_stub.assert_called_once_with("https://en.wikipedia.org/wiki/Giant_panda/") assert resp.json() == {"some": "json", "thumbnail_url": external_thumb} assert resp.status_code == status.HTTP_200_OK - linkmeta = LinkMeta.objects.filter(url=unquote(unquote(external_url))).first() - assert linkmeta is not None - assert linkmeta.thumbnail == external_thumb - - -def test_get_embedly_no_thumbnail(client, user, mocker, settings): - """test the happy path""" - settings.EMBEDLY_KEY = "a great key" - client.force_login(user) - external_url = "https%253A%252F%252Fen.wikipedia.org%252Fwiki%252FWoolly_mammoth/" - embedly_url = reverse("embedly-detail", kwargs={"url": external_url}) - embed_return_value = mocker.Mock() - embed_return_value.configure_mock(**{"json.return_value": {"some": "json"}}) - mocker.patch("embedly.views.get_embedly_summary", return_value=embed_return_value) - client.get(embedly_url) - assert LinkMeta.objects.filter(url=external_url).first() is None def test_get_embedly_no_key(client, user, settings): diff --git a/fixtures/betamax.py b/fixtures/betamax.py index 4f4de18ff3..3cd1fd2c31 100644 --- a/fixtures/betamax.py +++ b/fixtures/betamax.py @@ -1,15 +1,33 @@ """Betamax fixtures""" # pylint: disable=redefined-outer-name, unused-argument import os - -import pytest +import contextlib +import warnings +from functools import partialmethod import urllib3 +import requests +import pytest from betamax.fixtures.pytest import _casette_name -from channels.test_utils import no_ssl_verification from open_discussions.betamax_config import setup_betamax +@contextlib.contextmanager +def _no_ssl_verification(): + """totally disable SSL verification, useful for Betamax tests""" + old_request = requests.Session.request + try: + requests.Session.request = partialmethod(old_request, verify=False) + + warnings.filterwarnings("ignore", "Unverified HTTPS request") + + yield + finally: + warnings.resetwarnings() + + requests.Session.request = old_request + + @pytest.fixture def cassette_name(request): """Returns the cassette name for this test""" @@ -34,7 +52,7 @@ def use_betamax(request): @pytest.fixture() -def configure_betamax(mocker, cassette_exists, praw_settings, request): +def configure_betamax(mocker, cassette_exists, request): """Configure betamax""" setup_betamax("once" if cassette_exists is False else "none") @@ -43,22 +61,8 @@ def configure_betamax(mocker, cassette_exists, praw_settings, request): "betamax_parametrized_recorder" ) - mocker.patch( - "channels.api._get_session", return_value=betamax_parametrized_recorder.session - ) - if cassette_exists: - # only patch if we're running off an existing cassette - mocker.patch( - "channels.api._get_refresh_token", - return_value={ - "refresh_token": "fake", - "access_token": "fake", - "expires_in": 1234, - }, - ) - urllib3.disable_warnings() # always ignore SSL verification - with no_ssl_verification(): + with _no_ssl_verification(): yield betamax_parametrized_recorder diff --git a/fixtures/common.py b/fixtures/common.py index 4924aa0ff7..e8c920cafa 100644 --- a/fixtures/common.py +++ b/fixtures/common.py @@ -1,21 +1,14 @@ """Common config for pytest and friends""" # pylint: disable=unused-argument, redefined-outer-name -import importlib import logging import warnings -from functools import wraps from types import SimpleNamespace -from unittest.mock import Mock, patch import factory import pytest import responses from pytest_mock import PytestMockWarning from urllib3.exceptions import InsecureRequestWarning - -import channels.api -import channels.factories -import channels.serializers from open_discussions.factories import UserFactory @@ -61,44 +54,6 @@ def randomness(): factory.fuzzy.reseed_random("happy little clouds") -@pytest.fixture(scope="session", autouse=True) -def session_indexing_decorator(): - """ - Fixture that mocks the reddit object indexer for the test suite by default. - - Decorators require some extra work to patch since they are already applied to functions - when a module is loaded. To get around this, we patch the decorator function then - reload the relevant modules via importlib. - """ - mock_persist_func = Mock(original=[]) - - def dummy_decorator(*persistence_funcs): # pylint: disable=unused-argument - """A decorator that calls a mock before calling the wrapped function""" - - def dummy_decorator_inner(func): # pylint: disable=missing-docstring - @wraps(func) - def wrapped_api_func(*args, **kwargs): # pylint: disable=missing-docstring - for persistence_func in persistence_funcs: - mock_persist_func.original.append(persistence_func) - mock_persist_func(*args, **kwargs) - return func(*args, **kwargs) - - return wrapped_api_func - - return dummy_decorator_inner - - patched_decorator = patch( - "search.search_index_helpers.reddit_object_persist", dummy_decorator - ) - patched_decorator.start() - # Reload the modules that import and use the channels API. All methods decorated with - # reddit_object_persist will now use the simple patched version that was created here. - importlib.reload(channels.factories) - importlib.reload(channels.api) - importlib.reload(channels.serializers) - yield SimpleNamespace(patch=patched_decorator, mock_persist_func=mock_persist_func) - - @pytest.fixture() def indexing_decorator(session_indexing_decorator): """ @@ -110,24 +65,6 @@ def indexing_decorator(session_indexing_decorator): yield session_indexing_decorator -@pytest.fixture() -def mock_channel_exists(mocker): - """ - Mock the permissions.channel_exists function to always return True - """ - return mocker.patch( - "open_discussions.permissions.channel_exists", return_value=True - ) - - -@pytest.fixture() -def mock_req_channel_api(mocker): - """ - Mocks the channel API object that is made available on a request via middleware - """ - return mocker.patch("open_discussions.middleware.channel_api.Api", autospec=True) - - @pytest.fixture() def mocked_celery(mocker): """Mock object that patches certain celery functions""" diff --git a/fixtures/reddit.py b/fixtures/reddit.py deleted file mode 100644 index cf6ab8a09c..0000000000 --- a/fixtures/reddit.py +++ /dev/null @@ -1,175 +0,0 @@ -"""Reddit fixtures""" -# pylint: disable=redefined-outer-name, unused-argument -from types import SimpleNamespace -import pytest - -from channels import api -from channels.constants import CHANNEL_TYPE_PRIVATE, CHANNEL_TYPE_PUBLIC, LINK_TYPE_SELF -from channels.factories.models import PostFactory -from channels.factories.reddit import RedditFactories, FactoryStore -from channels.proxies import PostProxy -from channels.utils import render_article_text - - -@pytest.fixture -def praw_settings(settings, cassette_exists): - """Settings needed to use Api client""" - if cassette_exists: - settings.MITOPEN_REDDIT_CLIENT_ID = "client_id" - settings.MITOPEN_REDDIT_SECRET = "secret" - settings.MITOPEN_REDDIT_URL = "https://reddit.local" - settings.MITOPEN_REDDIT_VALIDATE_SSL = False - settings.MITOPEN_CHANNEL_POST_LIMIT = 25 - return settings - - -@pytest.fixture() -def reddit_factories(use_betamax, cassette_name, cassette_exists): - """RedditFactories fixture""" - store = FactoryStore(cassette_name) - ctx = RedditFactories(store) - if cassette_exists: - store.load() - yield ctx - if not cassette_exists: - store.write() - - -@pytest.fixture() -def reddit_user(reddit_factories): - """Override the user fixture to use reddit_factories""" - return reddit_factories.user("contributor") - - -@pytest.fixture() -def reddit_staff_user(reddit_factories): - """Override the staff_user fixture to use reddit_factories""" - from channels.test_utils import no_ssl_verification - - with no_ssl_verification(): - return reddit_factories.user("staff_user", is_staff=True) - - -@pytest.fixture() -def reddit_index_user(reddit_factories): - """Override the staff_user fixture to use reddit_factories""" - from channels.test_utils import no_ssl_verification - - with no_ssl_verification(): - return reddit_factories.user("index_user", is_staff=True) - - -@pytest.fixture() -def private_channel(reddit_factories, staff_user): - """Returns a standard private channel for tests""" - return reddit_factories.channel( - "private_channel", staff_user, channel_type=CHANNEL_TYPE_PRIVATE - ) - - -@pytest.fixture -def public_channel(reddit_factories, staff_user): - """Returns a standard public channel for tests""" - return reddit_factories.channel( - "public_channel", staff_user, channel_type=CHANNEL_TYPE_PUBLIC - ) - - -@pytest.fixture() -def staff_api(staff_user): - """A fixture for an Api instance configured with the staff user""" - return api.Api(staff_user) - - -@pytest.fixture() -def contributor_api(user): - """A fixture for an Api instance configured with the contributor user""" - return api.Api(user) - - -@pytest.fixture() -def private_channel_and_contributor(private_channel, staff_api, user, mocker): - """Fixture for a channel and a user who is a contributor""" - - mocker.patch("search.search_index_helpers.upsert_profile", autospec=True) - - staff_api.add_contributor(user.username, private_channel.name) - staff_api.add_subscriber(user.username, private_channel.name) - return private_channel, user - - -@pytest.fixture() -def subscribed_channels(reddit_factories, staff_user, staff_api, user): - """Fixture for five channels with a user who is a contributor & subscriber""" - channels = [] - for i in range(5): - channels.append( - reddit_factories.channel( - "private_channel_{}".format(i), - staff_user, - channel_type=CHANNEL_TYPE_PRIVATE, - ) - ) - staff_api.add_contributor(user.username, channels[i].name) - staff_api.add_subscriber(user.username, channels[i].name) - return channels - - -@pytest.fixture() -def reddit_submission_obj(): - """A dummy Post object""" - article_content = {"text": "some text"} - return SimpleNamespace( - author=SimpleNamespace(name="testuser"), - article_content=article_content, - plain_text=render_article_text(article_content), - subreddit=SimpleNamespace( - display_name="channel_1", title="Channel", subreddit_type="public" - ), - selftext="Body text", - score=1, - created=12345, - id="a", - title="Post Title", - num_comments=1, - is_self=True, - likes=1, - banned_by=None, - edited=False, - permalink="http://reddit.local/r/channel_1/a/post-title", - ) - - -@pytest.fixture() -def reddit_comment_obj(mocker, reddit_submission_obj): - """A dummy Comment object""" - return SimpleNamespace( - parent=mocker.Mock(return_value=reddit_submission_obj), - submission=reddit_submission_obj, - author=SimpleNamespace(name="testuser"), - subreddit=reddit_submission_obj.subreddit, - body="Comment text", - id="b", - score=1, - created=12345, - likes=1, - banned_by=None, - edited=False, - permalink=lambda: "/r/{}/{}".format( - reddit_submission_obj.subreddit.display_name, - "/r/{}/comments/a/post-title/43".format( - reddit_submission_obj.subreddit.display_name - ), - ), - ) - - -@pytest.fixture() -def post_proxy(reddit_submission_obj): - """A dummy PostProxy object based on the reddit_submission_obj fixture""" - post = PostFactory.create( - post_id=reddit_submission_obj.id, - channel__name=reddit_submission_obj.subreddit.display_name, - post_type=LINK_TYPE_SELF, - ) - return PostProxy(reddit_submission_obj, post) diff --git a/fixtures/users.py b/fixtures/users.py index aafca4b435..7bc5dbe9d5 100644 --- a/fixtures/users.py +++ b/fixtures/users.py @@ -13,8 +13,6 @@ @pytest.fixture def user(db, use_betamax, request): """Create a user""" - if use_betamax: - return request.getfixturevalue("reddit_user") return UserFactory.create() @@ -23,7 +21,6 @@ def staff_user(db, use_betamax, request): """Create a staff user""" if use_betamax: request.getfixturevalue("configure_betamax") - return request.getfixturevalue("reddit_staff_user") return UserFactory.create(is_staff=True) @@ -32,7 +29,6 @@ def index_user(db, use_betamax, request): """Create a user to be used for indexing""" if use_betamax: request.getfixturevalue("configure_betamax") - return request.getfixturevalue("reddit_index_user") user = UserFactory.create(is_staff=True) return user diff --git a/mail/api.py b/mail/api.py index 8f4580ac89..d2554592d3 100644 --- a/mail/api.py +++ b/mail/api.py @@ -152,7 +152,7 @@ def messages_for_recipients(recipients_and_contexts, template_name): Yields: EmailMultiAlternatives: email message with rendered content """ - with mail.get_connection(settings.NOTIFICATION_EMAIL_BACKEND) as connection: + with mail.get_connection(settings.EMAIL_BACKEND) as connection: for recipient, context in recipients_and_contexts: subject, text_body, html_body = render_email_templates( template_name, context diff --git a/mail/templates/comments/body.html b/mail/templates/comments/body.html deleted file mode 100644 index 2dab300857..0000000000 --- a/mail/templates/comments/body.html +++ /dev/null @@ -1,49 +0,0 @@ -{% extends "email_base.html" %} - -{% block content %} - - - - - - - -
-

{{ comment.text }}

-
- - - - - - - - - -
- {% if is_comment_reply %} - Read More - {% else %} - Read More - {% endif %} -
- - - - -{% endblock %} - -{% block footer %} -You are receiving this email because you are following a post on {{ site_name }}. -

-To reply to this comment you can -{% if is_comment_reply %} - view it on {{ site_name }}. -{% else %} - view it on {{ site_name }}. -{% endif %} -
-If you don't want to receive these emails in the future, you can -unfollow this post. -

-{% endblock %} diff --git a/mail/templates/comments/subject.txt b/mail/templates/comments/subject.txt deleted file mode 100644 index 47674c2226..0000000000 --- a/mail/templates/comments/subject.txt +++ /dev/null @@ -1 +0,0 @@ -Re: [{{ post.channel_title|safe }}] {{ post.title|safe }} diff --git a/mail/templates/invite/body.html b/mail/templates/invite/body.html deleted file mode 100644 index e66611032a..0000000000 --- a/mail/templates/invite/body.html +++ /dev/null @@ -1,35 +0,0 @@ -{% extends "email_base.html" %} - -{% block content %} - - - - - - - - - - - -
-

- {{ invite.inviter.profile.name }} invited you to become a member of the {{ site_name }} channel {{ invite.channel.title }} -

-

{{ site_name }} is a place where learners, teachers and researchers worldwide meet with MIT.

-

To be part of the channel you’ll need to create an {{ site_name }} account first.

-
- - - - - -
- Join {{ site_name }} -
- -
- - - -{% endblock %} diff --git a/mail/templates/invite/subject.txt b/mail/templates/invite/subject.txt deleted file mode 100644 index 4e13702140..0000000000 --- a/mail/templates/invite/subject.txt +++ /dev/null @@ -1 +0,0 @@ -{{ invite.inviter.profile.name }} invited you to {{ invite.channel.title }} diff --git a/mail/templates/moderator_posts/body.html b/mail/templates/moderator_posts/body.html deleted file mode 100644 index 1ecfd019d5..0000000000 --- a/mail/templates/moderator_posts/body.html +++ /dev/null @@ -1,44 +0,0 @@ -{% extends "email_base.html" %} -{% load humanize %} -{% load timeago %} - -{% block content %} - - - - - - - - -
-

New Post in {{ post.channel_title }}

-
- - - - - - - - - - - -
- - -

- - {{ post.title }} {% if post.url_domain %}({{ post.url_domain }}){% endif %} - -

-

{# NOTE: this next line is intentionally long so it renders correctly in plaintext #} - {{ post.author_name }}{% if post.author_headline %} — {{ post.author_headline }}{% endif %} -
- {{ post.created|parse_iso|naturaltime }} in {{ post.channel_title }} -

-
- - -{% endblock %} \ No newline at end of file diff --git a/mail/templates/moderator_posts/subject.txt b/mail/templates/moderator_posts/subject.txt deleted file mode 100644 index 917a101a55..0000000000 --- a/mail/templates/moderator_posts/subject.txt +++ /dev/null @@ -1 +0,0 @@ -New Post on Open [{{ post.channel_title|safe }}] {{ post.title|safe }} diff --git a/moira_lists/__init__.py b/moira_lists/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/moira_lists/admin.py b/moira_lists/admin.py deleted file mode 100644 index 74f55d493e..0000000000 --- a/moira_lists/admin.py +++ /dev/null @@ -1,21 +0,0 @@ -""" Admin for channels """ -from django.contrib import admin - -from moira_lists.models import MoiraList - - -class MoiraListAdmin(admin.ModelAdmin): - """Admin for Moira Lists""" - - model = MoiraList - search_fields = ("name", "users__email") - readonly_fields = ("users", "name") - - def has_change_permission(self, request, obj=None): - return False - - def has_add_permission(self, request): - return False - - -admin.site.register(MoiraList, MoiraListAdmin) diff --git a/moira_lists/apps.py b/moira_lists/apps.py deleted file mode 100644 index f0bf807008..0000000000 --- a/moira_lists/apps.py +++ /dev/null @@ -1,8 +0,0 @@ -"""Moira lists app""" -from django.apps import AppConfig - - -class MoiraListsConfig(AppConfig): - """MoiraLists AppConfig""" - - name = "moira_lists" diff --git a/moira_lists/conftest.py b/moira_lists/conftest.py deleted file mode 100644 index a33a928469..0000000000 --- a/moira_lists/conftest.py +++ /dev/null @@ -1,22 +0,0 @@ -"""Test config for channels""" -import pytest - - -@pytest.fixture -def mock_moira(mocker): - """Return a fake mit_moira.Moira object""" - return mocker.patch("moira_lists.moira_api.Moira") - - -@pytest.fixture -def mock_moira_client(mocker): - """Return a fake moira client""" - return mocker.patch("moira_lists.moira_api.get_moira_client", autospec=True) - - -@pytest.fixture -def mock_user_moira_lists(mocker): - """Return a fake moira client""" - mocked = mocker.patch("moira_lists.moira_api.user_moira_lists") - mocked.return_value = set() - return mocked diff --git a/moira_lists/exceptions.py b/moira_lists/exceptions.py deleted file mode 100644 index 800d100ed3..0000000000 --- a/moira_lists/exceptions.py +++ /dev/null @@ -1,5 +0,0 @@ -"""moira_lists custom exceptions""" - - -class MoiraException(Exception): - """Custom exception to be used when something goes wrong with Moira API calls""" diff --git a/moira_lists/factories.py b/moira_lists/factories.py deleted file mode 100644 index e3324d7814..0000000000 --- a/moira_lists/factories.py +++ /dev/null @@ -1,39 +0,0 @@ -"""Factory classes for moira""" -import factory - -from moira_lists.models import MoiraList - -# pylint: disable=unused-argument - - -class MoiraListFactory(factory.django.DjangoModelFactory): - """Factory for Moira Lists""" - - name = factory.Sequence(lambda n: "moira_#%s" % n) - - @factory.post_generation - def channels(self, create, extracted, **kwargs): - """Create associated channels""" - if not create: - # Simple build, do nothing. - return - - if extracted: - # A list of groups were passed in, use them - for channel in extracted: - self.channels.add(channel) - - @factory.post_generation - def users(self, create, extracted, **kwargs): - """Create associated users""" - if not create: - # Simple build, do nothing. - return - - if extracted: - # A list of groups were passed in, use them - for user in extracted: - self.users.add(user) - - class Meta: - model = MoiraList diff --git a/moira_lists/migrations/0001_initial.py b/moira_lists/migrations/0001_initial.py deleted file mode 100644 index 0550f9053f..0000000000 --- a/moira_lists/migrations/0001_initial.py +++ /dev/null @@ -1,37 +0,0 @@ -# Generated by Django 2.2.10 on 2020-03-13 19:42 - -from django.conf import settings -from django.db import migrations, models - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("channels", "0024_channel_membership_config"), - ] - - operations = [ - migrations.CreateModel( - name="MoiraList", - fields=[ - ("created_on", models.DateTimeField(auto_now_add=True)), - ("updated_on", models.DateTimeField(auto_now=True)), - ( - "name", - models.CharField( - max_length=250, primary_key=True, serialize=False, unique=True - ), - ), - ( - "users", - models.ManyToManyField( - related_name="moira_lists", to=settings.AUTH_USER_MODEL - ), - ), - ], - options={"abstract": False}, - ) - ] diff --git a/moira_lists/migrations/__init__.py b/moira_lists/migrations/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/moira_lists/models.py b/moira_lists/models.py deleted file mode 100644 index 597a86b355..0000000000 --- a/moira_lists/models.py +++ /dev/null @@ -1,20 +0,0 @@ -"""Models for moira lists""" -from django.contrib.auth.models import User -from django.db import models - -from open_discussions.models import TimestampedModel - - -class MoiraList(TimestampedModel): - """ - Moira list - """ - - name = models.CharField(max_length=250, unique=True, primary_key=True) - users = models.ManyToManyField(User, related_name="moira_lists") - - def __str__(self): - return self.name - - def __repr__(self): - return "".format(self=self) diff --git a/moira_lists/moira_api.py b/moira_lists/moira_api.py deleted file mode 100644 index 4746749191..0000000000 --- a/moira_lists/moira_api.py +++ /dev/null @@ -1,195 +0,0 @@ -"""Moira list utility functions""" -import os -import re -from collections import namedtuple - -from django.conf import settings -from django.contrib.auth.models import User -from django.db import transaction -from mit_moira import Moira - -from moira_lists.exceptions import MoiraException -from moira_lists.models import MoiraList - -MoiraUser = namedtuple("MoiraUser", "username type") - - -def get_moira_client(): - """ - Gets a moira client. - - Returns: - Moira: A moira client - """ - - _check_files_exist( - [settings.MIT_WS_CERTIFICATE_FILE, settings.MIT_WS_PRIVATE_KEY_FILE] - ) - try: - return Moira(settings.MIT_WS_CERTIFICATE_FILE, settings.MIT_WS_PRIVATE_KEY_FILE) - except Exception as exc: # pylint: disable=broad-except - raise MoiraException( - "Something went wrong with creating a moira client" - ) from exc - - -def _check_files_exist(paths): - """Checks that files exist at given paths.""" - errors = [] - for path in paths: - if not os.path.isfile(path): - errors.append("File missing: expected path '{}'".format(path)) - if errors: - raise RuntimeError("\n".join(errors)) - - -def get_moira_user(user): - """ - Return the most likely username & type (USER, STRING) for a user in moira lists based on email. - If the email ends with 'mit.edu', assume kerberos id = email prefix - Otherwise use the entire email address as the username. - - Args: - user (django.contrib.auth.User): the Django user to return a Moira user for. - - Returns: - MoiraUser: A namedtuple containing username and type - """ - if re.search(r"(@|\.)mit.edu$", user.email): - return MoiraUser(user.email.split("@")[0], "USER") - return MoiraUser(user.email, "STRING") - - -def query_moira_lists(user): - """ - Get a set of all moira lists (including nested lists) a user has access to, by querying the Moira service. - - Args: - user (django.contrib.auth.User): the Django user. - - Returns: - list_names(list of str): A list of names of moira lists which contain the user as a member. - """ - moira_user = get_moira_user(user) - moira = get_moira_client() - try: - list_infos = moira.user_list_membership( - moira_user.username, moira_user.type, max_return_count=100_000 - ) - list_names = [ - list_info["listName"] for list_info in list_infos if list_info["listName"] - ] - return list_names - except Exception as exc: # pylint: disable=broad-except - if "java.lang.NullPointerException" in str(exc): - # User is not a member of any moira lists, so ignore exception and return empty list - return [] - raise MoiraException( - "Something went wrong with getting moira-lists for %s" % user.username - ) from exc - - -def user_moira_lists(user): - """ - Get a list of all the moira lists a user has access to - - Args: - user (django.contrib.auth.User): the Django user. - - Returns: - list_names(set): An set containing all known lists the user belongs to, - including ancestors of nested lists. - """ - if user.is_anonymous: - return [] - list_names = set(query_moira_lists(user)) - return list_names - - -def moira_user_emails(member_list): - """ - Transform a list of moira list members to emails. - Assumes kerberos id => @mit.edu - - Args: - member_list (list of str): List of members returned by Moira - - Returns: - list of str: Member emails in list - """ - return list( - map( - lambda member: member if "@" in member else f"{member}@mit.edu", - filter(None, member_list), - ) - ) - - -@transaction.atomic -def update_user_moira_lists(user): - """ - Add moira lists the user is a member of, remove any expired lists - - Args: - user (User): user to update moira lists for - """ - moira_lists = query_moira_lists(user) - - for list_name in moira_lists: - moira_list, _ = MoiraList.objects.get_or_create(name=list_name) - moira_list.users.add(user) - - user.moira_lists.set(MoiraList.objects.filter(name__in=moira_lists)) - - -def get_list_members(moira_name): - """ - Get all the members of a moira list - - Args: - moira_name (str): Moira list name - - Returns: - list of str: moira list members - - """ - moira_client = get_moira_client() - members = moira_client.list_members(moira_name, type="USER") - members.extend(moira_client.list_members(moira_name, type="STRING")) - return members - - -@transaction.atomic -def update_moira_list_users(moira_list): - """ - Update the users in a moira list - - Args: - moira_list (MoiraList): the moira list - """ - users = User.objects.filter( - email__in=moira_user_emails(get_list_members(moira_list.name)) - ) - moira_list.users.set(users) - - -def is_public_list_editor(user): - """ - Determine if a user can author public user lists & paths - - Args: - user (User): a user - - Returns: - boolean: True or False - """ - return user and ( - user.is_superuser - or user.is_staff - or len( - set(user.moira_lists.values_list("name", flat=True)).intersection( - settings.STAFF_MOIRA_LISTS - ) - ) - > 0 - ) diff --git a/moira_lists/moira_api_test.py b/moira_lists/moira_api_test.py deleted file mode 100644 index 1082b17b0d..0000000000 --- a/moira_lists/moira_api_test.py +++ /dev/null @@ -1,186 +0,0 @@ -"""Moira list utility function tests""" -from tempfile import NamedTemporaryFile - -import pytest -from django.contrib.auth.models import AnonymousUser, User -from zeep.exceptions import Fault - -from moira_lists.exceptions import MoiraException -from moira_lists.factories import MoiraListFactory -from moira_lists.models import MoiraList -from moira_lists.moira_api import ( - user_moira_lists, - get_moira_client, - query_moira_lists, - update_user_moira_lists, - moira_user_emails, - update_moira_list_users, - get_list_members, -) -from open_discussions.factories import UserFactory - -pytestmark = pytest.mark.django_db - - -@pytest.mark.parametrize( - "key_file, cert_file", - [(NamedTemporaryFile(), None), (None, NamedTemporaryFile()), (None, None)], -) -def test_get_moira_client_missing_secrets(mock_moira, settings, key_file, cert_file): - """Test that the correct error is returned if a key file is missing""" - settings.MIT_WS_PRIVATE_KEY_FILE = ( - "bad/file/path" if not key_file else key_file.name - ) - settings.MIT_WS_CERTIFICATE_FILE = ( - "bad/file/path" if not cert_file else cert_file.name - ) - with pytest.raises(RuntimeError) as err: - get_moira_client() - assert not mock_moira.called - if key_file is None: - assert settings.MIT_WS_PRIVATE_KEY_FILE in str(err) - if cert_file is None: - assert settings.MIT_WS_CERTIFICATE_FILE in str(err) - - -def test_get_moira_client_success(mock_moira, settings): - """Test that a client is returned from get_moira_client""" - tempfile1, tempfile2 = (NamedTemporaryFile(), NamedTemporaryFile()) - settings.MIT_WS_PRIVATE_KEY_FILE = tempfile1.name - settings.MIT_WS_CERTIFICATE_FILE = tempfile2.name - get_moira_client() - assert mock_moira.called_once_with( - settings.MIT_WS_CERTIFICATE_FILE, settings.MIT_WS_PRIVATE_KEY_FILE - ) - - -def test_get_moira_client_error(mock_moira): - """Test that a MoiraException is returned if anything goes wrong with the moira call""" - mock_moira.side_effect = TabError - with pytest.raises(MoiraException): - get_moira_client() - - -def test_query_moira_lists(mock_moira_client): - """ - Test that expected lists are returned. - """ - list_names = ["test_moira_list01", "test_moira_list02"] - mock_moira_client.return_value.user_list_membership.return_value = [ - {"listName": list_name} for list_name in list_names - ] - other_user = UserFactory(email="someone@mit.edu") - assert query_moira_lists(other_user) == list_names - - -def test_query_moira_lists_no_lists(mock_moira_client): - """ - Test that an empty list is returned if Moira throws a java NPE - """ - mock_moira_client.return_value.user_list_membership.side_effect = Fault( - "java.lang.NullPointerException" - ) - other_user = UserFactory(email="someone@mit.edu") - assert query_moira_lists(other_user) == [] - - -def test_query_moira_lists_error(mock_moira_client): - """ - Test that a Moira exception is raised if moira client call fails with anything other than a java NPE - """ - mock_moira_client.return_value.user_list_membership.side_effect = Fault( - "Not a java NPE" - ) - with pytest.raises(MoiraException): - query_moira_lists(UserFactory()) - - -def test_user_moira_lists(mocker): - """ - Test that expected list is returned for a user - """ - user = UserFactory.create() - mock_lists = ["test.list.1", "test.list.2"] - mock_query_moira_lists = mocker.patch( - "moira_lists.moira_api.query_moira_lists", return_value=mock_lists - ) - - assert user_moira_lists(user) == set(mock_lists) - mock_query_moira_lists.assert_called_once_with(user) - - -def test_user_moira_lists_anonymous(): - """ - Test that empty list is returned for anonymous user - """ - assert user_moira_lists(AnonymousUser()) == [] - - -def test_moira_user_emails(): - """Test that moira_user_emails returns expected list of emails""" - inlist = ["test1", "Te.st.2", "test@test.edu", "tester@mit.edu"] - expected = ["test1@mit.edu", "Te.st.2@mit.edu", "test@test.edu", "tester@mit.edu"] - assert moira_user_emails(inlist) == expected - - -def test_update_user_moira_lists(mock_moira_client): - """Test that update_user_moira_lists updates the user's related moira lists""" - moira_user = UserFactory.create() - user_lists = ["test.list.1", "test.list.2", "", None] - mock_moira_client.return_value.user_list_membership.return_value = [ - {"listName": list_name} for list_name in user_lists - ] - valid_user_lists = user_lists[0:2] - - moira_list_3 = MoiraListFactory.create(name="test.list.3", users=[moira_user]) - assert list(moira_list_3.users.all()) == [moira_user] - assert list(moira_user.moira_lists.all()) == [moira_list_3] - - update_user_moira_lists(moira_user) - - assert ( - list( - User.objects.get(id=moira_user.id) - .moira_lists.order_by("name") - .values_list("name", flat=True) - ) - == valid_user_lists - ) - for name in valid_user_lists: - assert list(MoiraList.objects.get(name=name).users.all()) == [moira_user] - assert list(MoiraList.objects.get(name=moira_list_3.name).users.all()) == [] - assert ( - list( - moira_user.moira_lists.order_by("name").all().values_list("name", flat=True) - ) - == valid_user_lists - ) - assert MoiraList.objects.filter(name="").count() == 0 - - -def test_update_moira_list_users(mock_moira_client): - """Test that update_moira_list_users updates the moira lists' users""" - moira_users = UserFactory.create_batch(3) - moira_list = MoiraListFactory.create(users=[moira_users[2]]) - assert list(moira_list.users.all()) == [moira_users[2]] - mock_moira_client.return_value.list_members.return_value = [ - user.email for user in moira_users[:2] - ] - update_moira_list_users(moira_list) - assert list(moira_list.users.order_by("id")) == sorted( - moira_users[:2], key=lambda user: user.id - ) - - -def test_get_list_members(mock_moira_client): - """Test that both kerberos and email members are retrieved""" - mock_moira_client.return_value.list_members.side_effect = [ - ["kerberos1", "kerberos2"], - ["email1@test.edu", "email2@test.edu"], - ] - assert get_list_members("foo") == [ - "kerberos1", - "kerberos2", - "email1@test.edu", - "email2@test.edu", - ] diff --git a/moira_lists/tasks.py b/moira_lists/tasks.py deleted file mode 100644 index 4c5747c7e1..0000000000 --- a/moira_lists/tasks.py +++ /dev/null @@ -1,41 +0,0 @@ -"""Moira list tasks""" -import logging -from django.contrib.auth import get_user_model - -from channels.membership_api import update_memberships_for_managed_channels -from moira_lists.models import MoiraList -from moira_lists import moira_api -from open_discussions.celery import app - -User = get_user_model() -log = logging.getLogger() - - -@app.task -def update_user_moira_lists(user_id, update_memberships=False): - """ - Update the user's moira lists - - Args: - user_id (int): User id - update_memberships (bool): Whether to update memberships afterward - """ - moira_api.update_user_moira_lists(User.objects.get(id=user_id)) - if update_memberships: - update_memberships_for_managed_channels(user_ids=[user_id]) - - -@app.task -def update_moira_list_users(names, channel_ids=None): - """ - Update the users for each moira list - - Args: - names (list of str): Moira list name - channel_ids (list of int): Channel id's - """ - for name in names: - moira_list, _ = MoiraList.objects.get_or_create(name=name) - moira_api.update_moira_list_users(moira_list) - if channel_ids is not None: - update_memberships_for_managed_channels(channel_ids=channel_ids) diff --git a/moira_lists/tasks_test.py b/moira_lists/tasks_test.py deleted file mode 100644 index 62a80cbd28..0000000000 --- a/moira_lists/tasks_test.py +++ /dev/null @@ -1,43 +0,0 @@ -""" Tests for moira tasks""" -import pytest - -from moira_lists.tasks import update_moira_list_users, update_user_moira_lists -from moira_lists.factories import MoiraListFactory -from open_discussions.factories import UserFactory - -pytestmark = pytest.mark.django_db - - -@pytest.mark.parametrize("update_memberships", [True, False]) -def test_update_user_moira_lists(mocker, update_memberships): - """Test that the update_user_moira_lists task calls the api function of the same name""" - mock_moira_api = mocker.patch("moira_lists.moira_api.update_user_moira_lists") - mock_member_api = mocker.patch( - "moira_lists.tasks.update_memberships_for_managed_channels" - ) - user = UserFactory.create() - update_user_moira_lists(user.id, update_memberships=update_memberships) - mock_moira_api.assert_called_once_with(user) - if update_memberships: - mock_member_api.assert_called_once_with(user_ids=[user.id]) - else: - mock_member_api.assert_not_called() - - -@pytest.mark.parametrize("channel_ids", [None, [1, 2]]) -def test_update_moira_list_users(mocker, channel_ids): - """Test that the update_moira_list_users task calls the api function of the same name""" - mock_api = mocker.patch("moira_lists.moira_api.update_moira_list_users") - mock_member_api = mocker.patch( - "moira_lists.tasks.update_memberships_for_managed_channels" - ) - moira_lists = MoiraListFactory.create_batch(3) - update_moira_list_users( - [moira_list.name for moira_list in moira_lists], channel_ids=channel_ids - ) - for moira_list in moira_lists: - mock_api.assert_any_call(moira_list) - if channel_ids is not None: - mock_member_api.assert_called_once_with(channel_ids=channel_ids) - else: - mock_member_api.assert_not_called() diff --git a/notifications/__init__.py b/notifications/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/notifications/api.py b/notifications/api.py deleted file mode 100644 index 799dd4f2e1..0000000000 --- a/notifications/api.py +++ /dev/null @@ -1,262 +0,0 @@ -"""Notifications API""" -import logging - -from django.conf import settings -from django.db.models import Q -from django.contrib.auth.models import User - -from channels.models import Subscription, ChannelGroupRole, Channel -from channels.api import get_admin_api -from channels.constants import ROLE_MODERATORS - -from notifications.notifiers.exceptions import ( - UnsupportedNotificationTypeError, - CancelNotificationError, -) -from notifications.models import ( - EmailNotification, - PostEvent, - NotificationSettings, - NOTIFICATION_TYPE_FRONTPAGE, - NOTIFICATION_TYPE_COMMENTS, - NOTIFICATION_TYPE_MODERATOR, - FREQUENCY_IMMEDIATE, - FREQUENCY_DAILY, - FREQUENCY_WEEKLY, - FREQUENCY_NEVER, -) -from notifications.notifiers import comments, frontpage, moderator_posts -from notifications import tasks -from open_discussions.utils import chunks - -log = logging.getLogger() - - -def ensure_notification_settings(user, skip_moderator_setting=False): - """ - Populates user with notification settings - - Args: - user (User): user to create settings for - skip_moderator_setting (boolean): Skip moderator notifaction creation - """ - existing_notification_types = NotificationSettings.objects.filter( - user=user - ).values_list("notification_type", flat=True) - - if NOTIFICATION_TYPE_FRONTPAGE not in existing_notification_types: - NotificationSettings.objects.get_or_create( - user=user, - notification_type=NOTIFICATION_TYPE_FRONTPAGE, - defaults={"trigger_frequency": FREQUENCY_DAILY}, - ) - - if NOTIFICATION_TYPE_COMMENTS not in existing_notification_types: - NotificationSettings.objects.get_or_create( - user=user, - notification_type=NOTIFICATION_TYPE_COMMENTS, - defaults={"trigger_frequency": FREQUENCY_IMMEDIATE}, - ) - - if not skip_moderator_setting: - for channel_group_role in ChannelGroupRole.objects.filter( - group__user=user, role=ROLE_MODERATORS - ): - NotificationSettings.objects.get_or_create( - user=user, - notification_type=NOTIFICATION_TYPE_MODERATOR, - channel=channel_group_role.channel, - defaults={"trigger_frequency": FREQUENCY_IMMEDIATE}, - ) - - -def attempt_send_notification_batch(notification_settings_ids): - """ - Attempts to send notification for the given batch of ids - - Args: - notification_settings_ids (list of int): list of NotificationSettings.ids - """ - notification_settings = NotificationSettings.objects.filter( - id__in=notification_settings_ids - ) - for notification_setting in notification_settings: - try: - notifier = frontpage.FrontpageDigestNotifier(notification_setting) - notifier.attempt_notify() - except: # pylint: disable=bare-except - log.exception( - "Error attempting notification for user %s", notification_setting.user - ) - - -def get_daily_frontpage_settings_ids(): - """Returns daily frontpage digest NotificationSettings""" - return ( - NotificationSettings.frontpage_settings() - .filter(trigger_frequency=FREQUENCY_DAILY) - .filter(user__is_active=True) - .values_list("id", flat=True) - .order_by("id") - .iterator() - ) - - -def get_weekly_frontpage_settings_ids(): - """Returns weekly frontpage digest NotificationSettings""" - return ( - NotificationSettings.frontpage_settings() - .filter(trigger_frequency=FREQUENCY_WEEKLY) - .filter(user__is_active=True) - .values_list("id", flat=True) - .order_by("id") - .iterator() - ) - - -def _get_notifier_for_notification(notification): - """ - Get the notifier for the notification's type - - Args: - notification (NotificationBase): the notification to get a notifier for - - Returns: - Notifier: instance of the notifier to use - """ - if notification.notification_type == NOTIFICATION_TYPE_MODERATOR: - channel_api = get_admin_api() - event = PostEvent.objects.get(email_notification=notification) - channel_name = channel_api.get_post(event.post_id).subreddit.display_name - - notification_settings = NotificationSettings.objects.get( - user=notification.user, - notification_type=notification.notification_type, - channel__name=channel_name, - ) - else: - notification_settings = NotificationSettings.objects.get( - user=notification.user, notification_type=notification.notification_type - ) - - if notification.notification_type == NOTIFICATION_TYPE_FRONTPAGE: - return frontpage.FrontpageDigestNotifier(notification_settings) - elif notification.notification_type == NOTIFICATION_TYPE_COMMENTS: - return comments.CommentNotifier(notification_settings) - elif notification.notification_type == NOTIFICATION_TYPE_MODERATOR: - return moderator_posts.ModeratorPostsNotifier(notification_settings) - else: - raise UnsupportedNotificationTypeError( - "Notification type '{}' is unsupported".format( - notification.notification_type - ) - ) - - -def send_unsent_email_notifications(): - """ - Send all notifications that haven't been sent yet - """ - - for notification_ids in chunks( - EmailNotification.objects.filter(state=EmailNotification.STATE_PENDING) - .exclude(notification_type=NOTIFICATION_TYPE_FRONTPAGE) - .values_list("id", flat=True), - chunk_size=settings.NOTIFICATION_SEND_CHUNK_SIZE, - ): - EmailNotification.objects.filter(id__in=notification_ids).update( - state=EmailNotification.STATE_SENDING - ) - tasks.send_email_notification_batch.delay(notification_ids) - - for notification_ids in chunks( - EmailNotification.objects.filter( - state=EmailNotification.STATE_PENDING, - notification_type=NOTIFICATION_TYPE_FRONTPAGE, - ).values_list("id", flat=True), - chunk_size=settings.NOTIFICATION_SEND_CHUNK_SIZE, - ): - EmailNotification.objects.filter(id__in=notification_ids).update( - state=EmailNotification.STATE_SENDING - ) - tasks.send_frontpage_email_notification_batch.delay(notification_ids) - - -def send_email_notification_batch(notification_ids): - """ - Sends a batch of notifications - - Args: - notification_ids (list of int): notification ids to send - """ - for notification in EmailNotification.objects.filter(id__in=notification_ids): - try: - notifier = _get_notifier_for_notification(notification) - notifier.send_notification(notification) - except CancelNotificationError: - log.debug("EmailNotification canceled: %s", notification.id) - notification.state = EmailNotification.STATE_CANCELED - notification.save() - except: # pylint: disable=bare-except - log.exception("Error sending notification %s", notification) - - -def send_comment_notifications(post_id, comment_id, new_comment_id): - """ - Sends notifications for a reply to a given post notification - - Args: - post_id (str): base36 post id - comment_id (str): base36 comment id - new_comment_id (str): base36 comment id of the new comment - """ - for subscription in ( - Subscription.objects.filter(post_id=post_id) - .filter(Q(comment_id=comment_id) | Q(comment_id=None)) - .distinct("user") - .iterator() - ): - try: - notification_settings = NotificationSettings.objects.get( - user_id=subscription.user_id, - notification_type=NOTIFICATION_TYPE_COMMENTS, - ) - except NotificationSettings.DoesNotExist: - log.exception( - "NotificationSettings didn't exist for subscription %s", subscription.id - ) - continue - - notifier = comments.CommentNotifier(notification_settings) - notifier.create_comment_event(subscription, new_comment_id) - - -def send_moderator_notifications(post_id, channel_name): - """ - Sends post notifications to channel moderators - - Args: - post_id (str): base36 post id - channel_name (str): channel_name - """ - - channel_api = get_admin_api() - for moderator in channel_api.list_moderators(channel_name): - self_user = User.objects.get(username=moderator.name) - try: - notification_setting = NotificationSettings.objects.get( - user=self_user, - notification_type=NOTIFICATION_TYPE_MODERATOR, - channel__name=channel_name, - ) - except NotificationSettings.DoesNotExist: - channel = Channel.objects.get(name=channel_name) - notification_setting = NotificationSettings.objects.create( - user=self_user, - notification_type=NOTIFICATION_TYPE_MODERATOR, - channel=channel, - trigger_frequency=FREQUENCY_NEVER, - ) - - notifier = moderator_posts.ModeratorPostsNotifier(notification_setting) - notifier.create_moderator_post_event(self_user, post_id) diff --git a/notifications/api_test.py b/notifications/api_test.py deleted file mode 100644 index 62e8f9fbce..0000000000 --- a/notifications/api_test.py +++ /dev/null @@ -1,382 +0,0 @@ -"""Tests for notification apis""" -from unittest.mock import Mock -import pytest - -from channels.factories.models import SubscriptionFactory, ChannelFactory -from channels.api import add_user_role - -from notifications.factories import ( - EmailNotificationFactory, - NotificationSettingsFactory, - PostEventFactory, -) -from notifications.models import ( - NotificationSettings, - EmailNotification, - CommentEvent, - PostEvent, - NOTIFICATION_TYPE_FRONTPAGE, - NOTIFICATION_TYPE_COMMENTS, - NOTIFICATION_TYPE_MODERATOR, - FREQUENCY_NEVER, - FREQUENCY_IMMEDIATE, - FREQUENCY_DAILY, - FREQUENCY_WEEKLY, -) -from notifications.notifiers.exceptions import CancelNotificationError -from notifications import api -from open_discussions.factories import UserFactory - -pytestmark = pytest.mark.django_db - - -@pytest.mark.parametrize("is_moderator", (True, False)) -@pytest.mark.parametrize("skip_moderator_setting", (True, False)) -def test_ensure_notification_settings(user, is_moderator, skip_moderator_setting): - """Assert that notification settings are created""" - assert NotificationSettings.objects.filter(user=user).count() == 0 - - if is_moderator: - channel = ChannelFactory.create() - add_user_role(channel, "moderators", user) - - api.ensure_notification_settings( - user, skip_moderator_setting=skip_moderator_setting - ) - - if is_moderator and not skip_moderator_setting: - assert NotificationSettings.objects.filter(user=user).count() == 3 - ns = NotificationSettings.objects.get( - user=user, notification_type=NOTIFICATION_TYPE_MODERATOR - ) - assert ns.via_app is False - assert ns.via_email is True - assert ns.trigger_frequency == FREQUENCY_IMMEDIATE - - else: - assert NotificationSettings.objects.filter(user=user).count() == 2 - - ns = NotificationSettings.objects.get( - user=user, notification_type=NOTIFICATION_TYPE_FRONTPAGE - ) - assert ns.via_app is False - assert ns.via_email is True - assert ns.trigger_frequency == FREQUENCY_DAILY - - ns = NotificationSettings.objects.get( - user=user, notification_type=NOTIFICATION_TYPE_COMMENTS - ) - assert ns.via_app is False - assert ns.via_email is True - assert ns.trigger_frequency == FREQUENCY_IMMEDIATE - - -@pytest.mark.parametrize("is_moderator", (True, False)) -def test_ensure_notification_settings_existing(user, is_moderator): - """Assert that existing notification settings are left alone""" - settings_for_user = NotificationSettings.objects.filter(user=user) - - if is_moderator: - channel = ChannelFactory.create() - add_user_role(channel, "moderators", user) - - assert settings_for_user.count() == 0 - api.ensure_notification_settings(user) - settings = list(settings_for_user) - - if is_moderator: - assert settings_for_user.count() == 3 - else: - assert settings_for_user.count() == 2 - - frontpage_setting = settings[0] - frontpage_setting.trigger_frequency = FREQUENCY_WEEKLY - frontpage_setting.save() - comments_settings = settings[1] - comments_settings.trigger_frequency = FREQUENCY_NEVER - comments_settings.save() - - if is_moderator: - moderator_settings = settings[2] - moderator_settings.trigger_frequency = FREQUENCY_NEVER - moderator_settings.save() - - api.ensure_notification_settings(user) - assert frontpage_setting.trigger_frequency == settings_for_user[0].trigger_frequency - assert comments_settings.trigger_frequency == settings_for_user[1].trigger_frequency - - if is_moderator: - assert ( - moderator_settings.trigger_frequency - == settings_for_user[2].trigger_frequency - ) - - -def test_get_daily_frontpage_settings_ids(): - """Tests that get_daily_frontpage_settings_ids only triggers for daily settings""" - notification_settings = NotificationSettingsFactory.create_batch( - 5, daily=True, frontpage_type=True - ) - # these shouldn't show up - NotificationSettingsFactory.create_batch( - 5, daily=True, frontpage_type=True, user__is_active=False - ) - NotificationSettingsFactory.create_batch(5, weekly=True, frontpage_type=True) - - assert set(api.get_daily_frontpage_settings_ids()) == { - ns.id for ns in notification_settings - } - - -def test_get_weekly_frontpage_settings_ids(): - """Tests that get_weekly_frontpage_settings_ids only returns weekly settings""" - notification_settings = NotificationSettingsFactory.create_batch( - 5, weekly=True, frontpage_type=True - ) - # these shouldn't show up - NotificationSettingsFactory.create_batch( - 5, weekly=True, frontpage_type=True, user__is_active=False - ) - NotificationSettingsFactory.create_batch(5, daily=True, frontpage_type=True) - - assert set(api.get_weekly_frontpage_settings_ids()) == { - ns.id for ns in notification_settings - } - - -@pytest.mark.parametrize("side_effect", [None, Exception("bad_attempt_notify")]) -def test_attempt_send_notification_batch(mocker, side_effect): - """Verifies that attempt_send_notification_batch will attempt a notify on all settings""" - notification_settings = NotificationSettingsFactory.create_batch( - 5, weekly=True, frontpage_type=True - ) - mock_notifier = mocker.patch( - "notifications.notifiers.frontpage.FrontpageDigestNotifier", autospec=True - ) - mock_notifier_instance = mock_notifier.return_value - mock_notifier_instance.side_effect = side_effect - - api.attempt_send_notification_batch([ns.id for ns in notification_settings]) - - assert mock_notifier.call_count == len(notification_settings) - - for notificiation_setting in notification_settings: - mock_notifier.assert_any_call(notificiation_setting) - - assert mock_notifier_instance.attempt_notify.call_count == len( - notification_settings - ) - - -def test_send_unsent_email_notifications(mocker, settings): - """Tests that send_unsent_email_notifications triggers a task for each batch""" - - settings.NOTIFICATION_SEND_CHUNK_SIZE = 75 - - frontpage_notifications_ids = sorted( - [ - note.id - for note in EmailNotificationFactory.create_batch(150, frontpage_type=True) - ] - ) - - other_notifications_ids = sorted( - [ - note.id - for note in EmailNotificationFactory.create_batch(150, comments_type=True) - ] - ) - - mock_frontpage_task = mocker.patch( - "notifications.tasks.send_frontpage_email_notification_batch" - ).delay - - mock_other_notifications_task = mocker.patch( - "notifications.tasks.send_email_notification_batch" - ).delay - - assert ( - EmailNotification.objects.filter(state=EmailNotification.STATE_SENDING).count() - == 0 - ) - - api.send_unsent_email_notifications() - - assert mock_frontpage_task.call_count == 2 - mock_frontpage_task.assert_any_call(frontpage_notifications_ids[:75]) - mock_frontpage_task.assert_any_call(frontpage_notifications_ids[75:]) - - assert mock_other_notifications_task.call_count == 2 - mock_other_notifications_task.assert_any_call(other_notifications_ids[:75]) - mock_other_notifications_task.assert_any_call(other_notifications_ids[75:]) - - assert EmailNotification.objects.filter( - state=EmailNotification.STATE_SENDING - ).count() == len(frontpage_notifications_ids) + len(other_notifications_ids) - - -@pytest.mark.parametrize("should_cancel", (True, False)) -@pytest.mark.parametrize( - "notification_type, notifier_fqn", - [ - ( - NOTIFICATION_TYPE_COMMENTS, - "notifications.notifiers.comments.CommentNotifier", - ), - ( - NOTIFICATION_TYPE_FRONTPAGE, - "notifications.notifiers.frontpage.FrontpageDigestNotifier", - ), - ( - NOTIFICATION_TYPE_MODERATOR, - "notifications.notifiers.moderator_posts.ModeratorPostsNotifier", - ), - ], -) -def test_send_email_notification_batch( - mocker, should_cancel, notification_type, notifier_fqn -): - """Verify send_email_notification_batch calls the notifier for each of the notifications it is given""" - - notifications = EmailNotificationFactory.create_batch( - 5, notification_type=notification_type - ) - - if notification_type == NOTIFICATION_TYPE_MODERATOR: - channel = ChannelFactory.create() - - mock_admin_api = Mock() - - mock_admin_api.get_post().subreddit.display_name = channel.name - mocker.patch( - "notifications.api.get_admin_api", - autospec=True, - return_value=mock_admin_api, - ) - - for notification in notifications: - PostEventFactory.create(email_notification=notification) - - NotificationSettingsFactory.create( - user=notification.user, - notification_type=notification_type, - channel=channel, - ) - else: - for notification in notifications: - NotificationSettingsFactory.create( - user=notification.user, notification_type=notification_type - ) - - mock_notifier = mocker.patch(notifier_fqn).return_value - - if should_cancel: - mock_notifier.send_notification.side_effect = CancelNotificationError - - api.send_email_notification_batch([note.id for note in notifications]) - - assert mock_notifier.send_notification.call_count == len(notifications) - - for notification in notifications: - notification.refresh_from_db() - mock_notifier.send_notification.assert_any_call(notification) - - if should_cancel: - assert notification.state == EmailNotification.STATE_CANCELED - - -@pytest.mark.parametrize("post_id,comment_id", [("1", "4"), ("1", None)]) -def test_send_comment_notifications(post_id, comment_id): - """Tests that send_comment_notifications works correctly""" - comment_users = UserFactory.create_batch(5) - for user in comment_users: - NotificationSettingsFactory.create(user=user, comments_type=True) - # create both so we cover the notifiication deduplication - SubscriptionFactory.create(user=user, post_id=post_id, comment_id=comment_id) - SubscriptionFactory.create(user=user, post_id=post_id, comment_id=None) - - post_users = UserFactory.create_batch(5) - for user in post_users: - NotificationSettingsFactory.create(user=user, comments_type=True) - SubscriptionFactory.create(user=user, post_id=post_id, comment_id=None) - - # create just a subscription for a user so we can test no settings scenario - SubscriptionFactory.create(post_id=post_id, comment_id=comment_id) - - # create a bunch on other subscriptions - SubscriptionFactory.create_batch(10) - - api.send_comment_notifications(post_id, comment_id, "abc") - - users = post_users + comment_users - - assert CommentEvent.objects.count() == len(users) - for event in CommentEvent.objects.all(): - assert event.post_id == post_id - assert event.comment_id == "abc" - assert event.user in users - - -def test_send_moderator_notifications(mocker): - """Tests that send_moderator_notifications works correctly""" - - mod_user = UserFactory.create() - reddit_user = Mock() - reddit_user.name = mod_user.username - - channel = ChannelFactory.create() - - mock_api = Mock() - mock_api.list_moderators.return_value = [reddit_user] - - mocker.patch("notifications.api.get_admin_api", return_value=mock_api) - - NotificationSettingsFactory.create( - user=mod_user, channel=channel, notification_type=NOTIFICATION_TYPE_MODERATOR - ) - api.send_moderator_notifications("1", channel.name) - - assert PostEvent.objects.count() == 1 - event = PostEvent.objects.last() - assert event.post_id == "1" - assert event.user == mod_user - - assert EmailNotification.objects.count() == 1 - notification = EmailNotification.objects.last() - assert notification.user == mod_user - assert notification.notification_type == NOTIFICATION_TYPE_MODERATOR - - -def test_send_moderator_notifications_missing_setting(mocker): - """ - Tests that send_moderator_notifications creates a new notification setting and continues - if a moderator is missing a notification setting - """ - - mod_user = UserFactory.create() - reddit_user = Mock() - reddit_user.name = mod_user.username - - misconfigured_mod_user = UserFactory.create() - misconfigured_reddit_user = Mock() - misconfigured_reddit_user.name = misconfigured_mod_user.username - - channel = ChannelFactory.create() - - mock_api = Mock() - mock_api.list_moderators.return_value = [misconfigured_reddit_user, reddit_user] - - mocker.patch("notifications.api.get_admin_api", return_value=mock_api) - - NotificationSettingsFactory.create( - user=mod_user, channel=channel, notification_type=NOTIFICATION_TYPE_MODERATOR - ) - api.send_moderator_notifications("1", channel.name) - - new_setting = NotificationSettings.objects.last() - assert new_setting.user == misconfigured_mod_user - assert new_setting.channel == channel - assert new_setting.trigger_frequency == FREQUENCY_NEVER - - assert PostEvent.objects.count() == 2 - assert EmailNotification.objects.count() == 2 diff --git a/notifications/apps.py b/notifications/apps.py deleted file mode 100644 index 81652cb617..0000000000 --- a/notifications/apps.py +++ /dev/null @@ -1,8 +0,0 @@ -"""Notification apps""" -from django.apps import AppConfig - - -class NotificationsConfig(AppConfig): - """Notifications config""" - - name = "notifications" diff --git a/notifications/factories.py b/notifications/factories.py deleted file mode 100644 index 8614bae1dc..0000000000 --- a/notifications/factories.py +++ /dev/null @@ -1,81 +0,0 @@ -"""Factories for making test data""" -import factory -from factory import Faker, SubFactory -from factory.django import DjangoModelFactory -from factory.fuzzy import FuzzyChoice -import pytz -import base36 - -from open_discussions.factories import UserFactory -from notifications.models import ( - NotificationSettings, - EmailNotification, - PostEvent, - FREQUENCIES, - FREQUENCY_IMMEDIATE, - FREQUENCY_DAILY, - FREQUENCY_WEEKLY, - FREQUENCY_NEVER, - NOTIFICATION_TYPES, - NOTIFICATION_TYPE_FRONTPAGE, - NOTIFICATION_TYPE_COMMENTS, -) - - -class NotificationSettingsFactory(DjangoModelFactory): - """Factory for NotificationSettings""" - - user = SubFactory(UserFactory) - notification_type = FuzzyChoice(NOTIFICATION_TYPES) - channel = None - - via_app = Faker("boolean") - via_email = Faker("boolean") - - trigger_frequency = FuzzyChoice(FREQUENCIES) - - class Meta: - model = NotificationSettings - - class Params: - frontpage_type = factory.Trait(notification_type=NOTIFICATION_TYPE_FRONTPAGE) - comments_type = factory.Trait(notification_type=NOTIFICATION_TYPE_COMMENTS) - - immediate = factory.Trait(trigger_frequency=FREQUENCY_IMMEDIATE) - weekly = factory.Trait(trigger_frequency=FREQUENCY_WEEKLY) - daily = factory.Trait(trigger_frequency=FREQUENCY_DAILY) - never = factory.Trait(trigger_frequency=FREQUENCY_NEVER) - - -class EmailNotificationFactory(DjangoModelFactory): - """Factory for EmailNotification""" - - user = SubFactory(UserFactory) - notification_type = FuzzyChoice(NOTIFICATION_TYPES) - - state = EmailNotification.STATE_PENDING - sent_at = None - - class Meta: - model = EmailNotification - - class Params: - frontpage_type = factory.Trait(notification_type=NOTIFICATION_TYPE_FRONTPAGE) - comments_type = factory.Trait(notification_type=NOTIFICATION_TYPE_COMMENTS) - - sent = factory.Trait( - state=EmailNotification.STATE_SENT, - sent_at=Faker("past_datetime", tzinfo=pytz.utc), - ) - sending = factory.Trait(state=EmailNotification.STATE_SENDING) - - -class PostEventFactory(DjangoModelFactory): - """Factory for PostEvent""" - - user = SubFactory(UserFactory) - post_id = factory.Sequence(base36.dumps) - email_notification = SubFactory(EmailNotificationFactory) - - class Meta: - model = PostEvent diff --git a/notifications/management/__init__.py b/notifications/management/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/notifications/management/commands/__init__.py b/notifications/management/commands/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/notifications/management/commands/populate_notification_settings.py b/notifications/management/commands/populate_notification_settings.py deleted file mode 100644 index 9f5065765c..0000000000 --- a/notifications/management/commands/populate_notification_settings.py +++ /dev/null @@ -1,23 +0,0 @@ -"""Command to populate user notification settings""" -from django.core.management.base import BaseCommand -from django.contrib.auth import get_user_model - -from notifications import api - - -class Command(BaseCommand): - """Populates user notification setting""" - - help = "Populates user notification settings" - - def add_arguments(self, parser): - parser.add_argument("--username", nargs="?", action="append") - - def handle(self, *args, **options): - users = get_user_model().objects.all() - - if options["username"]: - users = users.filter(username__in=options["username"]) - - for user in users.iterator(): - api.ensure_notification_settings(user) diff --git a/notifications/migrations/0001_add_notification_settings.py b/notifications/migrations/0001_add_notification_settings.py deleted file mode 100644 index 606ef66454..0000000000 --- a/notifications/migrations/0001_add_notification_settings.py +++ /dev/null @@ -1,66 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.10.5 on 2018-02-14 21:05 -from __future__ import unicode_literals - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [migrations.swappable_dependency(settings.AUTH_USER_MODEL)] - - operations = [ - migrations.CreateModel( - name="NotificationSettings", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("created_on", models.DateTimeField(auto_now_add=True)), - ("updated_on", models.DateTimeField(auto_now=True)), - ( - "notification_type", - models.CharField( - choices=[("frontpage", "Frontpage"), ("comments", "Comments")], - max_length=20, - ), - ), - ("via_app", models.BooleanField(default=False)), - ("via_email", models.BooleanField(default=True)), - ( - "trigger_frequency", - models.CharField( - choices=[ - ("never", "Never"), - ("immediate", "Immediate"), - ("daily", "Daily"), - ("weekly", "Weekly"), - ], - max_length=10, - ), - ), - ( - "user", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - related_name="notification_settings", - to=settings.AUTH_USER_MODEL, - ), - ), - ], - ), - migrations.AlterUniqueTogether( - name="notificationsettings", - unique_together=set([("user", "notification_type")]), - ), - ] diff --git a/notifications/migrations/0002_add_notifications.py b/notifications/migrations/0002_add_notifications.py deleted file mode 100644 index d1eaadc1a4..0000000000 --- a/notifications/migrations/0002_add_notifications.py +++ /dev/null @@ -1,71 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.10.5 on 2018-03-05 16:03 -from __future__ import unicode_literals - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("notifications", "0001_add_notification_settings"), - ] - - operations = [ - migrations.CreateModel( - name="EmailNotification", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("created_on", models.DateTimeField(auto_now_add=True)), - ("updated_on", models.DateTimeField(auto_now=True)), - ( - "notification_type", - models.CharField( - choices=[("frontpage", "Frontpage"), ("comments", "Comments")], - max_length=20, - ), - ), - ( - "state", - models.CharField( - choices=[ - ("pending", "Pending"), - ("sending", "Sending"), - ("sent", "Sent"), - ], - default="pending", - max_length=10, - ), - ), - ("sent_at", models.DateTimeField(null=True)), - ( - "user", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, - ), - ), - ], - ), - migrations.AlterIndexTogether( - name="notificationsettings", - index_together=set([("notification_type", "trigger_frequency")]), - ), - migrations.AlterIndexTogether( - name="emailnotification", - index_together=set( - [("state", "updated_on"), ("user", "notification_type", "created_on")] - ), - ), - ] diff --git a/notifications/migrations/0003_add_notification_skipped.py b/notifications/migrations/0003_add_notification_skipped.py deleted file mode 100644 index 1a4a88c5c0..0000000000 --- a/notifications/migrations/0003_add_notification_skipped.py +++ /dev/null @@ -1,27 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.10.5 on 2018-03-09 16:04 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [("notifications", "0002_add_notifications")] - - operations = [ - migrations.AlterField( - model_name="emailnotification", - name="state", - field=models.CharField( - choices=[ - ("pending", "Pending"), - ("sending", "Sending"), - ("sent", "Sent"), - ("canceled", "Canceled"), - ], - default="pending", - max_length=10, - ), - ) - ] diff --git a/notifications/migrations/0004_add_comment_event.py b/notifications/migrations/0004_add_comment_event.py deleted file mode 100644 index b077a34aeb..0000000000 --- a/notifications/migrations/0004_add_comment_event.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.10 on 2018-03-29 14:45 -from __future__ import unicode_literals - -import channels.models -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("notifications", "0003_add_notification_skipped"), - ] - - operations = [ - migrations.CreateModel( - name="CommentEvent", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("created_on", models.DateTimeField(auto_now_add=True)), - ("updated_on", models.DateTimeField(auto_now=True)), - ("post_id", channels.models.Base36IntegerField()), - ("comment_id", channels.models.Base36IntegerField(null=True)), - ( - "email_notification", - models.ForeignKey( - null=True, - on_delete=django.db.models.deletion.CASCADE, - to="notifications.EmailNotification", - ), - ), - ( - "user", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, - ), - ), - ], - ), - migrations.AlterUniqueTogether( - name="commentevent", - unique_together=set([("user", "post_id", "comment_id")]), - ), - ] diff --git a/notifications/migrations/0005_moderator_post_notifications.py b/notifications/migrations/0005_moderator_post_notifications.py deleted file mode 100644 index b1c557f834..0000000000 --- a/notifications/migrations/0005_moderator_post_notifications.py +++ /dev/null @@ -1,74 +0,0 @@ -# Generated by Django 2.2.13 on 2020-11-12 18:34 - -import channels.models -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("notifications", "0004_add_comment_event"), - ] - - operations = [ - migrations.AlterField( - model_name="emailnotification", - name="notification_type", - field=models.CharField( - choices=[ - ("frontpage", "Frontpage"), - ("comments", "Comments"), - ("moderator_posts", "Moderator"), - ], - max_length=20, - ), - ), - migrations.AlterField( - model_name="notificationsettings", - name="notification_type", - field=models.CharField( - choices=[ - ("frontpage", "Frontpage"), - ("comments", "Comments"), - ("moderator_posts", "Moderator"), - ], - max_length=20, - ), - ), - migrations.CreateModel( - name="PostEvent", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("created_on", models.DateTimeField(auto_now_add=True)), - ("updated_on", models.DateTimeField(auto_now=True)), - ("post_id", channels.models.Base36IntegerField()), - ( - "email_notification", - models.ForeignKey( - null=True, - on_delete=django.db.models.deletion.CASCADE, - to="notifications.EmailNotification", - ), - ), - ( - "user", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to=settings.AUTH_USER_MODEL, - ), - ), - ], - options={"unique_together": {("user", "post_id")}}, - ), - ] diff --git a/notifications/migrations/0006_moderator_post_notifiacation_channel.py b/notifications/migrations/0006_moderator_post_notifiacation_channel.py deleted file mode 100644 index b2e973759e..0000000000 --- a/notifications/migrations/0006_moderator_post_notifiacation_channel.py +++ /dev/null @@ -1,44 +0,0 @@ -# Generated by Django 2.2.13 on 2021-01-05 02:48 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ("channels", "0026_channel_moderator_notifications"), - ("notifications", "0005_moderator_post_notifications"), - ] - - operations = [ - migrations.AddField( - model_name="notificationsettings", - name="channel", - field=models.ForeignKey( - blank=True, - default=None, - null=True, - on_delete=django.db.models.deletion.CASCADE, - to="channels.Channel", - ), - ), - migrations.AlterUniqueTogether( - name="notificationsettings", unique_together=set() - ), - migrations.AddConstraint( - model_name="notificationsettings", - constraint=models.UniqueConstraint( - fields=("user", "notification_type", "channel"), - name="unique_with_channel", - ), - ), - migrations.AddConstraint( - model_name="notificationsettings", - constraint=models.UniqueConstraint( - condition=models.Q(channel=None), - fields=("user", "notification_type"), - name="unique_without_channel", - ), - ), - ] diff --git a/notifications/migrations/__init__.py b/notifications/migrations/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/notifications/models.py b/notifications/models.py deleted file mode 100644 index e1992a5854..0000000000 --- a/notifications/models.py +++ /dev/null @@ -1,174 +0,0 @@ -"""Notification models""" -from django.conf import settings -from django.db import models -from django.db.models import Q -from django.db.models.constraints import UniqueConstraint - -from channels.models import Base36IntegerField, Channel -from open_discussions.models import TimestampedModel - -NOTIFICATION_TYPE_FRONTPAGE = "frontpage" -NOTIFICATION_TYPE_COMMENTS = "comments" -NOTIFICATION_TYPE_MODERATOR = "moderator_posts" -NOTIFICATION_TYPE_CHOICES = ( - (NOTIFICATION_TYPE_FRONTPAGE, "Frontpage"), - (NOTIFICATION_TYPE_COMMENTS, "Comments"), - (NOTIFICATION_TYPE_MODERATOR, "Moderator"), -) -NOTIFICATION_TYPES = [choice[0] for choice in NOTIFICATION_TYPE_CHOICES] - -FREQUENCY_IMMEDIATE = "immediate" -FREQUENCY_DAILY = "daily" -FREQUENCY_WEEKLY = "weekly" -FREQUENCY_NEVER = "never" -FREQUENCY_CHOICES = ( - (FREQUENCY_NEVER, "Never"), - (FREQUENCY_IMMEDIATE, "Immediate"), - (FREQUENCY_DAILY, "Daily"), - (FREQUENCY_WEEKLY, "Weekly"), -) -FREQUENCIES = [choice[0] for choice in FREQUENCY_CHOICES] - -DELIVERY_TYPE_EMAIL = "email" -DELIVERY_TYPE_IN_APP = "in_app" -DELIVERY_TYPE_CHOICES = ( - (DELIVERY_TYPE_EMAIL, "Email"), - (DELIVERY_TYPE_IN_APP, "In App"), -) - - -class NotificationSettings(TimestampedModel): - """Notification settings""" - - user = models.ForeignKey( - settings.AUTH_USER_MODEL, - on_delete=models.CASCADE, - related_name="notification_settings", - ) - - notification_type = models.CharField( - max_length=20, choices=NOTIFICATION_TYPE_CHOICES - ) - - via_app = models.BooleanField(default=False) - via_email = models.BooleanField(default=True) - - trigger_frequency = models.CharField( - max_length=10, choices=FREQUENCY_CHOICES, blank=False - ) - - channel = models.ForeignKey( - Channel, on_delete=models.CASCADE, default=None, blank=True, null=True - ) - - @classmethod - def frontpage_settings(cls): - """Returns a QuerySet filtered to frontpage notification settings""" - return cls.objects.filter(notification_type=NOTIFICATION_TYPE_FRONTPAGE) - - @property - def is_triggered_daily(self): - """Returns True if the trigger_frequency is daily""" - return self.trigger_frequency == FREQUENCY_DAILY - - @property - def is_triggered_weekly(self): - """Returns True if the trigger_frequency is weekly""" - return self.trigger_frequency == FREQUENCY_WEEKLY - - @property - def is_triggered_immediate(self): - """Returns True if the trigger_frequency is immediate""" - return self.trigger_frequency == FREQUENCY_IMMEDIATE - - @property - def is_triggered_never(self): - """Returns True if the trigger_frequency is never""" - return self.trigger_frequency == FREQUENCY_NEVER - - class Meta: - constraints = [ - UniqueConstraint( - fields=["user", "notification_type", "channel"], - name="unique_with_channel", - ), - UniqueConstraint( - fields=["user", "notification_type"], - condition=Q(channel=None), - name="unique_without_channel", - ), - ] - - index_together = (("notification_type", "trigger_frequency"),) - - -class NotificationBase(TimestampedModel): - """ - Abstract base model for notifications - - The intent here is to keep a core base behavior that is simple, but allow - specific delivery mechanisms to add their own fields by having them be separate tables - """ - - user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) - - notification_type = models.CharField( - max_length=20, choices=NOTIFICATION_TYPE_CHOICES - ) - - class Meta: - abstract = True - - index_together = (("user", "notification_type", "created_on"),) - - -class EmailNotification(NotificationBase): - """Notification model for emails""" - - STATE_PENDING = "pending" - STATE_SENDING = "sending" - STATE_SENT = "sent" - STATE_CANCELED = "canceled" - STATE_CHOICES = ( - (STATE_PENDING, "Pending"), - (STATE_SENDING, "Sending"), - (STATE_SENT, "Sent"), - (STATE_CANCELED, "Canceled"), - ) - - state = models.CharField( - choices=STATE_CHOICES, max_length=10, default=STATE_PENDING - ) - sent_at = models.DateTimeField(null=True) - - class Meta: - index_together = ( - ("state", "updated_on"), - ) + NotificationBase.Meta.index_together - - -class CommentEvent(TimestampedModel): - """Represents a new comment on a subscribed object""" - - user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) - post_id = Base36IntegerField() - comment_id = Base36IntegerField(null=True) - email_notification = models.ForeignKey( - EmailNotification, on_delete=models.CASCADE, null=True - ) - - class Meta: - unique_together = (("user", "post_id", "comment_id"),) - - -class PostEvent(TimestampedModel): - """Represents a new post in a chennel where the moderators want to see post notifications""" - - user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) - post_id = Base36IntegerField() - email_notification = models.ForeignKey( - EmailNotification, on_delete=models.CASCADE, null=True - ) - - class Meta: - unique_together = (("user", "post_id"),) diff --git a/notifications/models_test.py b/notifications/models_test.py deleted file mode 100644 index 703342debb..0000000000 --- a/notifications/models_test.py +++ /dev/null @@ -1,24 +0,0 @@ -"""Tests for models""" -import pytest - -from notifications.factories import NotificationSettingsFactory -from notifications.models import ( - FREQUENCY_IMMEDIATE, - FREQUENCY_DAILY, - FREQUENCY_NEVER, - FREQUENCY_WEEKLY, - FREQUENCIES, -) - -pytestmark = pytest.mark.django_db - - -@pytest.mark.parametrize("trigger_frequency", FREQUENCIES) -def test_triggered_properties(trigger_frequency): - """Test that the is_triggered_X properties return correct values""" - ns = NotificationSettingsFactory.create(trigger_frequency=trigger_frequency) - - assert ns.is_triggered_immediate is (trigger_frequency == FREQUENCY_IMMEDIATE) - assert ns.is_triggered_never is (trigger_frequency == FREQUENCY_NEVER) - assert ns.is_triggered_weekly is (trigger_frequency == FREQUENCY_WEEKLY) - assert ns.is_triggered_daily is (trigger_frequency == FREQUENCY_DAILY) diff --git a/notifications/notifiers/__init__.py b/notifications/notifiers/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/notifications/notifiers/base.py b/notifications/notifiers/base.py deleted file mode 100644 index 902c11af8d..0000000000 --- a/notifications/notifiers/base.py +++ /dev/null @@ -1,126 +0,0 @@ -"""Base implementation for sending notifications""" -import logging -from datetime import timedelta - -from notifications.notifiers.exceptions import InvalidTriggerFrequencyError -from notifications.models import NotificationBase -from open_discussions.utils import now_in_utc, normalize_to_start_of_day - -DELTA_ONE_DAY = timedelta(days=1) -DELTA_ONE_WEEK = timedelta(days=7) - -log = logging.getLogger() - - -class BaseNotifier: - """Base class for notifier""" - - def __init__(self, notification_cls, notification_settings): - if not issubclass(notification_cls, NotificationBase): - raise AttributeError( - "'notification_cls' must be a subclass of NotificationBase" - ) - self.notification_cls = notification_cls - self.notification_settings = notification_settings - - @property - def user(self): - """Returns the user for this notifier""" - return self.notification_settings.user - - def _get_most_recent_notification(self, before=None): - """ - Get the most recent notification - - Args: - before (NotificationBase): notification to filter recent notifications before - - Returns: - NotificationBase: concrete instance of a notification or None - """ - query = self.notification_cls.objects.filter( - user=self.user, - notification_type=self.notification_settings.notification_type, - ) - - if before is not None: - query = query.filter(created_on__lt=before.created_on) - - return query.order_by("-created_on").first() - - def can_notify(self, last_notification): - """ - Returns true if we can notify this user based on their settings and when the last notification occurred - - Args: - last_notification (NotificationBase): last notification that was triggered for this NotificationSettings - - Raises: - InvalidTriggerFrequencyError: if the frequency is invalid - - Returns: - bool: True if we're due to send another notification - """ - if ( - not self.notification_settings.user.is_active - or self.notification_settings.is_triggered_never - ): - return False - - # special case if we've never sent a notification or the setting is for an immediate send - if ( - last_notification is None - or self.notification_settings.is_triggered_immediate - ): - return True - - # normalize now and created_on to the start of their respective days - normalized_now = normalize_to_start_of_day(now_in_utc()) - normalized_created_on = normalize_to_start_of_day(last_notification.created_on) - - if self.notification_settings.is_triggered_daily: - trigger_offset = DELTA_ONE_DAY - elif self.notification_settings.is_triggered_weekly: - trigger_offset = DELTA_ONE_WEEK - else: - # practically, we'd only see this if our code called a notifier invalidly for a NEVER trigger_frequency - raise InvalidTriggerFrequencyError( - "Unsupported trigger_frequency: {}".format( - self.notification_settings.trigger_frequency - ) - ) - - # return true if the normalized value is at least trigger_offset in the past - return (normalized_created_on + trigger_offset) <= normalized_now - - def attempt_notify(self): - """ - Attempts to notify the recipient - - Returns: - NotificationBase: concrete instance of a notification or None - """ - last_notification = self._get_most_recent_notification() - - if self.can_notify(last_notification): - return self.notify() - - return None - - def notify(self): - """ - Attempts to notify the recipient via email - """ - return self._create_notification() - - def _create_notification(self): - """ - Get the most recent notification - - Returns: - NotificationBase: concrete instance of a notification or None - """ - return self.notification_cls.objects.create( - user=self.user, - notification_type=self.notification_settings.notification_type, - ) diff --git a/notifications/notifiers/base_test.py b/notifications/notifiers/base_test.py deleted file mode 100644 index 1486c49084..0000000000 --- a/notifications/notifiers/base_test.py +++ /dev/null @@ -1,95 +0,0 @@ -"""Tests for BaseNotifier""" -# pylint: disable=redefined-outer-name -from datetime import datetime, timedelta - -import pytest -import pytz - -from notifications.factories import NotificationSettingsFactory -from notifications.models import NotificationBase, FREQUENCY_DAILY, FREQUENCY_WEEKLY -from notifications.notifiers.base import BaseNotifier, DELTA_ONE_WEEK, DELTA_ONE_DAY -from notifications.notifiers.exceptions import InvalidTriggerFrequencyError -from open_discussions.utils import now_in_utc - -pytestmark = pytest.mark.django_db - - -@pytest.fixture -def notifier(mocker): - """BaseNotifier fixture""" - # bypass the typecheck here - notifier = BaseNotifier(NotificationBase, None) - notifier.notification_cls = mocker.Mock(spec=NotificationBase) - return notifier - - -def test_invalid_notification_cls(): - """Tests that an AttributeError is raised""" - - class _NotANotification: - """Dummy class that doesn't subclass NotificationBase""" - - with pytest.raises(AttributeError): - BaseNotifier(_NotANotification, None) - - -@pytest.mark.parametrize("is_active", [True, False]) -def test_can_notify_immediate(notifier, mocker, is_active): - """Tests that if the settings are for immediate the notification triggers""" - notifier.notification_settings = NotificationSettingsFactory.create( - immediate=True, user__is_active=is_active - ) - assert notifier.can_notify(mocker.Mock()) is is_active - - -@pytest.mark.parametrize("expected", [True, False]) -@pytest.mark.parametrize("frequency", [FREQUENCY_DAILY, FREQUENCY_WEEKLY]) -@pytest.mark.parametrize("hour_of_day", range(23)) -def test_can_notify(notifier, mocker, frequency, expected, hour_of_day): - """Tests that it triggers correctly given the last notification""" - now = datetime(2018, 4, 18, hour_of_day, 0, 0, tzinfo=pytz.utc) - if expected is False: - offset = timedelta(0) - else: - offset = DELTA_ONE_DAY if frequency == FREQUENCY_DAILY else DELTA_ONE_WEEK - mocker.patch("notifications.notifiers.base.now_in_utc", return_value=now) - notifier.notification_settings = NotificationSettingsFactory.create( - trigger_frequency=frequency - ) - notification = mocker.Mock() - notification.created_on = datetime(2018, 4, 18, 0, 0, 0, tzinfo=pytz.utc) - offset - assert notifier.can_notify(notification) is expected - - -def test_can_notify_never(notifier, mocker): - """Tests that if the settings are for never the can_notify is False""" - notifier.notification_settings = NotificationSettingsFactory.create(never=True) - assert notifier.can_notify(mocker.Mock()) is False - - -def test_can_notify_invalid_frequency(notifier, mocker): - """Tests that this raises an error if an unsupported trigger_frequency is used""" - notifier.notification_settings = NotificationSettingsFactory.create( - trigger_frequency="bananas" - ) - notification = mocker.Mock() - notification.created_on = now_in_utc() - with pytest.raises(InvalidTriggerFrequencyError): - notifier.can_notify(notification) - - -@pytest.mark.parametrize("can_notify", [True, False]) -def test_attempt_notify(notifier, mocker, can_notify): - """Tests that this creates a new notification in pending status""" - ns = NotificationSettingsFactory.create(immediate=True) - notifier.notification_settings = ns - mocker.patch.object(notifier, "can_notify", return_value=can_notify) - - notifier.attempt_notify() - - if can_notify: - notifier.notification_cls.objects.create.assert_called_once_with( - user=ns.user, notification_type=ns.notification_type - ) - else: - notifier.notification_cls.objects.create.assert_not_called() diff --git a/notifications/notifiers/comments.py b/notifications/notifiers/comments.py deleted file mode 100644 index 1f5733ca42..0000000000 --- a/notifications/notifiers/comments.py +++ /dev/null @@ -1,98 +0,0 @@ -"""Subscription notifiers""" -from django.db import transaction -from praw.models import Comment - -from channels import api -from channels.proxies import proxy_post -from channels.serializers.comments import CommentSerializer -from channels.serializers.posts import PostSerializer -from notifications.models import CommentEvent -from notifications.notifiers.email import EmailNotifier -from notifications.utils import praw_error_to_cancelled -from open_discussions import features - - -class CommentNotifier(EmailNotifier): - """Notifier for post/comment subscriptions""" - - def __init__(self, notification_settings): - super().__init__("comments", notification_settings) - - def can_notify(self, last_notification): - """ - Returns true if we can notify this user based on their settings and when the last notification occurred - - Args: - last_notification (NotificationBase): last notification that was triggered for this NotificationSettings - - Raises: - InvalidTriggerFrequencyError: if the frequency is invalid - - Returns: - bool: True if we're due to send another notification - """ - return features.is_enabled( - features.COMMENT_NOTIFICATIONS - ) and super().can_notify(last_notification) - - @praw_error_to_cancelled() - def _get_notification_data( - self, current_notification, last_notification - ): # pylint: disable=unused-argument - """ - Gets the data for this notification - - Args: - current_notification (NotificationBase): current notification we're sending for - last_notification (NotificationBase): last notification that was triggered for this NotificationSettings - - Raises: - InvalidTriggerFrequencyError: if the frequency is invalid for the frontpage digest - """ - event = CommentEvent.objects.get(email_notification=current_notification) - api_client = api.Api(self.user) - comment = api_client.get_comment(event.comment_id) - parent = comment.parent() - is_comment_reply = isinstance(parent, Comment) - ctx = {"current_user": self.user} - - post = proxy_post(comment.submission) - - if not is_comment_reply: - parent = proxy_post(parent) - - return { - "is_comment_reply": is_comment_reply, - "post": PostSerializer(post, context=ctx).data, - "parent": ( - CommentSerializer(parent, context=ctx) - if is_comment_reply - else PostSerializer(parent, context=ctx) - ).data, - "comment": CommentSerializer(comment, context=ctx).data, - } - - def create_comment_event(self, subscription, comment_id): - """ - Creates a new CommentEvent - - Args: - subscription (channels.models.Subscription): the subscription this event is triggered from - comment_id (str): the base36 id of the new comment - - Returns: - CommentEvent: the created event - """ - kwargs = {} - - with transaction.atomic(): - # if this is an immediate trigger notification, create and assign the event to it right away - if self.notification_settings.is_triggered_immediate: - kwargs["email_notification"] = self._create_notification() - - return CommentEvent.objects.create( - user=subscription.user, - post_id=subscription.post_id, - comment_id=comment_id, - **kwargs, - ) diff --git a/notifications/notifiers/comments_test.py b/notifications/notifiers/comments_test.py deleted file mode 100644 index 36c1f13ca2..0000000000 --- a/notifications/notifiers/comments_test.py +++ /dev/null @@ -1,84 +0,0 @@ -"""Tests for comments notifier""" -from django.core.mail import EmailMessage -import pytest - -from channels.models import Subscription -from channels.factories.models import SubscriptionFactory -from notifications.factories import NotificationSettingsFactory -from notifications.models import EmailNotification -from notifications.notifiers import comments -from open_discussions import features -from open_discussions.test_utils import any_instance_of - -pytestmark = [pytest.mark.django_db] - - -@pytest.mark.parametrize("is_enabled", [True, False]) -@pytest.mark.parametrize("can_notify", [True, False]) -def test_can_notify(mocker, settings, is_enabled, can_notify): - """Test that can_notify works correctly""" - mock_can_notify = mocker.patch( - "notifications.notifiers.email.EmailNotifier.can_notify", - return_value=can_notify, - ) - notifier = comments.CommentNotifier(None) - settings.FEATURES[features.COMMENT_NOTIFICATIONS] = is_enabled - mock_notification = mocker.Mock() - expected = is_enabled and can_notify - assert notifier.can_notify(mock_notification) is expected - if is_enabled: - mock_can_notify.assert_called_once_with(mock_notification) - else: - mock_can_notify.assert_not_called() - - -@pytest.mark.parametrize("is_immediate", [True, False]) -@pytest.mark.parametrize("is_comment", [True, False]) -def test_create_comment_event(is_immediate, is_comment): - """Tests that create_comment_event works correctly""" - ns = NotificationSettingsFactory.create( - immediate=is_immediate, never=not is_immediate - ) - notifier = comments.CommentNotifier(ns) - subscription = SubscriptionFactory.create(user=ns.user, is_comment=is_comment) - event = notifier.create_comment_event(subscription, "h") - - assert event.post_id == subscription.post_id - assert event.comment_id == "h" - - if is_immediate: - assert event.email_notification is not None - else: - assert event.email_notification is None - - -@pytest.mark.betamax -@pytest.mark.parametrize("is_parent_comment", [True, False]) -def test_send_notification( - mocker, is_parent_comment, reddit_factories, private_channel_and_contributor -): - """Tests send_notification""" - channel, user = private_channel_and_contributor - ns = NotificationSettingsFactory.create( - user=user, comments_type=True, via_email=True, immediate=True - ) - notifier = comments.CommentNotifier(ns) - send_messages_mock = mocker.patch("mail.api.send_messages") - post = reddit_factories.text_post("just a post", user, channel=channel) - comment = reddit_factories.comment("just a comment", user, post_id=post.id) - if is_parent_comment: - subscription = Subscription.objects.create( - user=user, comment_id=comment.id, post_id=post.id - ) - comment = reddit_factories.comment("reply comment", user, comment_id=comment.id) - else: - subscription = Subscription.objects.create(user=user, post_id=post.id) - - event = notifier.create_comment_event(subscription, comment.id) - note = event.email_notification - note.state = EmailNotification.STATE_SENDING - note.save() - - notifier.send_notification(note) - - send_messages_mock.assert_called_once_with([any_instance_of(EmailMessage)]) diff --git a/notifications/notifiers/email.py b/notifications/notifiers/email.py deleted file mode 100644 index 420da8141a..0000000000 --- a/notifications/notifiers/email.py +++ /dev/null @@ -1,103 +0,0 @@ -"""Email-based notifier""" -import logging - -from mail import api -from notifications.notifiers.exceptions import CancelNotificationError -from notifications.notifiers.base import BaseNotifier -from notifications.models import EmailNotification -from notifications import utils -from open_discussions import features - -log = logging.getLogger() - - -class EmailNotifier(BaseNotifier): - """Notifier for email notifications""" - - def __init__(self, template_name, notification_settings): - # sets notification_cls - super().__init__(EmailNotification, notification_settings) - self._template_name = template_name - - def can_notify(self, last_notification): - """ - Returns true if we can notify this user based on their settings and when the last notification occurred - - Args: - last_notification (NotificationBase): last notification that was triggered for this NotificationSettings - - Raises: - InvalidTriggerFrequencyError: if the frequency is invalid - - Returns: - bool: True if we're due to send another notification - """ - return ( - features.is_enabled(features.EMAIL_NOTIFICATIONS) - and self.notification_settings.via_email - and api.can_email_user(self.user) - and super().can_notify(last_notification) - ) - - def _get_notification_data( - self, current_notification, last_notification - ): # pylint: disable=unused-argument - """ - Gets the data for this notification - - Args: - current_notification (NotificationBase): current notification we're sending for - last_notification (NotificationBase): last notification that was triggered for this NotificationSettings - - Raises: - InvalidTriggerFrequencyError: if the frequency is invalid for the frontpage digest - """ - return {} - - def send_notification(self, email_notification): - """ - Sends the notification to the user - - Args: - email_notification (EmailNotification): the notification to be sent - """ - messages = None - user = email_notification.user - - with utils.mark_as_sent_or_canceled(email_notification) as will_send: - # check against programmer error - if user != self.user: - raise Exception( # pylint: disable=broad-exception-raised - "Notification user doesn't match settings user" - ) - # if we're trying to send an email, but the preference is never, we should just cancel it - if self.notification_settings.is_triggered_never: - raise CancelNotificationError() - - if not will_send: - return - - last_notification = self._get_most_recent_notification( - before=email_notification - ) - - data = self._get_notification_data(email_notification, last_notification) - - # generate the message (there's only 1) - messages = list( - api.messages_for_recipients( - [ - (recipient, api.context_for_user(user=user, extra_context=data)) - for recipient, user in api.safe_format_recipients([user]) - ], - self._template_name, - ) - ) - - if not messages: - raise CancelNotificationError() - - # we don't want an error sending to cause a resend, because it could cause us to actually send it twice - if messages: - # if we got this far and have messages, send them - api.send_messages(messages) diff --git a/notifications/notifiers/email_test.py b/notifications/notifiers/email_test.py deleted file mode 100644 index 848f0e32f1..0000000000 --- a/notifications/notifiers/email_test.py +++ /dev/null @@ -1,128 +0,0 @@ -"""Tests for EmailNotifier""" -# pylint: disable=redefined-outer-name -from django.core.mail import EmailMessage -import pytest - -from notifications.factories import ( - EmailNotificationFactory, - NotificationSettingsFactory, -) -from notifications.models import EmailNotification, FREQUENCY_NEVER -from notifications.notifiers import email -from open_discussions import features -from open_discussions.test_utils import any_instance_of - -pytestmark = [pytest.mark.django_db, pytest.mark.usefixtures("notifier_settings")] - - -@pytest.fixture -def notifier_settings(settings): - """Default settings""" - settings.FEATURES[features.EMAIL_NOTIFICATIONS] = True - - -@pytest.fixture -def notifier(): - """Fixture for EmailNotifier""" - return email.EmailNotifier( - "frontpage", NotificationSettingsFactory.create(daily=True) - ) - - -@pytest.mark.parametrize("is_enabled", [True, False]) -@pytest.mark.parametrize("can_notify", [True, False]) -@pytest.mark.parametrize("via_email", [True, False]) -def test_can_notify(settings, mocker, is_enabled, can_notify, via_email): - """Test can_notify""" - can_notify_mock = mocker.patch( - "notifications.notifiers.base.BaseNotifier.can_notify", return_value=can_notify - ) - ns = NotificationSettingsFactory.create(via_email=via_email) - notifier = email.EmailNotifier("frontpage", ns) - note_mock = mocker.Mock() - settings.FEATURES[features.EMAIL_NOTIFICATIONS] = is_enabled - - expected = is_enabled and can_notify and via_email - assert notifier.can_notify(note_mock) is expected - - if is_enabled and via_email: - can_notify_mock.assert_called_once_with(note_mock) - - -def test_send_notification(notifier, mocker): - """Tests send_notification""" - send_messages_mock = mocker.patch("mail.api.send_messages") - note = EmailNotificationFactory.create( - user=notifier.user, - notification_type=notifier.notification_settings.notification_type, - sending=True, - ) - - notifier.send_notification(note) - - send_messages_mock.assert_called_once_with([any_instance_of(EmailMessage)]) - - -def test_send_notification_already_sent(notifier, mocker): - """Tests send_notification that it doesn't send a notification that has already been sent""" - send_messages_mock = mocker.patch("mail.api.send_messages") - note = EmailNotificationFactory.create( - user=notifier.user, - notification_type=notifier.notification_settings.notification_type, - sent=True, - ) - - notifier.send_notification(note) - - send_messages_mock.assert_not_called() - - -def test_send_notification_no_messages(notifier, mocker): - """Tests send_notification that it cancels the notification if a message can't be sent""" - send_messages_mock = mocker.patch("mail.api.send_messages") - mocker.patch("mail.api.messages_for_recipients", return_value=[]) - note = EmailNotificationFactory.create( - user=notifier.user, - notification_type=notifier.notification_settings.notification_type, - sending=True, - ) - - notifier.send_notification(note) - - note.refresh_from_db() - assert note.state == EmailNotification.STATE_CANCELED - - send_messages_mock.assert_not_called() - - -def test_send_notification_no_user_mismatch(notifier, mocker): - """Tests send_notification that it raises an error if the user mismatches""" - send_messages_mock = mocker.patch("mail.api.send_messages") - mocker.patch("mail.api.messages_for_recipients", return_value=[]) - note = EmailNotificationFactory.create( - notification_type=notifier.notification_settings.notification_type, sending=True - ) - - notifier.send_notification(note) - - note.refresh_from_db() - assert note.state == EmailNotification.STATE_PENDING - - send_messages_mock.assert_not_called() - - -def test_send_notification_never(notifier, mocker): - """Tests send_notification if trigger_frequency is never""" - send_messages_mock = mocker.patch("mail.api.send_messages") - notifier.notification_settings.trigger_frequency = FREQUENCY_NEVER - note = EmailNotificationFactory.create( - user=notifier.user, - notification_type=notifier.notification_settings.notification_type, - sending=True, - ) - - notifier.send_notification(note) - note.refresh_from_db() - assert note.state == EmailNotification.STATE_CANCELED - - send_messages_mock.assert_not_called() diff --git a/notifications/notifiers/exceptions.py b/notifications/notifiers/exceptions.py deleted file mode 100644 index e201a7748a..0000000000 --- a/notifications/notifiers/exceptions.py +++ /dev/null @@ -1,17 +0,0 @@ -"""Notifier exceptions""" - - -class NotifierException(Exception): - """Exception sending notification""" - - -class InvalidTriggerFrequencyError(NotifierException): - """The trigger frequency is invalid""" - - -class UnsupportedNotificationTypeError(NotifierException): - """The notification type was invalid""" - - -class CancelNotificationError(NotifierException): - """The notification should be canceled""" diff --git a/notifications/notifiers/frontpage.py b/notifications/notifiers/frontpage.py deleted file mode 100644 index 4fdf9f91d5..0000000000 --- a/notifications/notifiers/frontpage.py +++ /dev/null @@ -1,182 +0,0 @@ -"""Notifier for frontpage digest""" -from datetime import datetime - -from django.conf import settings -import pytz - -from channels import api -from channels.proxies import proxy_posts -from channels.serializers import posts as post_serializers -from channels.utils import ListingParams -from course_catalog.models import PodcastEpisode -from course_catalog.serializers import PodcastEpisodeSerializer -from notifications.models import FREQUENCY_DAILY, FREQUENCY_WEEKLY -from notifications.notifiers.email import EmailNotifier -from notifications.notifiers.exceptions import ( - InvalidTriggerFrequencyError, - CancelNotificationError, -) -from open_discussions import features - -DAILY_LISTING_PARAMS = ListingParams(None, None, 0, api.POSTS_SORT_HOT) -WEEKLY_LISTING_PARAMS = ListingParams(None, None, 0, api.POSTS_SORT_TOP) - - -def _get_listing_params(trigger_frequency): - """ - Returns the listing params for the given trigger_frequency - - Args: - trigger_frequency (str): trigger frequency to query for - - Raises: - InvalidTriggerFrequencyError: if the frequency is invalid for the frontpage digest - - Returns: - ListingParams: the listing params configured for this trigger_frequency - """ - if trigger_frequency == FREQUENCY_DAILY: - return DAILY_LISTING_PARAMS - elif trigger_frequency == FREQUENCY_WEEKLY: - return WEEKLY_LISTING_PARAMS - else: - raise InvalidTriggerFrequencyError( - "Trigger frequency '{}' is invalid for frontpage".format(trigger_frequency) - ) - - -def _is_post_after_notification(post, notification): - """ - Returns True if the post was created after the specified notification - - Args: - notification_settings (NotificationSettings): settings for this user and notification_type - notification (NotificationBase): notification that was triggered for this NotificationSettings - - Returns: - bool: True if the post was created after the specified notification - """ - if notification is None: - return True - return datetime.fromtimestamp(post.created, tz=pytz.utc) > notification.created_on - - -def _posts_since_notification(notification_settings, notification): - """ - Returns posts that were created after the given notification - - Args: - notification_settings (NotificationSettings): settings for this user and notification_type - notification (NotificationBase): notification that was triggered for this NotificationSettings - - Raises: - InvalidTriggerFrequencyError: if the frequency is invalid - - Returns: - list of praw.models.Submission: list of posts - """ - user = notification_settings.user - params = _get_listing_params(notification_settings.trigger_frequency) - api_client = api.Api(user) - - posts = api_client.front_page(params) - - # filter posts - posts = [ - post - for post in posts - if not post.stickied and _is_post_after_notification(post, notification) - ] - - posts = proxy_posts(posts) - posts = list( - filter(lambda post: not post._self_post.exclude_from_frontpage_emails, posts) - ) - posts = posts[: settings.MITOPEN_FRONTPAGE_DIGEST_MAX_POSTS] - - return posts - - -def _podcast_episodes_since_notification(notification): - """ - Returns podcast episodes that were created after the given notification - - Args: - notification (NotificationBase): notification - - Returns: - list of PodcastEpisode: list of podcast episodes - """ - - episodes = PodcastEpisode.objects.filter(published=True).order_by("-last_modified") - - if notification: - episodes = episodes.filter(last_modified__gt=notification.created_on) - else: - episodes = episodes.all() - return episodes[: settings.MITOPEN_FRONTPAGE_DIGEST_MAX_EPISODES] - - -class FrontpageDigestNotifier(EmailNotifier): - """Notifier for frontpage digests""" - - def __init__(self, notification_settings): - super().__init__("frontpage", notification_settings) - - def can_notify(self, last_notification): - """ - Returns true if we can notify this user based on their settings and when the last notification occurred - - Args: - last_notification (NotificationBase): last notification that was triggered for this NotificationSettings - - Raises: - InvalidTriggerFrequencyError: if the frequency is invalid - - Returns: - bool: True if we're due to send another notification - """ - if features.is_enabled(features.FRONTPAGE_EMAIL_DIGESTS) and super().can_notify( - last_notification - ): - - # do this last as it's expensive if the others are False anyway - # check if we have posts since the last notification - return bool( - _posts_since_notification(self.notification_settings, last_notification) - ) or bool(_podcast_episodes_since_notification(last_notification)) - - return False - - def _get_notification_data( - self, current_notification, last_notification - ): # pylint: disable=unused-argument - """ - Gets the data for this notification - - Args: - current_notification (NotificationBase): current notification we're sending for - last_notification (NotificationBase): last notification that was triggered for this NotificationSettings - - Raises: - InvalidTriggerFrequencyError: if the frequency is invalid for the frontpage digest - """ - posts = _posts_since_notification(self.notification_settings, last_notification) - podcast_episodes = _podcast_episodes_since_notification(last_notification) - - if not (posts or podcast_episodes): - # edge case, nothing new to send even though we expected some - raise CancelNotificationError() - - return { - "posts": [ - post_serializers.PostSerializer( - post, context={"current_user": self.user} - ).data - for post in posts - ], - "episodes": [ - PodcastEpisodeSerializer(podcast_episode).data - for podcast_episode in podcast_episodes - ], - } diff --git a/notifications/notifiers/frontpage_test.py b/notifications/notifiers/frontpage_test.py deleted file mode 100644 index 8db1bf22ae..0000000000 --- a/notifications/notifiers/frontpage_test.py +++ /dev/null @@ -1,194 +0,0 @@ -"""Tests for frontpage notifier""" -from datetime import timedelta - -from django.core.mail import EmailMessage -import pytest - -from channels.factories.models import PostFactory -from channels.proxies import PostProxy -from course_catalog.factories import PodcastEpisodeFactory -from notifications.factories import ( - NotificationSettingsFactory, - EmailNotificationFactory, -) -from notifications.models import EmailNotification, FREQUENCY_DAILY, FREQUENCY_WEEKLY -from notifications.notifiers import frontpage -from notifications.notifiers.exceptions import InvalidTriggerFrequencyError -from open_discussions import features -from open_discussions.utils import now_in_utc -from open_discussions.test_utils import any_instance_of - -pytestmark = [pytest.mark.django_db, pytest.mark.usefixtures("notifier_settings")] - - -@pytest.fixture -def notifier_settings(settings): - """Default settings""" - settings.FEATURES[features.EMAIL_NOTIFICATIONS] = True - settings.FEATURES[features.FRONTPAGE_EMAIL_DIGESTS] = True - - -@pytest.mark.parametrize("is_enabled", [True, False]) -@pytest.mark.parametrize("can_notify", [True, False]) -@pytest.mark.parametrize("has_posts", [True, False]) -@pytest.mark.parametrize("trigger_frequency", [FREQUENCY_DAILY, FREQUENCY_WEEKLY]) -@pytest.mark.parametrize("has_last_notification", [True, False]) -@pytest.mark.parametrize("has_posts_after", [True, False]) -@pytest.mark.parametrize("has_episodes_after", [True, False]) -@pytest.mark.parametrize("exclude_from_frontpage_emails", [True, False]) -def test_can_notify( - settings, - mocker, - is_enabled, - can_notify, - has_posts, - trigger_frequency, - has_last_notification, - has_posts_after, - has_episodes_after, - exclude_from_frontpage_emails, -): # pylint: disable=too-many-arguments, too-many-locals - """Test can_notify""" - notification_settings = NotificationSettingsFactory.create( - trigger_frequency=trigger_frequency - ) - notification = ( - EmailNotificationFactory.create( - user=notification_settings.user, frontpage_type=True, sent=True - ) - if has_last_notification - else None - ) - settings.FEATURES[features.FRONTPAGE_EMAIL_DIGESTS] = is_enabled - can_notify_mock = mocker.patch( - "notifications.notifiers.email.EmailNotifier.can_notify", - return_value=can_notify, - ) - created_on = notification.created_on if notification is not None else now_in_utc() - - episode = PodcastEpisodeFactory.create() - if has_episodes_after: - episode.last_modified = created_on + timedelta(days=10) - else: - episode.last_modified = created_on + timedelta(days=-10) - episode.save() - - post = PostFactory.create( - exclude_from_frontpage_emails=exclude_from_frontpage_emails - ) - api_mock = mocker.patch("channels.api.Api") - api_mock.return_value.front_page.return_value = ( - [ - mocker.Mock( - id=post.post_id, - created=int( - ( - created_on + timedelta(days=10 if has_posts_after else -10) - ).timestamp() - ), - stickied=False, - ) - ] - if has_posts - else [] - ) - notifier = frontpage.FrontpageDigestNotifier(notification_settings) - - expected = ( - is_enabled - and can_notify - and ( - not has_last_notification - or (has_posts and has_posts_after and not exclude_from_frontpage_emails) - or has_episodes_after - ) - ) - assert notifier.can_notify(notification) is expected - - if is_enabled: - can_notify_mock.assert_called_once_with(notification) - - -def test_can_notify_never(): - """Verify it returns False for notifications set to never""" - notification_settings = NotificationSettingsFactory.create( - never=True, via_email=True - ) - notifier = frontpage.FrontpageDigestNotifier(notification_settings) - assert notifier.can_notify(None) is False - - -def test_can_notify_invalid_frequency(): - """Verify it raises an error for an invalid frequency""" - notification_settings = NotificationSettingsFactory.create( - immediate=True, via_email=True - ) - notifier = frontpage.FrontpageDigestNotifier(notification_settings) - with pytest.raises(InvalidTriggerFrequencyError): - notifier.can_notify(None) - - -def test_send_notification(mocker, user): - """Tests send_notification""" - ns = NotificationSettingsFactory.create(via_email=True, weekly=True) - notifier = frontpage.FrontpageDigestNotifier(ns) - post = PostFactory.create() - episode = PodcastEpisodeFactory.create() - send_messages_mock = mocker.patch("mail.api.send_messages") - post_serializer_mock = mocker.patch("channels.serializers.posts.PostSerializer") - post_serializer_mock.return_value.data = { - "id": post.post_id, - "title": "post's title", - "slug": "a_slug", - "channel_name": "micromasters", - "channel_title": "MicroMasters", - "created": now_in_utc().isoformat(), - "author_id": user.username, - } - episode_serializer_mock = mocker.patch( - "notifications.notifiers.frontpage.PodcastEpisodeSerializer" - ) - episode_serializer_mock.return_value.data = { - "title": "episode title", - "podcast_title": "podcast title", - "last_modified": now_in_utc().isoformat(), - } - submission = mocker.Mock( - id=post.post_id, created=int(now_in_utc().timestamp()), stickied=False - ) - api_mock = mocker.patch("channels.api.Api") - api_mock.return_value.front_page.return_value = [submission] - note = EmailNotificationFactory.create( - user=ns.user, notification_type=ns.notification_type, sending=True - ) - - notifier.send_notification(note) - - post_serializer_mock.assert_called_once_with( - PostProxy(submission, post), context={"current_user": note.user} - ) - - episode_serializer_mock.assert_called_once_with(episode) - - send_messages_mock.assert_called_once_with([any_instance_of(EmailMessage)]) - - -def test_send_notification_no_posts_or_episodes(mocker): - """Tests send_notification if there are somehow no posts or episodes""" - ns = NotificationSettingsFactory.create(via_email=True, weekly=True) - notifier = frontpage.FrontpageDigestNotifier(ns) - send_messages_mock = mocker.patch("mail.api.send_messages") - serializer_mock = mocker.patch("channels.serializers.posts.PostSerializer") - api_mock = mocker.patch("channels.api.Api") - api_mock.return_value.front_page.return_value = [] - note = EmailNotificationFactory.create( - user=ns.user, notification_type=ns.notification_type, sending=True - ) - - notifier.send_notification(note) - - serializer_mock.assert_not_called() - send_messages_mock.assert_not_called() - - note.refresh_from_db() - assert note.state == EmailNotification.STATE_CANCELED diff --git a/notifications/notifiers/moderator_posts.py b/notifications/notifiers/moderator_posts.py deleted file mode 100644 index 8f027d171f..0000000000 --- a/notifications/notifiers/moderator_posts.py +++ /dev/null @@ -1,49 +0,0 @@ -"""Notifier for new posts for moderators""" -from django.db import transaction - -from notifications.notifiers.email import EmailNotifier -from notifications.models import NOTIFICATION_TYPE_MODERATOR, PostEvent -from notifications.utils import praw_error_to_cancelled -from channels import api -from channels.serializers.posts import PostSerializer - - -class ModeratorPostsNotifier(EmailNotifier): - """Notifier for posts for moderators""" - - def __init__(self, notification_settings): - super().__init__(NOTIFICATION_TYPE_MODERATOR, notification_settings) - - @praw_error_to_cancelled() - def _get_notification_data( - self, current_notification, last_notification - ): # pylint: disable=unused-argument - """ - Gets the data for this notification - - Args: - current_notification (NotificationBase): current notification we're sending for - last_notification (NotificationBase): last notification that was triggered for this NotificationSettings - """ - ctx = {"current_user": self.user} - event = PostEvent.objects.get(email_notification=current_notification) - api_client = api.Api(self.user) - post = api_client.get_post(event.post_id) - return {"post": PostSerializer(post, context=ctx).data, "moderator_email": True} - - def create_moderator_post_event(self, user, post_id): - """ - Creates a new PostEvent - - Args: - user (User): the moderator who should be notified - post_id (str): the base36 id of the new post - - Returns: - CommentEvent: the created event - """ - kwargs = {} - - with transaction.atomic(): - kwargs["email_notification"] = self._create_notification() - return PostEvent.objects.create(user=user, post_id=post_id, **kwargs) diff --git a/notifications/notifiers/moderator_posts_test.py b/notifications/notifiers/moderator_posts_test.py deleted file mode 100644 index ef5439a239..0000000000 --- a/notifications/notifiers/moderator_posts_test.py +++ /dev/null @@ -1,53 +0,0 @@ -"""Tests for comments notifier""" -from django.core.mail import EmailMessage -import pytest - -from notifications.factories import NotificationSettingsFactory -from notifications.models import EmailNotification -from notifications.notifiers import moderator_posts -from notifications.models import NOTIFICATION_TYPE_MODERATOR, FREQUENCY_IMMEDIATE -from open_discussions.test_utils import any_instance_of - - -pytestmark = [pytest.mark.django_db] - - -def test_create_moderator_post_event(): - """Tests that create_moderator_post_event works correctly""" - notification_setting = NotificationSettingsFactory.create(immediate=True) - notifier = moderator_posts.ModeratorPostsNotifier(notification_setting) - event = notifier.create_moderator_post_event(notification_setting.user, "post_id") - - assert event.post_id == "post_id" - assert event.email_notification is not None - - -@pytest.mark.betamax -def test_send_notification( - mocker, - reddit_factories, - private_channel_and_contributor, - staff_api, # pylint:disable=unused-argument -): - """Tests send_notification""" - channel, user = private_channel_and_contributor - notification_setting = NotificationSettingsFactory.create( - user=user, - trigger_frequency=FREQUENCY_IMMEDIATE, - notification_type=NOTIFICATION_TYPE_MODERATOR, - via_email=True, - ) - notifier = moderator_posts.ModeratorPostsNotifier(notification_setting) - - send_messages_mock = mocker.patch("mail.api.send_messages") - - post = reddit_factories.text_post("just a post", user, channel=channel) - - event = notifier.create_moderator_post_event(notification_setting.user, post.id) - note = event.email_notification - note.state = EmailNotification.STATE_SENDING - note.save() - - notifier.send_notification(note) - - send_messages_mock.assert_called_once_with([any_instance_of(EmailMessage)]) diff --git a/notifications/serializers.py b/notifications/serializers.py deleted file mode 100644 index a7eba71410..0000000000 --- a/notifications/serializers.py +++ /dev/null @@ -1,35 +0,0 @@ -"""Notification serializers""" -from rest_framework import serializers - -from notifications.models import NotificationSettings - - -class NotificationSettingsSerializer(serializers.ModelSerializer): - """Serializer for NotificationSettings""" - - channel_name = serializers.SerializerMethodField() - channel_title = serializers.SerializerMethodField() - - def get_channel_name(self, instance): - """get the channel name""" - if instance.channel: - return instance.channel.name - else: - return None - - def get_channel_title(self, instance): - """get the channel title""" - if instance.channel: - return instance.channel.title - else: - return None - - class Meta: - model = NotificationSettings - fields = ( - "notification_type", - "trigger_frequency", - "channel_name", - "channel_title", - ) - read_only_fields = ("notification_type", "channel_name", "channel_title") diff --git a/notifications/serializers_test.py b/notifications/serializers_test.py deleted file mode 100644 index 2732d101bc..0000000000 --- a/notifications/serializers_test.py +++ /dev/null @@ -1,27 +0,0 @@ -"""Tests for notification serializers""" -from channels.factories.models import ChannelFactory -from notifications.serializers import NotificationSettingsSerializer -from notifications.factories import NotificationSettingsFactory - - -def test_notification_settings_serializer(user): - """Tests that the correct fields are serialized""" - settings = NotificationSettingsFactory.create(user=user) - assert NotificationSettingsSerializer(settings).data == { - "trigger_frequency": settings.trigger_frequency, - "notification_type": settings.notification_type, - "channel_name": None, - "channel_title": None, - } - - -def test_notification_settings_serializer_with_channel(user): - """Tests that the correct fields are serialized""" - channel = ChannelFactory.create() - settings = NotificationSettingsFactory.create(user=user, channel=channel) - assert NotificationSettingsSerializer(settings).data == { - "trigger_frequency": settings.trigger_frequency, - "notification_type": settings.notification_type, - "channel_name": channel.name, - "channel_title": channel.title, - } diff --git a/notifications/tasks.py b/notifications/tasks.py deleted file mode 100644 index 4ee2f2da22..0000000000 --- a/notifications/tasks.py +++ /dev/null @@ -1,124 +0,0 @@ -"""Notification tasks""" -import celery -from django.conf import settings - -from open_discussions.celery import app -from open_discussions.utils import chunks -from channels.models import Channel - -from notifications import api - - -def _gen_attempt_send_notification_batches(notification_settings): - """ - Generates the set of attempt_send_notification_batch tasks in a fan-out structure - - Args: - notification_settings (iterable of NotificationSettings): an iterable of NotificationSettings to attempt the sends for - - Returns: - celery.group: the celery group of tasks to execute - """ - return celery.group( - [ - attempt_send_notification_batch.si(notification_settings_ids) - for notification_settings_ids in chunks( - notification_settings, - chunk_size=settings.NOTIFICATION_ATTEMPT_CHUNK_SIZE, - ) - ] - ) - - -@app.task(bind=True) -def send_daily_frontpage_digests(self): - """Daily frontpage digest task""" - notification_settings = api.get_daily_frontpage_settings_ids() - - tasks = _gen_attempt_send_notification_batches(notification_settings) - - # to reduce the risk of triggering these multiple times, we trigger and replace this task all at once - raise self.replace(tasks) - - -@app.task(bind=True) -def send_weekly_frontpage_digests(self): - """Weekly frontpage digest task""" - notification_settings = api.get_weekly_frontpage_settings_ids() - - tasks = _gen_attempt_send_notification_batches(notification_settings) - - # to reduce the risk of triggering these multiple times, we trigger and replace this task all at once - raise self.replace(tasks) - - -@app.task( - # The two settings below *should* ensure a task is never dropped, but it may be executed several times - acks_late=True, # don't acknowledge the task until it's done - reject_on_worker_lost=True, # if the worker gets killed, don't acknowledge the task - rate_limit=settings.NOTIFICATION_ATTEMPT_RATE_LIMIT, # an option to rate limit these if they become too much -) -def attempt_send_notification_batch(notification_settings_ids): - """ - Attempt to send a notification batch - - Args: - notification_settings_ids (list of int): list of NotificationSettings.ids - """ - api.attempt_send_notification_batch(notification_settings_ids) - - -@app.task -def send_unsent_email_notifications(): - """Send any unsent notifications""" - api.send_unsent_email_notifications() - - -@app.task -def send_email_notification_batch(notification_ids): - """ - Sends a batch of notifications - - Args: - notification_ids (list of int): notification ids to send - """ - api.send_email_notification_batch(notification_ids) - - -@app.task -def send_frontpage_email_notification_batch(notification_ids): - """ - Sends a batch of notifications. This is a separate task from send_email_notification_batch so that - frontpage notification tasks, which are not time sensitive, can be queued separately from other tasks - - Args: - notification_ids (list of int): notification ids to send - """ - api.send_email_notification_batch(notification_ids) - - -@app.task -def notify_subscribed_users(post_id, comment_id, new_comment_id): - """ - Notifies subscribed users of a new comment - - Args: - post_id (str): base36 id of the post replied to - comment_id (str): base36 id of the comment replied to (may be None) - new_comment_id (str): base36 id of the new comment - """ - api.send_comment_notifications(post_id, comment_id, new_comment_id) - - -@app.task -def notify_moderators(post_id, channel_name): - """ - Notifies channel moderators of a new post. - - Args: - post_id (str): base36 id of the post - channel_name (str): channel name - """ - channel = Channel.objects.get(name=channel_name) - if channel.moderator_notifications: - api.send_moderator_notifications(post_id, channel_name) diff --git a/notifications/tasks_test.py b/notifications/tasks_test.py deleted file mode 100644 index 474a6df3b1..0000000000 --- a/notifications/tasks_test.py +++ /dev/null @@ -1,120 +0,0 @@ -"""Tests for notifications tasks""" -import pytest - -from notifications import tasks -from notifications.factories import NotificationSettingsFactory -from channels.factories.models import ChannelFactory - - -@pytest.mark.django_db -def test_send_daily_frontpage_digests(mocker, settings, mocked_celery): - """Tests that send_daily_frontpage_digests calls the API method""" - notification_settings = NotificationSettingsFactory.create_batch( - 4, daily=True, frontpage_type=True - ) - - settings.NOTIFICATION_ATTEMPT_CHUNK_SIZE = 2 - mock_attempt_send_notification_batch = mocker.patch( - "notifications.tasks.attempt_send_notification_batch", autospec=True - ) - - with pytest.raises(mocked_celery.replace_exception_class): - tasks.send_daily_frontpage_digests.delay() - - assert mocked_celery.group.call_count == 1 - - # Celery's 'group' function takes a generator as an argument. In order to make assertions about the items - # in that generator, 'list' is being called to force iteration through all of those items. - list(mocked_celery.group.call_args[0][0]) - - assert mock_attempt_send_notification_batch.si.call_count == 2 - - mock_attempt_send_notification_batch.si.assert_any_call( - [notification_settings[0].id, notification_settings[1].id] - ) - mock_attempt_send_notification_batch.si.assert_any_call( - [notification_settings[2].id, notification_settings[3].id] - ) - - -@pytest.mark.django_db -def test_send_weekly_frontpage_digests(mocker, settings, mocked_celery): - """Tests that send_weekly_frontpage_digests calls the API method""" - notification_settings = NotificationSettingsFactory.create_batch( - 4, weekly=True, frontpage_type=True - ) - - settings.NOTIFICATION_ATTEMPT_CHUNK_SIZE = 2 - mock_attempt_send_notification_batch = mocker.patch( - "notifications.tasks.attempt_send_notification_batch", autospec=True - ) - - with pytest.raises(mocked_celery.replace_exception_class): - tasks.send_weekly_frontpage_digests.delay() - - assert mocked_celery.group.call_count == 1 - - # Celery's 'group' function takes a generator as an argument. In order to make assertions about the items - # in that generator, 'list' is being called to force iteration through all of those items. - list(mocked_celery.group.call_args[0][0]) - - assert mock_attempt_send_notification_batch.si.call_count == 2 - - mock_attempt_send_notification_batch.si.assert_any_call( - [notification_settings[0].id, notification_settings[1].id] - ) - mock_attempt_send_notification_batch.si.assert_any_call( - [notification_settings[2].id, notification_settings[3].id] - ) - - -def test_attempt_send_notification_batch(mocker): - """Tests that attempt_send_notification_batch calls the API method""" - api_mock = mocker.patch("notifications.api.attempt_send_notification_batch") - - ids = [1, 2, 3] - tasks.attempt_send_notification_batch.delay(ids) - api_mock.assert_called_once_with(ids) - - -def test_send_unsent_email_notifications(mocker): - """Tests that send_unsent_email_notifications calls the API method""" - api_mock = mocker.patch("notifications.api.send_unsent_email_notifications") - - tasks.send_unsent_email_notifications.delay() - api_mock.assert_called_once_with() - - -def test_send_email_notification_batch(mocker): - """Tests that send_email_notification_batch calls the API method""" - api_mock = mocker.patch("notifications.api.send_email_notification_batch") - - ids = [1, 2, 3] - tasks.send_email_notification_batch.delay(ids) - api_mock.assert_called_once_with(ids) - - -def send_frontpage_email_notification_batch(mocker): - """Tests that send_frontpage_email_notification_batch calls the API method""" - api_mock = mocker.patch("notifications.api.send_email_notification_batch") - - ids = [1, 2, 3] - tasks.send_frontpage_email_notification_batch.delay(ids) - api_mock.assert_called_once_with(ids) - - -def test_notify_subscribed_users(mocker): - """Tests that notify_subscribed_users calls the API method""" - api_mock = mocker.patch("notifications.api.send_comment_notifications") - - tasks.notify_subscribed_users.delay(1, 2, 3) - api_mock.assert_called_once_with(1, 2, 3) - - -@pytest.mark.django_db -def test_notify_moderators(mocker): - """Tests that notify_moderators calls the API method""" - api_mock = mocker.patch("notifications.api.send_moderator_notifications") - channel = ChannelFactory.create(moderator_notifications=True) - tasks.notify_moderators.delay("1", channel.name) - api_mock.assert_called_once_with("1", channel.name) diff --git a/notifications/urls.py b/notifications/urls.py deleted file mode 100644 index 9edd66c05e..0000000000 --- a/notifications/urls.py +++ /dev/null @@ -1,15 +0,0 @@ -"""URL configurations for notifications""" -from django.urls import re_path, include - -from rest_framework.routers import DefaultRouter - -from notifications.views import NotificationSettingsViewSet - -router = DefaultRouter() -router.register( - r"notification_settings", - NotificationSettingsViewSet, - basename="notification_settings", -) - -urlpatterns = [re_path(r"^api/v0/", include(router.urls))] diff --git a/notifications/utils.py b/notifications/utils.py deleted file mode 100644 index b2204867bf..0000000000 --- a/notifications/utils.py +++ /dev/null @@ -1,76 +0,0 @@ -"""Notification Utils""" -from contextlib import contextmanager -import logging - -from django.db import transaction -from praw.exceptions import APIException, PRAWException -from prawcore.exceptions import Forbidden, NotFound, Redirect - -from notifications.notifiers.exceptions import CancelNotificationError -from notifications.models import EmailNotification -from open_discussions.utils import now_in_utc - -log = logging.getLogger() - - -@contextmanager -def mark_as_sent_or_canceled(notification): - """ - Marks the message as sent if it hasn't been yet or canceled if a cancel exception is raised - - Yeilds: - bool: True if the email is being sent - - Args: - notification (NotificationBase): notification to mark as sent - """ - with transaction.atomic(): - notification = EmailNotification.objects.select_for_update().get( - id=notification.id - ) - if notification.state != EmailNotification.STATE_SENDING: - # prevent sending an email that is not ready to be sent or already has been - log.debug("EmailNotification not in sending state: %s", notification.id) - yield False - return - - try: - yield True - - log.debug("EmailNotification sent: %s", notification.id) - notification.state = EmailNotification.STATE_SENT - notification.sent_at = now_in_utc() - notification.save() - except CancelNotificationError: - log.debug("EmailNotification canceled: %s", notification.id) - notification.state = EmailNotification.STATE_CANCELED - notification.save() - except: # pylint: disable=bare-except - # if any other error happens, roll back to pending so that the crontask picks it up again - log.exception( - "EmailNotification rolled back to pending: %s", notification.id - ) - notification.state = EmailNotification.STATE_PENDING - notification.save() - - -@contextmanager -def praw_error_to_cancelled(): - """Raises CancelNotificationErrors from certain praw errors, otherwise raises the original error""" - try: - yield - except (Forbidden, NotFound, Redirect) as exc: - raise CancelNotificationError() from exc - except APIException as exc: - if exc.error_type in ( - "SUBREDDIT_NOTALLOWED", - "SUBREDDIT_NOEXIST", - "DELETED_COMMENT", - ): - raise CancelNotificationError() from exc - raise - except PRAWException as exc: - # special case if the user isn't a contributor on channel we call comment.parent() - if exc.args[0].startswith("No 'Comment' data returned for thing"): - raise CancelNotificationError() from exc - raise diff --git a/notifications/utils_test.py b/notifications/utils_test.py deleted file mode 100644 index b8f388af9c..0000000000 --- a/notifications/utils_test.py +++ /dev/null @@ -1,101 +0,0 @@ -"""Utils tests""" -from unittest.mock import MagicMock - -import pytest -from praw.exceptions import APIException, PRAWException -from prawcore.exceptions import Forbidden, NotFound, Redirect - -from notifications import utils -from notifications.notifiers.exceptions import CancelNotificationError -from notifications.factories import EmailNotificationFactory -from notifications.models import EmailNotification - -pytestmark = pytest.mark.django_db - - -def test_mark_as_sent_or_canceled(): - """Verify mark_as_sent_or_canceled marks the notification sent if no errors""" - notification = EmailNotificationFactory.create(sending=True) - - with utils.mark_as_sent_or_canceled(notification) as will_send: - assert will_send is True - - notification.refresh_from_db() - assert notification.state == EmailNotification.STATE_SENT - assert notification.sent_at is not None - - -def test_mark_as_sent_or_canceled_already_sent(): - """Verify mark_as_sent_or_canceled doesn't try to send if it is already sent""" - notification = EmailNotificationFactory.create(sent=True) - - with utils.mark_as_sent_or_canceled(notification) as will_send: - assert will_send is False - - notification.refresh_from_db() - assert notification.state == EmailNotification.STATE_SENT - - -def test_mark_as_sent_or_canceled_cancel_error(): - """Verify mark_as_sent_or_canceled marks the task as canceled""" - notification = EmailNotificationFactory.create(sending=True) - - with utils.mark_as_sent_or_canceled(notification) as will_send: - assert will_send is True - raise CancelNotificationError() - - notification.refresh_from_db() - assert notification.state == EmailNotification.STATE_CANCELED - assert notification.sent_at is None - - -def test_mark_as_sent_or_canceled_misc_error(): - """Verify mark_as_sent_or_canceled marks the task as pending if a non-send related error occurs""" - notification = EmailNotificationFactory.create(sending=True) - - with utils.mark_as_sent_or_canceled(notification) as will_send: - assert will_send is True - raise Exception("some random error") # pylint:disable=broad-exception-raised) - - notification.refresh_from_db() - assert notification.state == EmailNotification.STATE_PENDING - assert notification.sent_at is None - - -@pytest.mark.parametrize( - "error,expected_cls", - [ - ( - PRAWException("No 'Comment' data returned for thing t1_u5"), - CancelNotificationError, - ), - (PRAWException("NOT TRANSLATED"), PRAWException), - (APIException("FAKE_ERROR_TYPE", "", ""), APIException), - (Exception("NOT TRANSLATED"), Exception), - ] - + [ - (APIException(error_type, "", ""), CancelNotificationError) - for error_type in ( - "SUBREDDIT_NOTALLOWED", - "SUBREDDIT_NOEXIST", - "DELETED_COMMENT", - ) - ] - + [ - ( - error_cls( - MagicMock( - # because of side-affecting constructors - headers={"location": "http://exmaple.com/"} - ) - ), - CancelNotificationError, - ) - for error_cls in (Forbidden, NotFound, Redirect) - ], -) -def test_praw_error_to_cancelled(error, expected_cls): - """Test that each of the errors is correctly translated to CancelNotificationError or reraised""" - with pytest.raises(expected_cls): - with utils.praw_error_to_cancelled(): - raise error diff --git a/notifications/views.py b/notifications/views.py deleted file mode 100644 index 28678fca40..0000000000 --- a/notifications/views.py +++ /dev/null @@ -1,56 +0,0 @@ -"""Notification views""" -from django.db.models import Q -from django.shortcuts import get_object_or_404 -from rest_framework.authentication import SessionAuthentication -from rest_framework.permissions import IsAuthenticated -from rest_framework.mixins import ListModelMixin, UpdateModelMixin, RetrieveModelMixin -from rest_framework.viewsets import GenericViewSet - -from notifications.serializers import NotificationSettingsSerializer -from notifications.models import NOTIFICATION_TYPE_FRONTPAGE, NOTIFICATION_TYPE_COMMENTS - -from open_discussions.authentication import ( - StatelessTokenAuthentication, - IgnoreExpiredJwtAuthentication, -) - - -class NotificationSettingsViewSet( - ListModelMixin, UpdateModelMixin, RetrieveModelMixin, GenericViewSet -): - """View for notification settings""" - - serializer_class = NotificationSettingsSerializer - authentication_classes = ( - IgnoreExpiredJwtAuthentication, - SessionAuthentication, - StatelessTokenAuthentication, - ) - permission_classes = (IsAuthenticated,) - lookup_field = "notification_type" - - def get_queryset(self): - """Gets the QuerySet for this view""" - user = self.request.user - - return user.notification_settings.filter( - Q( - notification_type__in=[ - NOTIFICATION_TYPE_FRONTPAGE, - NOTIFICATION_TYPE_COMMENTS, - ] - ) - | Q(channel__moderator_notifications=True) - ) - - def get_object(self): - queryset = self.get_queryset() - - queryset_filter = {} - queryset_filter["notification_type"] = self.kwargs["notification_type"] - - if "channel_name" in self.request.data: - queryset_filter["channel__name"] = self.request.data["channel_name"] - - obj = get_object_or_404(queryset, **queryset_filter) - return obj diff --git a/notifications/views_test.py b/notifications/views_test.py deleted file mode 100644 index 5c8db91630..0000000000 --- a/notifications/views_test.py +++ /dev/null @@ -1,161 +0,0 @@ -"""Tests for notification views""" -# pylint: disable=redefined-outer-name, unused-argument -from operator import itemgetter - -import pytest -from django.urls import reverse -from rest_framework import status - -from channels.factories.models import ChannelFactory -from notifications.factories import NotificationSettingsFactory -from notifications.models import ( - FREQUENCIES, - NOTIFICATION_TYPES, - NOTIFICATION_TYPE_MODERATOR, - NOTIFICATION_TYPE_COMMENTS, - NOTIFICATION_TYPE_FRONTPAGE, -) - - -def _sort_settings(settings): - """Sort settings by notification_type""" - return sorted(settings, key=itemgetter("notification_type")) - - -def test_list_notification_settings_unauthenticated(client): - """Tests that a get on notification settings returns forbidden if unauthenticated""" - response = client.get(reverse("notification_settings-list")) - assert response.status_code == status.HTTP_401_UNAUTHORIZED - - -def test_notification_settings_list_empty(user, client): - """Tests that the notifications settings returns an empty list for a new user""" - client.force_login(user) - response = client.get(reverse("notification_settings-list")) - assert response.status_code == status.HTTP_200_OK - assert response.json() == [] - - -@pytest.mark.parametrize("channel_moderator_notifications", [True, False]) -def test_notification_settings_list( - user, client, mocker, channel_moderator_notifications -): - """Tests that the notifications settings returns the user's notification settings""" - channel = ChannelFactory.create( - moderator_notifications=channel_moderator_notifications - ) - - settings = [ - NotificationSettingsFactory.create( - user=user, notification_type=notification_type - ) - for notification_type in [ - NOTIFICATION_TYPE_COMMENTS, - NOTIFICATION_TYPE_FRONTPAGE, - ] - ] - - moderator_setting = NotificationSettingsFactory.create( - user=user, notification_type=NOTIFICATION_TYPE_MODERATOR, channel=channel - ) - - if channel_moderator_notifications: - settings.append(moderator_setting) - - client.force_login(user) - response = client.get(reverse("notification_settings-list")) - assert response.status_code == status.HTTP_200_OK - assert _sort_settings(response.json()) == _sort_settings( - [ - { - "trigger_frequency": setting.trigger_frequency, - "notification_type": setting.notification_type, - "channel_name": setting.channel.name if setting.channel else None, - "channel_title": setting.channel.title if setting.channel else None, - } - for setting in settings - ] - ) - - -@pytest.mark.parametrize("notification_type", NOTIFICATION_TYPES) -def test_notification_settings_get(user, client, notification_type): - """Tests that the notifications settings returns a specific notification settings""" - if notification_type == NOTIFICATION_TYPE_MODERATOR: - channel = ChannelFactory.create(moderator_notifications=True) - setting = NotificationSettingsFactory.create( - user=user, notification_type=notification_type, channel=channel - ) - args = {"channel_name": channel.name} - else: - setting = NotificationSettingsFactory.create( - user=user, notification_type=notification_type - ) - args = {} - - client.force_login(user) - url = reverse( - "notification_settings-detail", kwargs={"notification_type": notification_type} - ) - response = client.get(url, args) - assert response.status_code == status.HTTP_200_OK - assert response.json() == { - "trigger_frequency": setting.trigger_frequency, - "notification_type": notification_type, - "channel_name": setting.channel.name if setting.channel else None, - "channel_title": setting.channel.title if setting.channel else None, - } - - -@pytest.mark.parametrize("notification_type", NOTIFICATION_TYPES) -def test_notification_settings_get_unauthenticated(client, notification_type): - """Tests that a get on a specific setting returns forbidden if unauthenticated""" - url = reverse( - "notification_settings-detail", kwargs={"notification_type": notification_type} - ) - response = client.get(url) - assert response.status_code == status.HTTP_401_UNAUTHORIZED - - -@pytest.mark.parametrize("notification_type", NOTIFICATION_TYPES) -@pytest.mark.parametrize("trigger_frequency", FREQUENCIES) -def test_notification_settings_patch( - user, client, trigger_frequency, notification_type -): - """Tests that the notifications settings returns a specific notification settings""" - if notification_type == NOTIFICATION_TYPE_MODERATOR: - channel = ChannelFactory.create(moderator_notifications=True) - setting = NotificationSettingsFactory.create( - user=user, notification_type=notification_type, channel=channel - ) - args = {"trigger_frequency": trigger_frequency, "channel_name": channel.name} - else: - setting = NotificationSettingsFactory.create( - user=user, notification_type=notification_type - ) - args = {"trigger_frequency": trigger_frequency} - client.force_login(user) - url = reverse( - "notification_settings-detail", kwargs={"notification_type": notification_type} - ) - response = client.patch(url, args) - assert response.status_code == status.HTTP_200_OK - assert response.json() == { - "trigger_frequency": trigger_frequency, - "notification_type": notification_type, - "channel_name": setting.channel.name if setting.channel else None, - "channel_title": setting.channel.title if setting.channel else None, - } - - -@pytest.mark.parametrize("notification_type", NOTIFICATION_TYPES) -@pytest.mark.parametrize("trigger_frequency", FREQUENCIES) -def test_notification_settings_patch_unauthenticated( - client, trigger_frequency, notification_type -): - """Tests that a patch on a specific setting returns forbidden if unauthenticated""" - url = reverse( - "notification_settings-detail", kwargs={"notification_type": notification_type} - ) - response = client.patch(url, {"trigger_frequency": trigger_frequency}) - assert response.status_code == status.HTTP_401_UNAUTHORIZED diff --git a/open_discussions/celery.py b/open_discussions/celery.py index bd080ed703..0c806fb94d 100644 --- a/open_discussions/celery.py +++ b/open_discussions/celery.py @@ -16,10 +16,6 @@ app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) # pragma: no cover app.conf.task_routes = { - "channels.tasks.check_post_for_spam": {"queue": "spam"}, - "channels.tasks.check_comment_for_spam": {"queue": "spam"}, - "channels.tasks.update_spam": {"queue": "spam"}, - "channels.tasks.retire_user": {"queue": "spam"}, "course_catalog.tasks.get_content_tasks": {"queue": "edx_content"}, "course_catalog.tasks.get_content_files": {"queue": "edx_content"}, "course_catalog.tasks.import_all_xpro_files": {"queue": "edx_content"}, @@ -28,10 +24,4 @@ "search.tasks.index_course_content_files": {"queue": "edx_content"}, "search.tasks.index_run_content_files": {"queue": "edx_content"}, "search.tasks.deindex_run_content_files": {"queue": "edx_content"}, - "notifications.tasks.send_frontpage_email_notification_batch": { - "queue": "digest_emails" - }, - "notifications.tasks.send_daily_frontpage_digests": {"queue": "digest_emails"}, - "notifications.tasks.send_weekly_frontpage_digests": {"queue": "digest_emails"}, - "notifications.tasks.attempt_send_notification_batch": {"queue": "digest_emails"}, } diff --git a/open_discussions/features.py b/open_discussions/features.py index a072658c96..04fdcf7453 100644 --- a/open_discussions/features.py +++ b/open_discussions/features.py @@ -2,9 +2,6 @@ from functools import wraps from django.conf import settings -EMAIL_NOTIFICATIONS = "EMAIL_NOTIFICATIONS" -FRONTPAGE_EMAIL_DIGESTS = "FRONTPAGE_EMAIL_DIGESTS" -COMMENT_NOTIFICATIONS = "COMMENT_NOTIFICATIONS" INDEX_UPDATES = "INDEX_UPDATES" PROFILE_UI = "PROFILE_UI" ARTICLE_UI = "ARTICLE_UI" @@ -13,7 +10,6 @@ RELATED_POSTS_UI = "RELATED_POSTS_UI" LIVESTREAM_UI = "LIVESTREAM_UI" HOT_POST_REPAIR = "HOT_POST_REPAIR" -MOIRA = "MOIRA" PODCAST_APIS = "PODCAST_APIS" PODCAST_SEARCH = "PODCAST_SEARCH" SPAM_EXEMPTIONS = "SPAM_EXEMPTIONS" diff --git a/open_discussions/middleware/channel_api.py b/open_discussions/middleware/channel_api.py deleted file mode 100644 index 11de8cbc6e..0000000000 --- a/open_discussions/middleware/channel_api.py +++ /dev/null @@ -1,18 +0,0 @@ -"""Channel API middleware""" -from django.utils.functional import SimpleLazyObject - -from channels.api import Api - - -class ChannelApiMiddleware: - """ - Middleware that makes a channel API object available to views - via a lazy object attached to the request - """ - - def __init__(self, get_response): - self.get_response = get_response - - def __call__(self, request): - request.channel_api = SimpleLazyObject(lambda: Api(request.user)) - return self.get_response(request) diff --git a/open_discussions/middleware/channel_api_test.py b/open_discussions/middleware/channel_api_test.py deleted file mode 100644 index ce8ebc8223..0000000000 --- a/open_discussions/middleware/channel_api_test.py +++ /dev/null @@ -1,24 +0,0 @@ -"""Tests for channel API middleware""" -from django.utils.functional import SimpleLazyObject - -from open_discussions.middleware.channel_api import ChannelApiMiddleware - - -def test_channel_api_middleware( - mocker, jwt_token, rf, user -): # pylint: disable=unused-argument - """Tests that the middleware makes a channel API object available on the request""" - api_mock_obj = mocker.Mock(some_api_method=mocker.Mock(return_value="result")) - patched_api_cls = mocker.patch( - "open_discussions.middleware.channel_api.Api", return_value=api_mock_obj - ) - request = rf.get("/") - request.user = user - get_request_mock = mocker.Mock() - middleware = ChannelApiMiddleware(get_request_mock) - middleware(request) - assert hasattr(request, "channel_api") - assert isinstance(request.channel_api, SimpleLazyObject) - result = request.channel_api.some_api_method() - patched_api_cls.assert_called_with(user) - assert result == "result" diff --git a/open_discussions/permissions.py b/open_discussions/permissions.py index 04d28813e3..4332d67e0f 100644 --- a/open_discussions/permissions.py +++ b/open_discussions/permissions.py @@ -1,30 +1,11 @@ """Custom permissions""" -from django.http import Http404 from prawcore.exceptions import Forbidden as PrawForbidden from prawcore.exceptions import Redirect as PrawRedirect from rest_framework import permissions -from channels.models import Channel from open_discussions import features -def channel_exists(view): - """ - Return True if a Channel object exists for a channel_name in the view, or there is no channel name. - Raises 404 if the Channel does not exist. - - Args: - view (rest_framework.views.APIView): django DRF view - - Returns: - bool: True if Channel exists (or there is no channel name) - """ - channel_name = view.kwargs.get("channel_name", None) - if not channel_name or Channel.objects.filter(name=channel_name).exists(): - return True - raise Http404() - - def is_admin_user(request): """ Args: @@ -66,28 +47,6 @@ def is_moderator(request, view): return False -def channel_is_mod_editable(view): - """ - Helper function to check that a channel can be edited by a moderator on discussions. - - Args: - view (APIView): a DRF view object - - Returns: - bool: - True if the channel can be edited by a moderator. False if the channel does not exist or can only - be edited by a staff user from another server. - """ - channel_name = view.kwargs.get("channel_name") - managed = ( - Channel.objects.filter(name=channel_name) - .values_list("membership_is_managed", flat=True) - .first() - ) - # None means the channel does not exist, True means it does but we shouldn't edit it via REST API - return managed is False - - def is_readonly(request): """ Returns True if the request uses a readonly verb @@ -117,29 +76,6 @@ def has_permission(self, request, view): return is_readonly(request) or is_admin_user(request) -class IsStaffOrModeratorPermission(permissions.BasePermission): - """Checks that the user is either staff or a moderator""" - - def has_permission(self, request, view): - """Returns True if the user has the staff role or is a moderator""" - - return channel_exists(view) and ( - is_admin_user(request) or is_moderator(request, view) - ) - - -class IsStaffModeratorOrReadonlyPermission(permissions.BasePermission): - """Checks that the user is either staff, a moderator, or performing a readonly operation""" - - def has_permission(self, request, view): - """Returns True if the user has the staff role, is a moderator, or the request is readonly""" - return channel_exists(view) and ( - is_readonly(request) - or is_admin_user(request) - or is_moderator(request, view) - ) - - class IsOwnSubscriptionOrAdminPermission(permissions.BasePermission): """ Checks that the user is (1) staff/moderator, (2) editing their own subscription, or (3) making @@ -167,39 +103,6 @@ def has_permission(self, request, view): ) -class ContributorPermissions(permissions.BasePermission): - """ - Only staff and moderators should be able to see and edit the list of contributors - """ - - def has_permission(self, request, view): - if not channel_exists(view): - return False - # Allow self-delete - if ( - request.method == "DELETE" - and view.kwargs.get("contributor_name", None) == request.user.username - ): - return True - return is_admin_user(request) or ( - (channel_is_mod_editable(view) or is_readonly(request)) - and is_moderator(request, view) - ) - - -class ModeratorPermissions(permissions.BasePermission): - """ - All users should be able to see a list of moderators. Only staff and moderators should be able to edit it. - """ - - def has_permission(self, request, view): - return channel_exists(view) and ( - is_readonly(request) - or is_admin_user(request) - or (channel_is_mod_editable(view) and is_moderator(request, view)) - ) - - class AnonymousAccessReadonlyPermission(permissions.BasePermission): """Checks that the user is authenticated or is allowed anonymous access""" diff --git a/open_discussions/permissions_test.py b/open_discussions/permissions_test.py index add30e41ce..13b7cfcb97 100644 --- a/open_discussions/permissions_test.py +++ b/open_discussions/permissions_test.py @@ -1,30 +1,17 @@ """Tests for permissions""" import pytest from django.contrib.auth.models import AnonymousUser -from django.http import Http404 -from prawcore.exceptions import Forbidden as PrawForbidden -from prawcore.exceptions import Redirect as PrawRedirect -from channels.models import Channel from open_discussions.permissions import ( AnonymousAccessReadonlyPermission, - ContributorPermissions, IsOwnSubscriptionOrAdminPermission, - IsStaffModeratorOrReadonlyPermission, - IsStaffOrModeratorPermission, IsStaffOrReadonlyPermission, IsStaffPermission, - ModeratorPermissions, ObjectOnlyPermissions, - channel_exists, - channel_is_mod_editable, - is_moderator, is_readonly, is_admin_user, ) -pytestmark = pytest.mark.usefixtures("mock_channel_exists") - @pytest.mark.parametrize( "method,result", @@ -36,20 +23,6 @@ def test_is_readonly(mocker, method, result): assert is_readonly(request) is result -@pytest.mark.parametrize("result", [True, False]) -def test_is_moderator(user, mocker, result): - """is_moderator should return True if the user is a moderator for the channel""" - request = mocker.Mock(user=user) - request.channel_api = mocker.patch("channels.api.Api").return_value - request.channel_api.is_moderator.return_value = result - channel_name = "abc" - view = mocker.Mock(kwargs={"channel_name": channel_name}) - assert is_moderator(request, view) is result - request.channel_api.is_moderator.assert_called_once_with( - channel_name, user.username - ) - - @pytest.mark.parametrize( "has_user, is_staff, is_super, expected", [ @@ -72,27 +45,6 @@ def test_is_staff_user( assert is_admin_user(request) is expected -@pytest.mark.parametrize( - "membership_is_managed,expected", [[True, False], [False, True], [None, False]] -) -def test_channel_is_mod_editable( - mocker, membership_is_managed, expected, db -): # pylint: disable=unused-argument - """ - channel_is_mod_editable should be true if the channel exists and the membership is not managed by micromasters - or another external server - """ - channel_name = "abc" - view = mocker.Mock(kwargs={"channel_name": channel_name}) - - if membership_is_managed is not None: - Channel.objects.create( - name=channel_name, membership_is_managed=membership_is_managed - ) - - assert channel_is_mod_editable(view) is expected - - @pytest.mark.parametrize("is_staff", [True, False]) def test_is_staff_permission(mocker, is_staff): """ @@ -136,109 +88,6 @@ def test_is_staff_or_readonly_permission(mocker, is_staff, readonly, expected): is_readonly_mock.assert_called_once_with(request) -@pytest.mark.parametrize( - "is_staff,moderator,expected", - [ - [True, True, True], - [True, False, True], - [False, True, True], - [False, False, False], - ], -) -def test_is_staff_or_moderator_permission(mocker, is_staff, moderator, expected): - """ - Test that staff users or moderators are allowed - """ - request, view = mocker.Mock(), mocker.Mock() - is_staff_user_mock = mocker.patch( - "open_discussions.permissions.is_admin_user", - autospec=True, - return_value=is_staff, - ) - is_moderator_mock = mocker.patch( - "open_discussions.permissions.is_moderator", - autospec=True, - return_value=moderator, - ) - assert IsStaffOrModeratorPermission().has_permission(request, view) is expected - if is_moderator_mock.called: - is_moderator_mock.assert_called_once_with(request, view) - is_staff_user_mock.assert_called_once_with(request) - - -@pytest.mark.parametrize("exception_cls", [PrawRedirect, PrawForbidden]) -def test_is_staff_or_moderator_exceptions(mocker, user, exception_cls): - """ - Test that user is deemed not a moderator if praw raises a forbidden or redirect error - """ - perm = IsStaffOrModeratorPermission() - request = mocker.Mock(user=user) - request.channel_api = mocker.patch("channels.api.Api").return_value - request.channel_api.is_moderator.side_effect = exception_cls( - mocker.MagicMock(headers={"location": "/"}) - ) - view = mocker.Mock(kwargs=dict(channel_name="abc")) - assert perm.has_permission(request, view) is False - - -@pytest.mark.parametrize( - "is_staff,moderator,readonly,expected", - [ - [True, True, True, True], - [True, False, True, True], - [False, True, True, True], - [False, False, True, True], - [True, True, False, True], - [True, False, False, True], - [False, True, False, True], - [False, False, False, False], - ], -) -def test_is_staff_moderator_or_readonly_permission( - mocker, is_staff, moderator, readonly, expected -): - """ - Test that staff users or moderators are allowed - """ - request, view = mocker.Mock(), mocker.Mock() - is_staff_user_mock = mocker.patch( - "open_discussions.permissions.is_admin_user", - autospec=True, - return_value=is_staff, - ) - is_moderator_mock = mocker.patch( - "open_discussions.permissions.is_moderator", - autospec=True, - return_value=moderator, - ) - is_readonly_mock = mocker.patch( - "open_discussions.permissions.is_readonly", autospec=True, return_value=readonly - ) - assert ( - IsStaffModeratorOrReadonlyPermission().has_permission(request, view) is expected - ) - is_readonly_mock.assert_called_once_with(request) - if is_staff_user_mock.called: - is_staff_user_mock.assert_called_once_with(request) - if is_moderator_mock.called: - is_moderator_mock.assert_called_once_with(request, view) - - -@pytest.mark.parametrize("exception_cls", [PrawRedirect, PrawForbidden]) -def test_is_staff_moderator_or_readonly_exceptions(mocker, user, exception_cls): - """ - Test that user is deemed not a moderator if praw raises a forbidden or redirect error - """ - perm = IsStaffModeratorOrReadonlyPermission() - request = mocker.Mock(user=user) - request.channel_api = mocker.patch("channels.api.Api").return_value - request.channel_api.is_moderator.side_effect = exception_cls( - mocker.MagicMock(headers={"location": "/"}) - ) - view = mocker.Mock(kwargs=dict(channel_name="abc")) - assert perm.has_permission(request, view) is False - - @pytest.mark.parametrize( "logged_in_username,req_body_username,url_kwarg_username,expected", [ @@ -270,133 +119,6 @@ def test_is_own_subscription_permission( ) -def test_contributor_permission_self_delete(mocker): - """ - Test that users can delete their own contributor status - """ - mocker.patch("open_discussions.permissions.is_admin_user", return_value=False) - mocker.patch("open_discussions.permissions.is_moderator", return_value=False) - username = "user1" - request, view = mocker.Mock(), mocker.Mock() - request.method = "DELETE" - request.user.username = username - view.kwargs = {"contributor_name": username} - assert ContributorPermissions().has_permission(request, view) is True - - -# This is essentially is_staff or (moderator and (mod_editable or readonly)) -@pytest.mark.parametrize( - "is_staff, moderator, mod_editable, readonly, expected", - [ - [True, True, True, True, True], - [True, True, True, False, True], - [True, True, False, True, True], - [True, True, False, False, True], - [True, False, True, True, True], - [True, False, True, False, True], - [True, False, False, True, True], - [True, False, False, False, True], - [False, True, True, True, True], - [False, True, True, False, True], - [False, True, False, True, True], - [False, True, False, False, False], - [False, False, True, True, False], - [False, False, True, False, False], - [False, False, False, True, False], - [False, False, False, False, False], - ], -) # pylint: disable=too-many-arguments -def test_contributor_permission( # pylint:disable=unused-argument,too-many-arguments - mocker, is_staff, moderator, mod_editable, readonly, expected -): - """ - Test who can view and edit via the contributor REST API - """ - request, view = mocker.Mock(), mocker.Mock() - is_staff_user_mock = mocker.patch( - "open_discussions.permissions.is_admin_user", - autospec=True, - return_value=is_staff, - ) - is_moderator_mock = mocker.patch( - "open_discussions.permissions.is_moderator", - autospec=True, - return_value=moderator, - ) - channel_is_mod_editable_mock = mocker.patch( - "open_discussions.permissions.channel_is_mod_editable", - autospec=True, - return_value=mod_editable, - ) - is_readonly_mock = mocker.patch( - "open_discussions.permissions.is_readonly", autospec=True, return_value=readonly - ) - assert ContributorPermissions().has_permission(request, view) is expected - is_staff_user_mock.assert_called_once_with(request) - if is_moderator_mock.called: - is_moderator_mock.assert_called_once_with(request, view) - if channel_is_mod_editable_mock.called: - channel_is_mod_editable_mock.assert_called_once_with(view) - if is_readonly_mock.called: - is_readonly_mock.assert_called_once_with(request) - - -@pytest.mark.parametrize( - "readonly, is_staff, mod_editable, moderator, expected", - [ - [True, True, True, True, True], - [True, True, True, False, True], - [True, True, False, True, True], - [True, True, False, False, True], - [True, False, True, True, True], - [True, False, True, False, True], - [True, False, False, True, True], - [True, False, False, False, True], - [False, True, True, True, True], - [False, True, True, False, True], - [False, True, False, True, True], - [False, True, False, False, True], - [False, False, True, True, True], - [False, False, True, False, False], - [False, False, False, True, False], - [False, False, False, False, False], - ], -) # pylint: disable=too-many-arguments -def test_moderator_permission( # pylint:disable=unused-argument,too-many-arguments - mocker, readonly, is_staff, mod_editable, moderator, expected -): - """ - Test who can view and edit via the moderator REST API - """ - request, view = mocker.Mock(), mocker.Mock() - is_readonly_mock = mocker.patch( - "open_discussions.permissions.is_readonly", autospec=True, return_value=readonly - ) - is_staff_user_mock = mocker.patch( - "open_discussions.permissions.is_admin_user", - autospec=True, - return_value=is_staff, - ) - is_moderator_mock = mocker.patch( - "open_discussions.permissions.is_moderator", - autospec=True, - return_value=moderator, - ) - channel_is_mod_editable_mock = mocker.patch( - "open_discussions.permissions.channel_is_mod_editable", - autospec=True, - return_value=mod_editable, - ) - assert ModeratorPermissions().has_permission(request, view) is expected - is_readonly_mock.assert_called_once_with(request) - if is_staff_user_mock.called: - is_staff_user_mock.assert_called_once_with(request) - if is_moderator_mock.called: - is_moderator_mock.assert_called_once_with(request, view) - if channel_is_mod_editable_mock.called: - channel_is_mod_editable_mock.assert_called_once_with(view) - - @pytest.mark.parametrize( "method,result", [("GET", True), ("HEAD", True), ("OPTIONS", True), ("POST", False), ("PUT", False)], @@ -420,24 +142,6 @@ def test_not_anonymous(method, mocker): assert perm.has_permission(request, mocker.Mock()) is True -@pytest.mark.parametrize( - "name,raises_404", [["real", False], ["fake", True], [None, False]] -) -@pytest.mark.django_db -def test_channel_exists(mocker, name, raises_404): - """ - channel_exists function should raise an Http404 if channel name is not None and doesn't exist - """ - channel_view = mocker.Mock(kwargs={"channel_name": name}) - if name and not raises_404: - Channel.objects.create(name=name) - if raises_404: - with pytest.raises(Http404): - channel_exists(channel_view) - else: - assert channel_exists(channel_view) - - def test_object_only_permissions(mocker): """Checks that ObjectOnlyPermissions.has_permission() returns True""" perm = ObjectOnlyPermissions() diff --git a/open_discussions/recorder.py b/open_discussions/recorder.py deleted file mode 100644 index fcb97561df..0000000000 --- a/open_discussions/recorder.py +++ /dev/null @@ -1,32 +0,0 @@ -"""Add context manager to make recording reddit requests simpler""" -from contextlib import contextmanager -from unittest.mock import patch - -from betamax import Betamax -import requests - -from channels.api import Api -from open_discussions.betamax_config import setup_betamax - - -@contextmanager -def record(name, user): - """ - Record a cassette of some reddit communication. - - Usage: - with record('cassette_name', my_user) as api: - api.update_channel('channel', title='new_title') - - Args: - name (str): The name of the new cassette - user (django.contrib.auth.models.User): User to authenticate with - """ - setup_betamax() - session = requests.Session() - session.verify = False - - with patch("channels.api._get_session", return_value=session): - with Betamax(session).use_cassette(name): - api = Api(user) - yield api diff --git a/open_discussions/settings.py b/open_discussions/settings.py index 4fc8ffa980..054a068b76 100644 --- a/open_discussions/settings.py +++ b/open_discussions/settings.py @@ -108,15 +108,12 @@ # Put our apps after this point "open_discussions", "authentication", - "channels", "channels_fields", "profiles", "mail", - "notifications", "search", "widgets", "interactions", - "moira_lists", "discussions", "learning_resources", # to replace below when ready "course_catalog", @@ -132,7 +129,6 @@ "django.middleware.clickjacking.XFrameOptionsMiddleware", "corsheaders.middleware.CorsMiddleware", "authentication.middleware.BlockedIPMiddleware", - "open_discussions.middleware.channel_api.ChannelApiMiddleware", "authentication.middleware.SocialAuthExceptionRedirectMiddleware", "hijack.middleware.HijackUserMiddleware", ) @@ -351,22 +347,6 @@ else: ADMINS = () -# Email Notifications config - -NOTIFICATION_EMAIL_BACKEND = get_string( - "MITOPEN_NOTIFICATION_EMAIL_BACKEND", - "anymail.backends.mailgun.EmailBackend", -) -# See https://docs.celeryproject.org/en/latest/reference/celery.app.task.html#celery.app.task.Task.rate_limit -NOTIFICATION_ATTEMPT_RATE_LIMIT = get_string( - "MITOPEN_NOTIFICATION_ATTEMPT_RATE_LIMIT", None # default is no rate limit -) - -NOTIFICATION_ATTEMPT_CHUNK_SIZE = get_int( - "MITOPEN_NOTIFICATION_ATTEMPT_CHUNK_SIZE", 100 -) -NOTIFICATION_SEND_CHUNK_SIZE = get_int("MITOPEN_NOTIFICATION_SEND_CHUNK_SIZE", 100) - # embed.ly configuration EMBEDLY_KEY = get_string("EMBEDLY_KEY", None) EMBEDLY_EMBED_URL = get_string("EMBEDLY_EMBED_URL", "https://api.embed.ly/1/oembed") @@ -528,22 +508,11 @@ raise ImproperlyConfigured("Missing setting INDEXING_API_USERNAME") INDEXING_ERROR_RETRIES = get_int("INDEXING_ERROR_RETRIES", 1) -# reddit-specific settings -MITOPEN_REDDIT_CLIENT_ID = get_string("MITOPEN_REDDIT_CLIENT_ID", None) -MITOPEN_REDDIT_SECRET = get_string("MITOPEN_REDDIT_SECRET", None) -MITOPEN_REDDIT_URL = get_string("MITOPEN_REDDIT_URL", "") -MITOPEN_REDDIT_VALIDATE_SSL = get_bool("MITOPEN_REDDIT_VALIDATE_SSL", True) -MITOPEN_REDDIT_ACCESS_TOKEN = get_string("MITOPEN_REDDIT_ACCESS_TOKEN", "INSECURE") -MITOPEN_REDDIT_COMMENTS_LIMIT = get_int("MITOPEN_REDDIT_COMMENTS_LIMIT", 50) - # JWT authentication settings MITOPEN_JWT_SECRET = get_string( "MITOPEN_JWT_SECRET", "terribly_unsafe_default_jwt_secret_key" ) -MITOPEN_CHANNEL_POST_LIMIT = get_int("MITOPEN_CHANNEL_POST_LIMIT", 25) -MITOPEN_MAX_COMMENT_DEPTH = get_int("MITOPEN_MAX_COMMENT_DEPTH", 6) - MITOPEN_COOKIE_NAME = get_string("MITOPEN_COOKIE_NAME", None) if not MITOPEN_COOKIE_NAME: raise ImproperlyConfigured("MITOPEN_COOKIE_NAME is not set") @@ -566,27 +535,11 @@ "JWT_AUTH_HEADER_PREFIX": "Bearer", } -MITOPEN_FRONTPAGE_DIGEST_MAX_POSTS = get_int("MITOPEN_FRONTPAGE_DIGEST_MAX_POSTS", 5) -MITOPEN_FRONTPAGE_DIGEST_MAX_EPISODES = get_int( - "MITOPEN_FRONTPAGE_DIGEST_MAX_EPISODES", 5 -) - -MITOPEN_DEFAULT_CHANNEL_BACKPOPULATE_BATCH_SIZE = get_int( - "MITOPEN_DEFAULT_CHANNEL_BACKPOPULATE_BATCH_SIZE", 1000 -) -MITOPEN_RELATED_POST_COUNT = get_int("MITOPEN_RELATED_POST_COUNT", 4) - # Similar resources settings MITOPEN_SIMILAR_RESOURCES_COUNT = get_int("MITOPEN_SIMILAR_RESOURCES_COUNT", 3) OPEN_RESOURCES_MIN_DOC_FREQ = get_int("OPEN_RESOURCES_MIN_DOC_FREQ", 1) OPEN_RESOURCES_MIN_TERM_FREQ = get_int("OPEN_RESOURCES_MIN_TERM_FREQ", 1) -# Only repair the first page worth of posts -MITOPEN_HOT_POST_REPAIR_LIMIT = get_int( - "MITOPEN_HOT_POST_REPAIR_LIMIT", MITOPEN_CHANNEL_POST_LIMIT -) -MITOPEN_HOT_POST_REPAIR_DELAY = get_int("MITOPEN_HOT_POST_REPAIR_DELAY", 30) - # features flags def get_all_config_keys(): @@ -657,16 +610,10 @@ def get_all_config_keys(): LIVESTREAM_SECRET_KEY = get_string("LIVESTREAM_SECRET_KEY", None) LIVESTREAM_ACCOUNT_ID = get_string("LIVESTREAM_ACCOUNT_ID", None) -# x509 certificate for moira -MIT_WS_CERTIFICATE = get_key("MIT_WS_CERTIFICATE", "") -MIT_WS_PRIVATE_KEY = get_key("MIT_WS_PRIVATE_KEY", "") - # x509 filenames MIT_WS_CERTIFICATE_FILE = os.path.join(STATIC_ROOT, "mit_x509.cert") MIT_WS_PRIVATE_KEY_FILE = os.path.join(STATIC_ROOT, "mit_x509.key") -STAFF_MOIRA_LISTS = get_list_of_str("STAFF_MOIRA_LISTS", []) - AKISMET_API_KEY = get_string("AKISMET_API_KEY", None) AKISMET_BLOG_URL = get_string("AKISMET_BLOG_URL", None) AKISMET_IS_TESTING = get_string("AKISMET_IS_TESTING", False) @@ -683,15 +630,6 @@ def get_all_config_keys(): # allow for all IPs to be routable, including localhost, for testing IPWARE_PRIVATE_IP_PREFIX = () - -def setup_x509(): - """write the moira x509 certification & key to files""" - from open_discussions.utils import write_x509_files - - write_x509_files() - - -setup_x509() SPECTACULAR_SETTINGS = open_spectacular_settings # drf extension settings diff --git a/open_discussions/settings_celery.py b/open_discussions/settings_celery.py index 7035f35500..30f00dc81a 100644 --- a/open_discussions/settings_celery.py +++ b/open_discussions/settings_celery.py @@ -17,22 +17,6 @@ ) CELERY_BEAT_SCHEDULE = { - "evict-expired-access-tokens-every-1-hrs": { - "task": "channels.tasks.evict_expired_access_tokens", - "schedule": crontab(minute=0, hour="*"), - }, - "send-unsent-emails-every-1-mins": { - "task": "notifications.tasks.send_unsent_email_notifications", - "schedule": crontab(minute="*"), - }, - "send-frontpage-digests-every-1-days": { - "task": "notifications.tasks.send_daily_frontpage_digests", - "schedule": crontab(minute=0, hour=14), # 10am EST - }, - "send-frontpage-digests-every-1-weeks": { - "task": "notifications.tasks.send_weekly_frontpage_digests", - "schedule": crontab(minute=0, hour=14, day_of_week=2), # 10am EST on tuesdays - }, "update_edx-courses-every-1-days": { "task": "course_catalog.tasks.get_mitx_data", "schedule": crontab(minute=30, hour=15), # 11:30am EST @@ -93,10 +77,6 @@ "YOUTUBE_FETCH_TRANSCRIPT_SCHEDULE_SECONDS", 60 * 60 * 12 ), # default is 12 hours }, - "update-managed-channel-memberships": { - "task": "channels.tasks.update_memberships_for_managed_channels", - "schedule": crontab(minute=30, hour=10), # 6:30am EST - }, } CELERY_TASK_SERIALIZER = "json" diff --git a/open_discussions/urls.py b/open_discussions/urls.py index 8e740c1ccb..234b2d634c 100644 --- a/open_discussions/urls.py +++ b/open_discussions/urls.py @@ -35,11 +35,9 @@ re_path(r"^admin/", admin.site.urls), re_path(r"", include("authentication.urls")), re_path(r"", include("social_django.urls", namespace="social")), - re_path(r"", include("channels.urls")), re_path(r"", include("channels_fields.urls")), re_path(r"", include("profiles.urls")), re_path(r"", include("mail.urls")), - re_path(r"", include("notifications.urls")), re_path(r"", include("embedly.urls")), re_path(r"", include("search.urls")), re_path(r"", include("ckeditor.urls")), @@ -52,21 +50,6 @@ # React App re_path(r"^$", index, name="open_discussions-index"), re_path(r"^infinite/", index), - re_path( - r"^c/(?P[A-Za-z0-9_]+)/(?P[A-Za-z0-9_]+)/" - r"(?P{post_slug_pattern})/comment/(?P[A-Za-z0-9_]+)/?$".format( - post_slug_pattern=POST_SLUG_PATTERN - ), - index, - name="channel-post-comment", - ), - re_path( - r"^c/(?P[A-Za-z0-9_]+)/(?P[A-Za-z0-9_]+)/(?P{post_slug_pattern})/?$".format( - post_slug_pattern=POST_SLUG_PATTERN - ), - index, - name="channel-post", - ), re_path(r"^c/(?P[A-Za-z0-9_]+)/$", index, name="channel"), re_path( r"^manage/c/edit/(?P[A-Za-z0-9_]+)/basic/$", diff --git a/open_discussions/utils.py b/open_discussions/utils.py index 2df32f93a6..b7d75535d2 100644 --- a/open_discussions/utils.py +++ b/open_discussions/utils.py @@ -304,20 +304,3 @@ def write_x509_files(): """Write the x509 certificate and key to files""" write_to_file(settings.MIT_WS_CERTIFICATE_FILE, settings.MIT_WS_CERTIFICATE) write_to_file(settings.MIT_WS_PRIVATE_KEY_FILE, settings.MIT_WS_PRIVATE_KEY) - - -def get_field_names(model): - """ - Get field names which aren't autogenerated - - Args: - model (class extending django.db.models.Model): A Django model class - Returns: - list of str: - A list of field names - """ - return [ - field.name - for field in model._meta.get_fields() - if not field.auto_created # pylint: disable=protected-access - ] diff --git a/open_discussions/utils_test.py b/open_discussions/utils_test.py index 4e95c0a588..ec0d4a1b15 100644 --- a/open_discussions/utils_test.py +++ b/open_discussions/utils_test.py @@ -7,7 +7,6 @@ import pytest import pytz -from channels.models import SpamCheckResult from open_discussions.factories import UserFactory from open_discussions.utils import ( now_in_utc, @@ -22,7 +21,6 @@ prefetched_iterator, extract_values, write_to_file, - get_field_names, ) User = get_user_model() @@ -195,20 +193,3 @@ def test_write_to_file(): write_to_file(outfile.name, content) with open(outfile.name, "rb") as infile: assert infile.read() == content - - -def test_get_field_names(): - """ - Assert that get_field_names returns expected fields - """ - assert set(get_field_names(SpamCheckResult)) == { - "user_ip", - "user_agent", - "checks", - "is_spam", - "content_type", - "content_object", - "object_id", - "created_on", - "updated_on", - } diff --git a/open_discussions/views.py b/open_discussions/views.py index dd4a28f918..55ee937761 100644 --- a/open_discussions/views.py +++ b/open_discussions/views.py @@ -13,8 +13,6 @@ from course_catalog.permissions import is_staff_list_editor -from moira_lists.moira_api import is_public_list_editor - def index(request, **kwargs): # pylint: disable=unused-argument """Render the example app""" @@ -28,8 +26,6 @@ def index(request, **kwargs): # pylint: disable=unused-argument "user": { "id": user.id, "is_authenticated": bool(user.is_authenticated), - "is_public_list_editor": user.is_authenticated - and is_public_list_editor(user), "is_staff_list_editor": user.is_authenticated and (is_admin_user(request) or is_staff_list_editor(request)), }, diff --git a/poetry.lock b/poetry.lock index cca8c299ac..2b17e59b86 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2668,35 +2668,6 @@ files = [ dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] -[[package]] -name = "praw" -version = "4.6.0" -description = "PRAW, an acronym for `Python Reddit API Wrapper`, is a python package that allows for simple access to reddit's API." -optional = false -python-versions = "*" -files = [ - {file = "praw-4.6.0-py2.py3-none-any.whl", hash = "sha256:da448ca455f1362edb83b4929869e87f99725f7decb729e59e9b5b8ffef570c0"}, - {file = "praw-4.6.0.tar.gz", hash = "sha256:3f1cb9405291e0f875cc6d75e1705e1c1a55c13fcf8deeca229a93e9dfc6a1b1"}, -] - -[package.dependencies] -prawcore = ">=0.10.1,<0.11" -update-checker = ">=0.16" - -[[package]] -name = "prawcore" -version = "0.10.1" -description = "Low-level communication layer for PRAW 4+." -optional = false -python-versions = "*" -files = [ - {file = "prawcore-0.10.1-py2.py3-none-any.whl", hash = "sha256:eacf1b2e10da4883759bd795235b7c7d35e56db18c10a174e52ae65b60359f53"}, - {file = "prawcore-0.10.1.tar.gz", hash = "sha256:215ba911c9b6721145aff21d3309d700f87999e61f56e399680659e85049b50c"}, -] - -[package.dependencies] -requests = ">=2.6.0,<3.0" - [[package]] name = "prompt-toolkit" version = "3.0.39" @@ -3280,6 +3251,7 @@ files = [ {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, @@ -3287,8 +3259,15 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, + {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, + {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, + {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, @@ -3305,6 +3284,7 @@ files = [ {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, @@ -3312,6 +3292,7 @@ files = [ {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, @@ -4008,25 +3989,6 @@ files = [ {file = "ulid_py-0.0.3-py2.py3-none-any.whl", hash = "sha256:0b9c686536cb5c6e72ab6843e85193a6cd48722701d79174aca2a77ef3c2f628"}, ] -[[package]] -name = "update-checker" -version = "0.18.0" -description = "A python module that will check for package updates." -optional = false -python-versions = "*" -files = [ - {file = "update_checker-0.18.0-py3-none-any.whl", hash = "sha256:cbba64760a36fe2640d80d85306e8fe82b6816659190993b7bdabadee4d4bbfd"}, - {file = "update_checker-0.18.0.tar.gz", hash = "sha256:6a2d45bb4ac585884a6b03f9eade9161cedd9e8111545141e9aa9058932acb13"}, -] - -[package.dependencies] -requests = ">=2.3.0" - -[package.extras] -dev = ["black", "flake8", "pytest (>=2.7.3)"] -lint = ["black", "flake8"] -test = ["pytest (>=2.7.3)"] - [[package]] name = "uritemplate" version = "4.1.1" @@ -4305,4 +4267,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = "3.11.4" -content-hash = "ba3c95c2d67614811e88e6b1abbcc066e4a4c08a91de0981be21e7e530dfff92" +content-hash = "4658768302bdf69d9b79b84d927f4152c33ce9e2e632abb8b4d0e28a0697ead8" diff --git a/profiles/api.py b/profiles/api.py index 8121d7a9eb..20a2fc30e4 100644 --- a/profiles/api.py +++ b/profiles/api.py @@ -3,7 +3,6 @@ from django.db import transaction -from channels.models import ChannelGroupRole from profiles.models import ( Profile, filter_profile_props, @@ -53,51 +52,6 @@ def _after_profile_created_or_updated(): transaction.on_commit(_after_profile_created_or_updated) -def get_channels(user): - """ - Get the list of channel names for which the user is a moderator, contributor, or subscriber - - Args: - user(django.contrib.auth.models.User): the user to retrieve channel names for - - Returns: - set of str: Channel names - """ - return set( - list(user.channelsubscription_set.values_list("channel__name", flat=True)) - + list( - ChannelGroupRole.objects.filter(group__in=user.groups.all()).values_list( - "channel__name", flat=True - ) - ) - ) - - -def get_channel_join_dates(user): - """ - Get the list of channels and the dates that the user joined them - - Args: - user(django.contrib.auth.models.User): the user to retrieve channel names for - - Returns: - set of (str: Channel names, datetime: when they joined) - """ - names_and_dates = list( - user.channelsubscription_set.values_list("channel__name", "created_on") - ) + list( - ChannelGroupRole.objects.filter(group__in=user.groups.all()).values_list( - "channel__name", "created_on" - ) - ) - - output = {} - for name, joined in names_and_dates: - if name not in output or joined < output[name]: - output[name] = joined - return [(k, v) for k, v in output.items()] - - def get_site_type_from_url(url): """ Gets a site type (as defined in profiles.models) from the given URL diff --git a/profiles/api_test.py b/profiles/api_test.py index 8beaef5c08..ca31bfdf2d 100644 --- a/profiles/api_test.py +++ b/profiles/api_test.py @@ -1,15 +1,9 @@ """Profile API tests""" import pytest -from channels.api import sync_channel_subscription_model, add_user_role -from channels.constants import ROLE_CONTRIBUTORS, ROLE_MODERATORS -from channels.factories.models import ChannelFactory -from channels.models import ChannelGroupRole from open_discussions.factories import UserFactory from profiles import api from profiles.api import ( - get_channels, - get_channel_join_dates, get_site_type_from_url, after_profile_created_or_updated, ) @@ -71,35 +65,6 @@ def test_after_profile_created_or_updated(mocker, user): ) -def test_get_channels(user): - """ - Test that get_channels returns the correct list of channel names for a user - """ - channels = ChannelFactory.create_batch(4) - sync_channel_subscription_model(channels[0], user) - add_user_role(channels[1], ROLE_CONTRIBUTORS, user) - add_user_role(channels[2], ROLE_MODERATORS, user) - assert get_channels(user) == {channel.name for channel in channels[:3]} - - -def test_get_channel_join_dates(user): - """ - Test out the get_channel_join_dates function - """ - channels = ChannelFactory.create_batch(4) - sync_channel_subscription_model(channels[0], user) - sync_channel_subscription_model(channels[1], user) - add_user_role(channels[2], "moderators", user) - add_user_role(channels[3], "contributors", user) - assert sorted(get_channel_join_dates(user)) == sorted( - [ - (obj.channel.name, obj.created_on) - for obj in list(user.channelsubscription_set.all()) - + list(ChannelGroupRole.objects.filter(group__in=user.groups.all())) - ] - ) - - @pytest.mark.parametrize( "url,exp_site_type", [ diff --git a/profiles/filters.py b/profiles/filters.py index 9aead4c136..3392e363d7 100644 --- a/profiles/filters.py +++ b/profiles/filters.py @@ -14,10 +14,7 @@ class UserFilter(django_filters.FilterSet): social_auth_provider = django_filters.Filter( field_name="social_auth", lookup_expr="provider__in" ) - moira_lists = django_filters.Filter( - field_name="moira_lists", lookup_expr="name__in" - ) class Meta: model = User - fields = ("email__endswith", "social_auth_provider", "moira_lists") + fields = ("email__endswith", "social_auth_provider") diff --git a/profiles/filters_test.py b/profiles/filters_test.py index 2768bcdf53..ae2d5f7871 100644 --- a/profiles/filters_test.py +++ b/profiles/filters_test.py @@ -2,7 +2,6 @@ import pytest from django.contrib.auth import get_user_model -from moira_lists.factories import MoiraListFactory from open_discussions.factories import UserFactory from profiles.filters import UserFilter @@ -22,45 +21,3 @@ def test_user_filter_email_endswith(): assert matching_user in query assert nonmatching_user not in query - - -def test_user_filter_moira_lists(): - """Verify that UserFilter's moira_lists filter works""" - matching_user = UserFactory.create() - nonmatching_user = UserFactory.create() - - moira_list = MoiraListFactory.create() - moira_list.users.add(matching_user) - - query = UserFilter( - {"moira_lists": [moira_list.name]}, queryset=User.objects.all() - ).qs - - assert matching_user in query - assert nonmatching_user not in query - - -@pytest.mark.parametrize("moira_list", [None, "moira-list-1"]) -@pytest.mark.parametrize("email", [None, "@matching.domain"]) -def test_user_filter_filter_combos(email, moira_list): - """Verify that UserFilter works for combinations of filters""" - if moira_list is None and email is None: - pytest.skip("Invalid combination") - - matching_user = UserFactory.create(email="user@matching.domain") - nonmatching_user = UserFactory.create() - - params = {} - - if moira_list: - moira_list = MoiraListFactory.create(name=moira_list) - moira_list.users.add(matching_user) - params["moira_lists"] = [moira_list] - - if email: - params["email__endswith"] = email - - query = UserFilter(params, queryset=User.objects.all()).qs - - assert matching_user in query - assert nonmatching_user not in query diff --git a/profiles/urls.py b/profiles/urls.py index be2325d77b..f238b0087c 100644 --- a/profiles/urls.py +++ b/profiles/urls.py @@ -8,7 +8,6 @@ ProfileViewSet, UserWebsiteViewSet, name_initials_avatar_view, - UserContributionListView, ) router = DefaultRouter() @@ -17,11 +16,6 @@ router.register(r"websites", UserWebsiteViewSet, basename="user_websites_api") urlpatterns = [ - re_path( - r"^api/v0/profiles/(?P[A-Za-z0-9_]+)/(?Pposts|comments)/$", - UserContributionListView.as_view(), - name="user-contribution-list", - ), re_path(r"^api/v0/", include(router.urls)), # The URL that gravatar will redirect to if no gravatar exists for the user (no query parameters allowed). re_path( diff --git a/profiles/utils_test.py b/profiles/utils_test.py index 2ce80c47c9..81f2cb7606 100644 --- a/profiles/utils_test.py +++ b/profiles/utils_test.py @@ -1,13 +1,10 @@ """ Tests for profiles.utils """ -import re from io import BytesIO from urllib.parse import urlparse, parse_qs import xml.etree.ElementTree as etree - import pytest from PIL import Image -from channels.factories.models import ArticleFactory from open_discussions.factories import UserFactory from open_discussions.utils import generate_filepath from profiles.utils import ( @@ -19,7 +16,6 @@ update_full_name, generate_svg_avatar, generate_initials, - article_image_uri, ) @@ -189,18 +185,3 @@ def test_get_svg_avatar(): def test_generate_initials(text, initials): """Test that expected initials are returned from text""" assert generate_initials(text) == initials - - -@pytest.mark.django_db -def test_article_image_uri(): - """Test that article_image_uri provides the right URI for a post""" - article = ArticleFactory.create() - assert ( - re.match( - r"article\/" - + article.post.post_id - + r"\/myfile\-\d{4}\-\d{2}\-\d{2}T\d{6}_article\.jpg", - article_image_uri(article, "myfile.jpg"), - ) - is not None - ) diff --git a/profiles/views.py b/profiles/views.py index b8a44af82f..756a27808e 100644 --- a/profiles/views.py +++ b/profiles/views.py @@ -24,15 +24,6 @@ UserWebsiteSerializer, ) from profiles.utils import generate_svg_avatar, DEFAULT_PROFILE_IMAGE -from channels.models import Comment -from channels.proxies import proxy_posts -from channels.serializers.posts import BasePostSerializer -from channels.serializers.comments import BaseCommentSerializer -from channels.utils import ( - get_pagination_and_reddit_obj_list, - get_listing_params, - translate_praw_exceptions, -) class UserViewSet(viewsets.ModelViewSet): @@ -81,69 +72,3 @@ def name_initials_avatar_view( return redirect(DEFAULT_PROFILE_IMAGE) svg = generate_svg_avatar(user.profile.name, int(size), color, bgcolor) return HttpResponse(svg2png(bytestring=svg), content_type="image/png") - - -class UserContributionListView(APIView): - """View that returns user a user's posts or comments depending on the request URL""" - - permission_classes = (AnonymousAccessReadonlyPermission,) - - def get_serializer_context(self): - """Context for the request and view""" - return { - "include_permalink_data": True, - "channel_api": self.request.channel_api, - "current_user": self.request.user, - "request": self.request, - "view": self, - } - - def get(self, request, *args, **kwargs): - # pylint:disable=too-many-locals - """View method for HTTP GET request""" - with translate_praw_exceptions(request.user): - api = self.request.channel_api - profile_username = self.kwargs["username"] - profile_user = User.objects.get(username=profile_username) - object_type = self.kwargs["object_type"] - listing_params = get_listing_params(self.request) - - if object_type == "posts": - serializer_cls = BasePostSerializer - listing_getter = api.list_user_posts - else: - serializer_cls = BaseCommentSerializer - listing_getter = api.list_user_comments - - object_listing = listing_getter(profile_username, listing_params) - pagination, user_objects = get_pagination_and_reddit_obj_list( - object_listing, listing_params - ) - - if object_type == "posts": - user_objects = proxy_posts(user_objects) - user_objects = list( - filter(lambda object: not object.removed, user_objects) - ) - else: - spam_comments = Comment.objects.filter( - comment_id__in=[object.id for object in user_objects], removed=True - ).values_list("comment_id", flat=True) - - user_objects = list( - filter(lambda object: object.id not in spam_comments, user_objects) - ) - - return Response( - { - object_type: serializer_cls( - user_objects, - many=True, - context={ - **self.get_serializer_context(), - "users": {profile_username: profile_user}, - }, - ).data, - "pagination": pagination, - } - ) diff --git a/profiles/views_test.py b/profiles/views_test.py index 294e64b224..5e5be1d29c 100644 --- a/profiles/views_test.py +++ b/profiles/views_test.py @@ -2,35 +2,16 @@ # pylint: disable=redefined-outer-name, unused-argument, too-many-arguments import json from os.path import splitext, basename -from types import SimpleNamespace from django.contrib.auth.models import User from django.urls import reverse import pytest -from channels.serializers.posts import BasePostSerializer -from channels.serializers.comments import BaseCommentSerializer -from channels.constants import LINK_TYPE_SELF -from channels.proxies import PostProxy -from channels.factories.models import CommentFactory from profiles.utils import make_temp_image_file, DEFAULT_PROFILE_IMAGE -from fixtures.reddit import PostFactory pytestmark = [pytest.mark.django_db] -@pytest.fixture() -def removed_post_proxy(reddit_submission_obj): - """A dummy removed PostProxy object""" - post = PostFactory.create( - post_id="removed", - channel__name="channel", - post_type=LINK_TYPE_SELF, - removed=True, - ) - return PostProxy(reddit_submission_obj, post) - - def test_list_users(staff_client, staff_user): """ List users @@ -317,102 +298,3 @@ def test_initials_avatar_fake_user(client): response = client.get(url, follow=True) last_url, _ = response.redirect_chain[-1] assert last_url.endswith(DEFAULT_PROFILE_IMAGE) - - -class TestUserContributionListView: - """Tests for UserContributionListView""" - - @pytest.fixture() - def scenario(self, user_client, user): - """Common test data needed for class test cases""" - return SimpleNamespace(fake_pagination={"fake": "pagination"}) - - @pytest.mark.usefixtures("mock_req_channel_api") - @pytest.mark.parametrize("logged_in", [True, False]) - def test_user_posts_view( - self, - mocker, - user_client, - user, - scenario, - post_proxy, - removed_post_proxy, - logged_in, - ): - """Test that a request for user posts fetches and serializes a user's posts correctly""" - mock_get_obj_list = mocker.patch( - "profiles.views.get_pagination_and_reddit_obj_list", - return_value=( - scenario.fake_pagination, - [ - post_proxy._self_submission, # pylint: disable=protected-access - removed_post_proxy._self_submission, # pylint: disable=protected-access - ], - ), - ) - mock_proxy_posts = mocker.patch( - "profiles.views.proxy_posts", return_value=[post_proxy, removed_post_proxy] - ) - url = reverse( - "user-contribution-list", - kwargs={"username": user.username, "object_type": "posts"}, - ) - if not logged_in: - user_client.logout() - response = user_client.get(url) - assert mock_get_obj_list.called is True - assert mock_proxy_posts.called is True - resp_data = json.loads(response.content) - assert resp_data["pagination"] == scenario.fake_pagination - assert "posts" in resp_data - assert len(resp_data["posts"]) == 1 - serialized_post = resp_data["posts"][0] - assert serialized_post == BasePostSerializer(post_proxy).data - - @pytest.mark.usefixtures("mock_req_channel_api") - @pytest.mark.parametrize("logged_in", [True, False]) - @pytest.mark.parametrize("removed", [True, False]) - def test_user_comments_view( - self, - mocker, - user_client, - user, - scenario, - reddit_comment_obj, - logged_in, - removed, - ): - """Test that a request for user comments fetches and serializes a user's comments correctly""" - mock_get_obj_list = mocker.patch( - "profiles.views.get_pagination_and_reddit_obj_list", - return_value=(scenario.fake_pagination, [reddit_comment_obj]), - ) - url = reverse( - "user-contribution-list", - kwargs={"username": user.username, "object_type": "comments"}, - ) - CommentFactory.create(comment_id=reddit_comment_obj.id, removed=removed) - if not logged_in: - user_client.logout() - response = user_client.get(url) - assert mock_get_obj_list.called is True - resp_data = json.loads(response.content) - assert resp_data["pagination"] == scenario.fake_pagination - assert "comments" in resp_data - - if removed: - assert len(resp_data["comments"]) == 0 - else: - serialized_comment = resp_data["comments"][0] - assert ( - serialized_comment - == BaseCommentSerializer( - reddit_comment_obj, context={"include_permalink_data": True} - ).data - ) - # Channel name is not serialized for a comment by default. Since it's needed for the comment permalink, this - # view should include a flag that ensures that value is serialized. - assert ( - serialized_comment["channel_name"] - == reddit_comment_obj.submission.subreddit.display_name - ) diff --git a/pylintrc b/pylintrc index e51c90ce40..bae5c53691 100644 --- a/pylintrc +++ b/pylintrc @@ -1,6 +1,6 @@ [MASTER] ignore=.git -ignore-paths=^.*/migrations/.*$, ^node_modules, ^course_catalog, ^channels +ignore-paths=^.*/migrations/.*$, ^node_modules, ^course_catalog load-plugins = pylint_django [BASIC] diff --git a/pyproject.toml b/pyproject.toml index 90ce7c99e4..85763d858a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -78,7 +78,6 @@ newrelic = "^8.8.0" ocw-data-parser = "^0.35.1" opensearch-dsl = "^1.0.0" opensearch-py = "^1.0.0" -praw = "^4.5.1" psycopg2 = "^2.9.6" pygithub = "^1.44.1" python-dateutil = "^2.8.2" diff --git a/pytest.ini b/pytest.ini index aa5a69584a..b933a13834 100644 --- a/pytest.ini +++ b/pytest.ini @@ -14,7 +14,6 @@ env = MITOPEN_COOKIE_DOMAIN=localhost MITOPEN_COOKIE_NAME=cookie_monster MITOPEN_FEATURES_DEFAULT=False - MITOPEN_NOTIFICATION_EMAIL_BACKEND=anymail.backends.test.EmailBackend MITOPEN_SECURE_SSL_REDIRECT=False MITOPEN_USE_S3=False SENTRY_DSN= diff --git a/search/api.py b/search/api.py index 1b8ae48848..8f8976644d 100644 --- a/search/api.py +++ b/search/api.py @@ -8,15 +8,6 @@ from opensearch_dsl.query import MoreLikeThis from nested_lookup import nested_lookup -from channels.constants import ( - CHANNEL_TYPE_PUBLIC, - CHANNEL_TYPE_RESTRICTED, - COMMENT_TYPE, - POST_TYPE, - ROLE_CONTRIBUTORS, - ROLE_MODERATORS, -) -from channels.models import ChannelGroupRole from course_catalog.constants import PrivacyLevel from course_catalog.models import FavoriteItem from course_catalog.utils import get_list_items_by_resource @@ -26,7 +17,6 @@ from search.constants import ( ALIAS_ALL_INDICES, COURSE_TYPE, - GLOBAL_DOC_TYPE, LEARNING_RESOURCE_TYPES, PODCAST_EPISODE_TYPE, PODCAST_TYPE, @@ -36,36 +26,9 @@ RESOURCE_FILE_TYPE, ) -RELATED_POST_RELEVANT_FIELDS = ["plain_text", "post_title", "author_id", "channel_name"] SIMILAR_RESOURCE_RELEVANT_FIELDS = ["title", "short_description"] -def gen_post_id(reddit_obj_id): - """ - Generates the OpenSearch document id for a post - - Args: - reddit_obj_id (int|str): The id of a reddit object as reported by PRAW - - Returns: - str: The OpenSearch document id for this object - """ - return "p_{}".format(reddit_obj_id) - - -def gen_comment_id(reddit_obj_id): - """ - Generates the OpenSearch document id for a comment - - Args: - reddit_obj_id (int|str): The id of a reddit object as reported by PRAW - - Returns: - str: The OpenSearch document id for this object - """ - return "c_{}".format(reddit_obj_id) - - def gen_profile_id(profile_id): """ Generates the OpenSearch document id for a profile @@ -187,64 +150,6 @@ def gen_podcast_episode_id(podcast_episode_obj): return "podcast_ep_{}".format(podcast_episode_obj.id) -def is_reddit_object_removed(reddit_obj): - """ - Indicates whether or not a given reddit object is considered to be removed by moderators - - Args: - reddit_obj (praw.models.reddit.submission.Submission, praw.models.reddit.comment.Comment): - A PRAW post/'submission' or comment object - - Returns: - bool: True if the object is considered removed, False otherwise - """ - return bool(reddit_obj.banned_by) and not reddit_obj.approved_by - - -# pylint: disable=invalid-unary-operand-type -def _apply_general_query_filters(search, user): - """ - Applies a series of filters to a Search object so permissions are respected, deleted - objects are ignored, etc. - - search (opensearch_dsl.Search): Search object - user (User): The user executing the search - - Returns: - opensearch_dsl.Search: Search object with filters applied - """ - # Get the list of channels a logged in user is a contributor/moderator of - channel_names = ( - sorted( - list( - ChannelGroupRole.objects.filter( - group__user=user, role__in=(ROLE_CONTRIBUTORS, ROLE_MODERATORS) - ) - .values_list("channel__name", flat=True) - .distinct() - ) - ) - if not user.is_anonymous - else [] - ) - - # Search for comments and posts from channels - channels_filter = Q( - "terms", channel_type=[CHANNEL_TYPE_PUBLIC, CHANNEL_TYPE_RESTRICTED] - ) | ~Q("terms", object_type=[COMMENT_TYPE, POST_TYPE]) - - # Exclude deleted comments and posts - content_filter = (Q("term", deleted=False) & Q("term", removed=False)) | ~Q( - "terms", object_type=[COMMENT_TYPE, POST_TYPE] - ) - - # Search public channels and channels user is a contributor/moderator of - if channel_names: - channels_filter = channels_filter | Q("terms", channel_name=channel_names) - - return search.filter(channels_filter).filter(content_filter) - - # pylint: disable=invalid-unary-operand-type def _apply_learning_query_filters(search, user): """ @@ -335,7 +240,6 @@ def execute_search(*, user, query): indexes = ",".join(relevant_indexes(query)) search = Search(index=indexes) search.update_from_dict(query) - search = _apply_general_query_filters(search, user) return _transform_search_results_suggest_with_compatability( search.execute().to_dict() ) @@ -552,33 +456,6 @@ def _transform_search_results_coursenum(search_result, department_filters): ] -def find_related_documents(*, user, post_id): - """ - Execute a "more like this" query to find posts that are related to a specific post - - Args: - user (User): The user executing the search - post_id (str): The id of the post that you want to find related posts for - - Returns: - dict: The OpenSearch response dict - """ - index = get_default_alias_name(ALIAS_ALL_INDICES) - search = Search(index=index) - search = _apply_general_query_filters(search, user) - search = search.query( - MoreLikeThis( - like={"_id": gen_post_id(post_id), "_type": GLOBAL_DOC_TYPE}, - fields=RELATED_POST_RELEVANT_FIELDS, - min_term_freq=1, - min_doc_freq=1, - ) - ) - # Limit results to the number indicated in settings - search = search[0 : settings.MITOPEN_RELATED_POST_COUNT] - return search.execute().to_dict() - - def find_similar_resources(*, user, value_doc): """ Execute a "more like this" query to find learning resources that are similar to the one provided. @@ -593,7 +470,6 @@ def find_similar_resources(*, user, value_doc): """ index = get_default_alias_name(ALIAS_ALL_INDICES) search = Search(index=index) - search = _apply_general_query_filters(search, user) search = search.filter(Q("terms", object_type=LEARNING_RESOURCE_TYPES)) search = search.query( MoreLikeThis( diff --git a/search/api_test.py b/search/api_test.py index e31b64392c..2014c19981 100644 --- a/search/api_test.py +++ b/search/api_test.py @@ -5,9 +5,6 @@ from django.contrib.auth.models import AnonymousUser from django.contrib.contenttypes.models import ContentType -from channels.api import add_user_role -from channels.constants import CHANNEL_TYPE_PUBLIC, CHANNEL_TYPE_RESTRICTED -from channels.factories.models import ChannelFactory from course_catalog.constants import PlatformType, PrivacyLevel from course_catalog.factories import ( ContentFileFactory, @@ -25,20 +22,15 @@ SIMILAR_RESOURCE_RELEVANT_FIELDS, execute_learn_search, execute_search, - find_related_documents, find_similar_resources, - gen_comment_id, - gen_post_id, gen_video_id, get_similar_topics, - is_reddit_object_removed, transform_results, ) from search.connection import get_default_alias_name from search.constants import ( ALIAS_ALL_INDICES, COURSE_TYPE, - GLOBAL_DOC_TYPE, PODCAST_EPISODE_TYPE, PODCAST_TYPE, USER_LIST_TYPE, @@ -87,30 +79,6 @@ def search_features(settings): settings.FEATURES[features.PODCAST_SEARCH] = True -@pytest.fixture() -def gen_query_filters_mock(mocker): - """Mock _apply_general_query_filters""" - - def return_search_arg( - search, *args - ): # pylint: disable=missing-docstring,unused-argument - return search - - return mocker.patch( - "search.api._apply_general_query_filters", side_effect=return_search_arg - ) - - -def test_gen_post_id(): - """Test that gen_post_id returns an expected id""" - assert gen_post_id("1") == "p_1" - - -def test_gen_comment_id(): - """Test that gen_comment_id returns an expected id""" - assert gen_comment_id("1") == "c_1" - - def test_gen_video_id(mocker): """Test that gen_video_id returns an expected id""" assert ( @@ -119,191 +87,6 @@ def test_gen_video_id(mocker): ) -@pytest.mark.parametrize( - "banned_by_val,approved_by_val,expected_value", - [ - ("admin_username", "", True), - ("admin_username", None, True), - ("admin_username", "admin_username", False), - ("", None, False), - (None, None, False), - ], -) -def test_is_reddit_object_removed( - mocker, banned_by_val, approved_by_val, expected_value -): - """ - Tests that is_reddit_object_removed returns the expected values based on the - banned_by and approved_by properties for the given object - """ - reddit_obj = mocker.Mock(banned_by=banned_by_val, approved_by=approved_by_val) - assert is_reddit_object_removed(reddit_obj) is expected_value - - -def test_execute_search(user, opensearch): - """execute_search should execute an OpenSearch search""" - channels = sorted(ChannelFactory.create_batch(2), key=lambda channel: channel.name) - add_user_role(channels[0], "moderators", user) - add_user_role(channels[1], "contributors", user) - - query = {"a": "query"} - opensearch.conn.search.return_value = {"hits": {"total": 10}} - - assert execute_search(user=user, query=query) == opensearch.conn.search.return_value - opensearch.conn.search.assert_called_once_with( - body={ - **query, - "query": { - "bool": { - "filter": [ - { - "bool": { - "should": [ - { - "bool": { - "must_not": [ - { - "terms": { - "object_type": [ - "comment", - "post", - ] - } - } - ] - } - }, - { - "terms": { - "channel_type": [ - CHANNEL_TYPE_PUBLIC, - CHANNEL_TYPE_RESTRICTED, - ] - } - }, - { - "terms": { - "channel_name": [ - channel.name for channel in channels - ] - } - }, - ] - } - }, - { - "bool": { - "should": [ - { - "bool": { - "must": [ - {"term": {"deleted": False}}, - {"term": {"removed": False}}, - ] - } - }, - { - "bool": { - "must_not": [ - { - "terms": { - "object_type": [ - "comment", - "post", - ] - } - } - ] - } - }, - ] - } - }, - ] - } - }, - }, - index=[get_default_alias_name(ALIAS_ALL_INDICES)], - ) - - -def test_execute_search_anonymous(opensearch): - """execute_search should execute an OpenSearch search with an anonymous user""" - user = AnonymousUser() - query = {"a": "query"} - opensearch.conn.search.return_value = {"hits": {"total": 10}} - - assert execute_search(user=user, query=query) == opensearch.conn.search.return_value - opensearch.conn.search.assert_called_once_with( - body={ - **query, - "query": { - "bool": { - "filter": [ - { - "bool": { - "should": [ - { - "bool": { - "must_not": [ - { - "terms": { - "object_type": [ - "comment", - "post", - ] - } - } - ] - } - }, - { - "terms": { - "channel_type": [ - CHANNEL_TYPE_PUBLIC, - CHANNEL_TYPE_RESTRICTED, - ] - } - }, - ] - } - }, - { - "bool": { - "should": [ - { - "bool": { - "must": [ - {"term": {"deleted": False}}, - {"term": {"removed": False}}, - ] - } - }, - { - "bool": { - "must_not": [ - { - "terms": { - "object_type": [ - "comment", - "post", - ] - } - } - ] - } - }, - ] - } - }, - ] - } - }, - }, - index=[get_default_alias_name(ALIAS_ALL_INDICES)], - ) - - @pytest.mark.parametrize("max_suggestions", [1, 3]) @pytest.mark.parametrize("suggest_min_hits", [2, 4]) def test_execute_search_with_suggestion( @@ -343,9 +126,6 @@ def test_execute_learn_search( opensearch.conn.search.return_value = { "hits": {"total": {"value": 10, "relation": "eq"}} } - channels = sorted(ChannelFactory.create_batch(2), key=lambda channel: channel.name) - add_user_role(channels[0], "moderators", user) - add_user_role(channels[1], "contributors", user) if has_resource_type_subquery: query = {"a": {"bool": {"object_type": COURSE_TYPE}}} @@ -505,30 +285,6 @@ def test_execute_learn_search_podcasts(settings, user, opensearch): } -def test_find_related_documents(settings, opensearch, user, gen_query_filters_mock): - """find_related_documents should execute a more-like-this query""" - posts_to_return = 7 - settings.MITOPEN_RELATED_POST_COUNT = posts_to_return - post_id = "abc" - - assert ( - find_related_documents(user=user, post_id=post_id) - == opensearch.conn.search.return_value - ) - assert gen_query_filters_mock.call_count == 1 - constructed_query = opensearch.conn.search.call_args[1] - assert constructed_query["body"]["query"] == { - "more_like_this": { - "like": {"_id": gen_post_id(post_id), "_type": GLOBAL_DOC_TYPE}, - "fields": ["plain_text", "post_title", "author_id", "channel_name"], - "min_term_freq": 1, - "min_doc_freq": 1, - } - } - assert constructed_query["body"]["from"] == 0 - assert constructed_query["body"]["size"] == posts_to_return - - @pytest.mark.parametrize("is_anonymous", [True, False]) @pytest.mark.django_db def test_find_similar_resources(settings, is_anonymous, opensearch, user): diff --git a/search/connection_test.py b/search/connection_test.py index f5bdd44e46..58341997f5 100644 --- a/search/connection_test.py +++ b/search/connection_test.py @@ -31,10 +31,6 @@ def test_get_active_aliases(mocker, include_reindexing, indexes_exist, object_ty else: if include_reindexing: assert active_aliases == [ - "testindex_post_default", - "testindex_post_reindexing", - "testindex_comment_default", - "testindex_comment_reindexing", "testindex_profile_default", "testindex_profile_reindexing", "testindex_course_default", @@ -54,8 +50,6 @@ def test_get_active_aliases(mocker, include_reindexing, indexes_exist, object_ty ] else: assert active_aliases == [ - "testindex_post_default", - "testindex_comment_default", "testindex_profile_default", "testindex_course_default", "testindex_program_default", diff --git a/search/constants.py b/search/constants.py index 13732edf07..7ddb7abcda 100644 --- a/search/constants.py +++ b/search/constants.py @@ -1,11 +1,7 @@ """ Constants for search """ from opensearchpy.exceptions import ConnectionError as ESConnectionError -from praw.exceptions import PRAWException -from prawcore.exceptions import PrawcoreException from urllib3.exceptions import TimeoutError as UrlTimeoutError -from channels.constants import COMMENT_TYPE, POST_TYPE - ALIAS_ALL_INDICES = "all" PROFILE_TYPE = "profile" COURSE_TYPE = "course" @@ -31,8 +27,6 @@ ) VALID_OBJECT_TYPES = ( - POST_TYPE, - COMMENT_TYPE, PROFILE_TYPE, COURSE_TYPE, PROGRAM_TYPE, @@ -364,20 +358,6 @@ } MAPPING = { - POST_TYPE: { - **CONTENT_OBJECT_TYPE, - "post_link_url": {"type": "keyword"}, - "post_link_thumbnail": {"type": "keyword"}, - "num_comments": {"type": "long"}, - "plain_text": ENGLISH_TEXT_FIELD, - "post_type": {"type": "keyword"}, - }, - COMMENT_TYPE: { - **CONTENT_OBJECT_TYPE, - "comment_id": {"type": "keyword"}, - "parent_comment_id": {"type": "keyword"}, - "parent_post_removed": {"type": "boolean"}, - }, PROFILE_TYPE: PROFILE_OBJECT_TYPE, COURSE_TYPE: COURSE_OBJECT_TYPE, PROGRAM_TYPE: PROGRAM_OBJECT_TYPE, @@ -390,4 +370,3 @@ } SEARCH_CONN_EXCEPTIONS = (ESConnectionError, UrlTimeoutError) -REDDIT_EXCEPTIONS = (PrawcoreException, PRAWException) diff --git a/search/indexing_api.py b/search/indexing_api.py index 47f7a352fb..c58f20f9a6 100644 --- a/search/indexing_api.py +++ b/search/indexing_api.py @@ -24,13 +24,11 @@ ) from search.constants import ( ALIAS_ALL_INDICES, - COMMENT_TYPE, COURSE_TYPE, GLOBAL_DOC_TYPE, MAPPING, PODCAST_EPISODE_TYPE, PODCAST_TYPE, - POST_TYPE, PROFILE_TYPE, PROGRAM_TYPE, SCRIPTING_LANG, @@ -42,15 +40,12 @@ ) from search.exceptions import ReindexException from search.serializers import ( - OSPostSerializer, - serialize_bulk_comments, serialize_bulk_courses, serialize_bulk_courses_for_deletion, serialize_bulk_podcast_episodes, serialize_bulk_podcast_episodes_for_deletion, serialize_bulk_podcasts, serialize_bulk_podcasts_for_deletion, - serialize_bulk_posts, serialize_bulk_profiles, serialize_bulk_profiles_for_deletion, serialize_bulk_programs, @@ -292,19 +287,6 @@ def increment_document_integer_field(doc_id, field_name, incr_amount, object_typ ) -def update_post(doc_id, post): - """ - Serializes a Post object and updates it in the index - - Args: - doc_id (str): The ES document id - post (channels.models.Post): A Post object - """ - return update_document_with_partial( - doc_id, OSPostSerializer(instance=post).data, POST_TYPE - ) - - def deindex_items(documents, object_type, update_only, **kwargs): """ Calls index_items with error catching around not_found for objects that don't exist @@ -383,29 +365,6 @@ def index_items(documents, object_type, update_only, **kwargs): ) -def index_posts(ids, update_only=False): - """ - Index a list of posts by id - - Args: - ids(list of int): List of Post id's - update_only (bool): Update existing index only - """ - index_items(serialize_bulk_posts(ids), POST_TYPE, update_only) - - -def index_comments(ids, update_only=False): - """ - Index a list of comments by id - - Args: - ids(list of int): List of Comment id's - update_only (bool): Update existing index only - - """ - index_items(serialize_bulk_comments(ids), COMMENT_TYPE, update_only) - - def index_profiles(ids, update_only=False): """ Index a list of profiles by id diff --git a/search/indexing_api_test.py b/search/indexing_api_test.py index f91f1a1352..c0d5997d26 100644 --- a/search/indexing_api_test.py +++ b/search/indexing_api_test.py @@ -5,48 +5,38 @@ from types import SimpleNamespace import pytest -from opensearchpy.exceptions import ConflictError, NotFoundError +from opensearchpy.exceptions import NotFoundError -from channels.api import add_user_role, sync_channel_subscription_model -from channels.factories.models import ChannelFactory from course_catalog.factories import ( ContentFileFactory, CourseFactory, LearningResourceRunFactory, ) +from search.connection import get_default_alias_name from course_catalog.models import ContentFile from open_discussions.factories import UserFactory from open_discussions.utils import chunks from search import indexing_api from search.api import gen_course_id -from search.connection import get_default_alias_name from search.constants import ( - ALIAS_ALL_INDICES, - COMMENT_TYPE, GLOBAL_DOC_TYPE, - POST_TYPE, PROFILE_TYPE, SCRIPTING_LANG, UPDATE_CONFLICT_SETTING, + COURSE_TYPE, ) from search.exceptions import ReindexException from search.indexing_api import ( clear_and_create_index, - create_backing_index, - create_document, deindex_courses, deindex_document, deindex_run_content_files, delete_orphaned_indices, - get_reindexing_alias_name, - increment_document_integer_field, index_course_content_files, index_items, index_run_content_files, - switch_indices, - update_document_with_partial, update_field_values_by_query, - update_post, + get_reindexing_alias_name, ) from search.serializers import serialize_bulk_profiles @@ -63,8 +53,8 @@ def mocked_es(mocker, settings): "search.indexing_api.get_conn", autospec=True, return_value=conn ) mocker.patch("search.connection.get_conn", autospec=True) - default_alias = get_default_alias_name(POST_TYPE) - reindex_alias = get_reindexing_alias_name(POST_TYPE) + default_alias = get_default_alias_name(COURSE_TYPE) + reindex_alias = get_reindexing_alias_name(COURSE_TYPE) yield SimpleNamespace( get_conn=get_conn_patch, conn=conn, @@ -75,23 +65,6 @@ def mocked_es(mocker, settings): ) -@pytest.mark.parametrize("object_type", [POST_TYPE, COMMENT_TYPE]) -def test_create_document(mocked_es, mocker, object_type): - """ - Test that create_document gets a connection and calls the correct opensearch-dsl function - """ - doc_id, data = ("doc_id", {"object_type": object_type}) - mock_get_aliases = mocker.patch( - "search.indexing_api.get_active_aliases", return_value=[object_type] - ) - create_document(doc_id, data) - mock_get_aliases.assert_called_once_with(mocked_es.conn, object_types=[object_type]) - mocked_es.get_conn.assert_called_once_with() - mocked_es.conn.create.assert_any_call( - index=object_type, doc_type=GLOBAL_DOC_TYPE, body=data, id=doc_id - ) - - @pytest.mark.parametrize( "version_conflicts,expected_error_logged", [(0, False), (1, True)] ) @@ -130,112 +103,6 @@ def test_update_field_values_by_query( assert patched_logger.error.called is expected_error_logged -@pytest.mark.parametrize("object_type", [POST_TYPE, COMMENT_TYPE]) -def test_update_document_with_partial(mocked_es, mocker, object_type): - """ - Test that update_document_with_partial gets a connection and calls the correct opensearch-dsl function - """ - mock_get_aliases = mocker.patch( - "search.indexing_api.get_active_aliases", return_value=[object_type] - ) - doc_id, data = ("doc_id", {"key1": "value1"}) - update_document_with_partial(doc_id, data, object_type) - mock_get_aliases.assert_called_once_with(mocked_es.conn, object_types=[object_type]) - mocked_es.get_conn.assert_called_once_with() - mocked_es.conn.update.assert_called_once_with( - index=object_type, - doc_type=GLOBAL_DOC_TYPE, - body={"doc": data}, - id=doc_id, - params={"retry_on_conflict": 0}, - ) - - -def test_update_partial_conflict_logging(mocker, mocked_es): - """ - Test that update_document_with_partial logs an error if a version conflict occurs - """ - patched_logger = mocker.patch("search.indexing_api.log") - doc_id, data = ("doc_id", {"key1": "value1", "object_type": POST_TYPE}) - mocked_es.conn.update.side_effect = ConflictError - update_document_with_partial(doc_id, data, POST_TYPE) - assert patched_logger.error.called is True - - -def test_update_post(mocker): - """Test that update_post serializes a Post object and updates the corresponding ES document""" - fake_post = mocker.Mock(post_id="1") - fake_serialized_post = mocker.Mock(data={"key": "value"}) - mock_update_document = mocker.patch( - "search.indexing_api.update_document_with_partial" - ) - mocker.patch( - "search.indexing_api.OSPostSerializer", return_value=fake_serialized_post - ) - - update_post("abc", fake_post) - assert mock_update_document.called is True - assert mock_update_document.call_args[0] == ( - "abc", - fake_serialized_post.data, - POST_TYPE, - ) - - -def test_increment_document_integer_field(mocked_es): - """ - Test that increment_document_integer_field gets a connection and calls the - correct opensearch-dsl function - """ - doc_id, field_name, incr_amount = ("doc_id", "some_field_name", 1) - increment_document_integer_field(doc_id, field_name, incr_amount, POST_TYPE) - mocked_es.get_conn.assert_called_once_with() - - for alias in mocked_es.active_aliases: - mocked_es.conn.update.assert_any_call( - index=alias, - doc_type=GLOBAL_DOC_TYPE, - body={ - "script": { - "source": "ctx._source.{} += params.incr_amount".format(field_name), - "lang": SCRIPTING_LANG, - "params": {"incr_amount": incr_amount}, - } - }, - id=doc_id, - params={"retry_on_conflict": 0}, - ) - - -@pytest.mark.parametrize("object_type", [POST_TYPE, COMMENT_TYPE]) -@pytest.mark.parametrize("skip_mapping", [True, False]) -@pytest.mark.parametrize("already_exists", [True, False]) -def test_clear_and_create_index(mocked_es, object_type, skip_mapping, already_exists): - """ - clear_and_create_index should deindex the index and create a new empty one with a mapping - """ - index = "index" - - conn = mocked_es.conn - conn.indices.exists.return_value = already_exists - - clear_and_create_index( - index_name=index, skip_mapping=skip_mapping, object_type=object_type - ) - - conn.indices.exists.assert_called_once_with(index) - assert conn.indices.delete.called is already_exists - if already_exists: - conn.indices.delete.assert_called_once_with(index) - - assert conn.indices.create.call_count == 1 - assert conn.indices.create.call_args[0][0] == index - body = conn.indices.create.call_args[1]["body"] - - assert "settings" in body - assert "mappings" not in body if skip_mapping else "mappings" in body - - @pytest.mark.parametrize("object_type", [None, "fake"]) def test_clear_and_create_index_error(object_type): """ @@ -247,102 +114,12 @@ def test_clear_and_create_index_error(object_type): ) -@pytest.mark.parametrize("object_type", [POST_TYPE, COMMENT_TYPE]) -@pytest.mark.parametrize("default_exists", [True, False]) -def test_switch_indices(mocked_es, mocker, default_exists, object_type): - """ - switch_indices should atomically remove the old backing index - for the default alias and replace it with the new one - """ - refresh_mock = mocker.patch("search.indexing_api.refresh_index", autospec=True) - conn_mock = mocked_es.conn - conn_mock.indices.exists_alias.return_value = default_exists - old_backing_index = "old_backing" - conn_mock.indices.get_alias.return_value.keys.return_value = [old_backing_index] - - backing_index = "backing" - switch_indices(backing_index, object_type) - - conn_mock.indices.delete_alias.assert_any_call( - name=get_reindexing_alias_name(object_type), index=backing_index - ) - default_alias = get_default_alias_name(object_type) - all_alias = get_default_alias_name(ALIAS_ALL_INDICES) - conn_mock.indices.exists_alias.assert_called_once_with(name=default_alias) - - actions = [] - if default_exists: - actions.extend( - [ - {"remove": {"index": old_backing_index, "alias": default_alias}}, - {"remove": {"index": old_backing_index, "alias": all_alias}}, - ] - ) - actions.extend( - [ - {"add": {"index": backing_index, "alias": default_alias}}, - {"add": {"index": backing_index, "alias": all_alias}}, - ] - ) - conn_mock.indices.update_aliases.assert_called_once_with({"actions": actions}) - refresh_mock.assert_called_once_with(backing_index) - if default_exists: - conn_mock.indices.delete.assert_called_once_with(old_backing_index) - else: - assert conn_mock.indices.delete.called is False - - conn_mock.indices.delete_alias.assert_called_once_with( - name=get_reindexing_alias_name(object_type), index=backing_index - ) - - -@pytest.mark.parametrize("temp_alias_exists", [True, False]) -def test_create_backing_index(mocked_es, mocker, temp_alias_exists): - """create_backing_index should make a new backing index and set the reindex alias to point to it""" - reindexing_alias = get_reindexing_alias_name(POST_TYPE) - backing_index = "backing_index" - conn_mock = mocked_es.conn - conn_mock.indices.exists_alias.return_value = temp_alias_exists - get_alias = conn_mock.indices.get_alias - get_alias.return_value = ( - {backing_index: {"alias": {reindexing_alias: {}}}} if temp_alias_exists else {} - ) - clear_and_create_mock = mocker.patch( - "search.indexing_api.clear_and_create_index", autospec=True - ) - make_backing_index_mock = mocker.patch( - "search.indexing_api.make_backing_index_name", return_value=backing_index - ) - - assert create_backing_index(POST_TYPE) == backing_index - - get_conn_mock = mocked_es.get_conn - get_conn_mock.assert_called_once_with() - make_backing_index_mock.assert_called_once_with(POST_TYPE) - clear_and_create_mock.assert_called_once_with( - index_name=backing_index, object_type=POST_TYPE - ) - - conn_mock.indices.exists_alias.assert_called_once_with(name=reindexing_alias) - if temp_alias_exists: - conn_mock.indices.delete_alias.assert_any_call( - index=backing_index, name=reindexing_alias - ) - assert conn_mock.indices.delete_alias.called is temp_alias_exists - - conn_mock.indices.put_alias.assert_called_once_with( - index=backing_index, name=reindexing_alias - ) - - @pytest.mark.usefixtures("indexing_user") @pytest.mark.parametrize("errors", ([], ["error"])) @pytest.mark.parametrize( "indexing_func_name, serializing_func_name, object_type", [ ("index_profiles", "serialize_bulk_profiles", "profile"), - ("index_comments", "serialize_bulk_comments", "comment"), - ("index_posts", "serialize_bulk_posts", "post"), ("index_courses", "serialize_bulk_courses", "course"), ("index_programs", "serialize_bulk_programs", "program"), ("index_user_lists", "serialize_bulk_user_lists", "userlist"), @@ -566,10 +343,6 @@ def test_index_profile_items(mocker): index_items for profiles should call alias and bulk index functions """ users = UserFactory.create_batch(2) - for user in users: - channel = ChannelFactory.create() - sync_channel_subscription_model(channel, user) - add_user_role(channel, "moderators", user) profile_ids = [user.profile.id for user in users] mock_aliases = mocker.patch( diff --git a/search/management/commands/recreate_index.py b/search/management/commands/recreate_index.py index 8fff75cbcd..42196e90b2 100644 --- a/search/management/commands/recreate_index.py +++ b/search/management/commands/recreate_index.py @@ -1,4 +1,4 @@ -"""Management command to index reddit content""" +"""Management command to index content""" from django.core.management.base import BaseCommand, CommandError from open_discussions.utils import now_in_utc @@ -7,7 +7,7 @@ class Command(BaseCommand): - """Indexes reddit content""" + """Indexes content""" help = "Recreate opensearch index" diff --git a/search/management/commands/update_index.py b/search/management/commands/update_index.py index 81a5615fb7..6be959da74 100644 --- a/search/management/commands/update_index.py +++ b/search/management/commands/update_index.py @@ -1,4 +1,4 @@ -"""Management command to index reddit content""" +"""Management command to index content""" from django.core.management.base import BaseCommand, CommandError from open_discussions.utils import now_in_utc diff --git a/search/search_index_helpers.py b/search/search_index_helpers.py index d2b0a256d0..ff759ba828 100644 --- a/search/search_index_helpers.py +++ b/search/search_index_helpers.py @@ -2,27 +2,19 @@ Functions that execute search-related asynchronous tasks """ import logging -from functools import partial, wraps from django.conf import settings - -from channels.constants import COMMENT_TYPE, POST_TYPE, VoteActions -from channels.models import Comment -from channels.utils import render_article_text from open_discussions.features import INDEX_UPDATES, if_feature_enabled from search import tasks from search.api import ( - gen_comment_id, gen_course_id, gen_podcast_episode_id, gen_podcast_id, - gen_post_id, gen_profile_id, gen_program_id, gen_staff_list_id, gen_user_list_id, gen_video_id, - is_reddit_object_removed, ) from search.constants import ( COURSE_TYPE, @@ -34,14 +26,8 @@ USER_LIST_TYPE, VIDEO_TYPE, ) -from search.serializers import OSCommentSerializer, OSPostSerializer from search.tasks import ( - create_document, - create_post_document, deindex_document, - increment_document_integer_field, - update_document_with_partial, - update_field_values_by_query, ) log = logging.getLogger() @@ -57,137 +43,6 @@ def try_with_retry_as_task(function, *args): function.delay(*args) -def reddit_object_persist(*persistence_funcs): - """ - Decorator that passes a PRAW object to any number of functions that persist the object to a new data store. - The decorated function must return a PRAW object - (e.g.: praw.models.reddit.submission.Submission, praw.models.reddit.comment.Comment) - """ - - def api_indexing_listener_inner(func): # pylint: disable=missing-docstring - @wraps(func) - def wrapped_api_func(*args, **kwargs): # pylint: disable=missing-docstring - reddit_obj = func(*args, **kwargs) - try: - for persistence_func in persistence_funcs: - persistence_func(reddit_obj) - except Exception: # pylint: disable=broad-except - log.exception( - "Error occurred while trying to serialize and index PRAW object" - ) - return reddit_obj - - return wrapped_api_func - - return api_indexing_listener_inner - - -@if_feature_enabled(INDEX_UPDATES) -def index_new_post(post_obj): - """ - Serializes a post object and runs a task to create an ES document for it. - - Args: - post_obj (channels.proxies.PostProxy): A proxied post/submission - """ - post = post_obj._self_post # pylint: disable=protected-access - data = OSPostSerializer(instance=post).data - create_post_document.delay(gen_post_id(post.post_id), data) - - -@if_feature_enabled(INDEX_UPDATES) -def index_new_comment(comment_obj): - """ - Serializes a comment object and runs a task to create an ES document for it. - - Args: - comment_obj (praw.models.reddit.comment.Comment): A PRAW comment object - """ - comment = Comment.objects.get(comment_id=comment_obj.id) - data = OSCommentSerializer(instance=comment).data - create_document.delay(gen_comment_id(comment_obj.id), data) - increment_parent_post_comment_count(comment_obj) - - -@if_feature_enabled(INDEX_UPDATES) -def update_post_text(post_obj): - """ - Serializes post object text and runs a task to update the text for the associated ES document. - - Args: - post_obj (praw.models.reddit.submission.Submission): A PRAW post ('submission') object - """ - update_document_with_partial.delay( - gen_post_id(post_obj.id), - { - "plain_text": render_article_text(post_obj.article_content), - "text": post_obj.selftext, - }, - POST_TYPE, - ) - - -@if_feature_enabled(INDEX_UPDATES) -def update_comment_text(comment_obj): - """ - Serializes comment object text and runs a task to update the text for the associated ES document. - - Args: - comment_obj (praw.models.reddit.comment.Comment): A PRAW comment object - """ - update_document_with_partial.delay( - gen_comment_id(comment_obj.id), {"text": comment_obj.body}, COMMENT_TYPE - ) - - -@if_feature_enabled(INDEX_UPDATES) -def update_field_for_all_post_comments(post_obj, field_name, field_value): - """ - Runs a task to update a field value for all comments associated with a given post. - - Args: - post_obj (praw.models.reddit.submission.Submission): A PRAW post ('submission') object - """ - update_field_values_by_query.delay( - query={ - "query": { - "bool": { - "must": [ - {"match": {"object_type": COMMENT_TYPE}}, - {"match": {"post_id": post_obj.id}}, - ] - } - } - }, - field_dict={field_name: field_value}, - object_types=[COMMENT_TYPE], - ) - - -@if_feature_enabled(INDEX_UPDATES) -def update_channel_index(channel_obj): - """ - Runs a task to update the channel title, type for all posts and comments associated with the given channel. - - Args: - channel_obj (praw.models.Subreddit): A PRAW channel ('subreddit') object - """ - update_field_values_by_query.delay( - query={ - "query": { - "bool": { - "must": [{"match": {"channel_name": channel_obj.display_name}}] - } - } - }, - field_dict={ - "channel_title": channel_obj.title, - "channel_type": channel_obj.subreddit_type, - }, - object_types=[COMMENT_TYPE, POST_TYPE], - ) - - @if_feature_enabled(INDEX_UPDATES) def upsert_profile(user_id): """ @@ -213,142 +68,6 @@ def deindex_profile(user_obj): ) -@if_feature_enabled(INDEX_UPDATES) -def update_author_posts_comments(profile_id): - """ - Run a task to update author name and avatar in all associated post and comment docs - - Args: - profile_id (int): the primary key for the Profile object to query by - """ - tasks.update_author_posts_comments.delay(profile_id) - - -@if_feature_enabled(INDEX_UPDATES) -def update_post_removal_status(post_obj): - """ - Serializes the removal status for a post object and runs a task to update that status - for the associated ES document. - - Args: - post_obj (praw.models.reddit.submission.Submission): A PRAW post ('submission') object - """ - update_document_with_partial.delay( - gen_post_id(post_obj.id), - {"removed": is_reddit_object_removed(post_obj)}, - POST_TYPE, - ) - update_field_for_all_post_comments( - post_obj, - field_name="parent_post_removed", - field_value=is_reddit_object_removed(post_obj), - ) - - -@if_feature_enabled(INDEX_UPDATES) -def update_comment_removal_status(comment_obj): - """ - Serializes the removal status for a comment object and runs a task to update that status - for the associated ES document. - - Args: - comment_obj (praw.models.reddit.comment.Comment): A PRAW comment object - """ - update_document_with_partial.delay( - gen_comment_id(comment_obj.id), - {"removed": is_reddit_object_removed(comment_obj)}, - COMMENT_TYPE, - ) - - -@if_feature_enabled(INDEX_UPDATES) -def _update_parent_post_comment_count(comment_obj, incr_amount=1): - """ - Updates the comment count for a post object (retrieved via a comment object) - and runs a task to update that count for the associated ES document. - - Args: - comment_obj (praw.models.reddit.comment.Comment): A PRAW comment object - incr_amount (int): The amount to increment to count - """ - post_obj = comment_obj.submission - increment_document_integer_field.delay( - gen_post_id(post_obj.id), - field_name="num_comments", - incr_amount=incr_amount, - object_type=POST_TYPE, - ) - - -increment_parent_post_comment_count = partial( - _update_parent_post_comment_count, incr_amount=1 -) -decrement_parent_post_comment_count = partial( - _update_parent_post_comment_count, incr_amount=-1 -) - - -@if_feature_enabled(INDEX_UPDATES) -def set_post_to_deleted(post_obj): - """ - Sets a post to deleted and updates child comments to be deleted as well. - - Args: - post_obj (praw.models.reddit.submission.Submission): A PRAW post ('submission') object - """ - update_document_with_partial.delay( - gen_post_id(post_obj.id), {"deleted": True}, POST_TYPE - ) - update_field_for_all_post_comments(post_obj, field_name="deleted", field_value=True) - - -@if_feature_enabled(INDEX_UPDATES) -def set_comment_to_deleted(comment_obj): - """ - Sets a comment to deleted and updates the parent post's comment count. - - Args: - comment_obj (praw.models.reddit.comment.Comment): A PRAW comment object - """ - update_document_with_partial.delay( - gen_comment_id(comment_obj.id), {"deleted": True}, COMMENT_TYPE - ) - decrement_parent_post_comment_count(comment_obj) - - -@if_feature_enabled(INDEX_UPDATES) -def update_indexed_score(instance, instance_type, vote_action=None): - """ - Runs a task to update the score for a post/comment document in ES. - - Args: - instance: A PRAW Comment or Submission (a.k.a. post) object - instance_type (str): A string indicating the type of object being passed in - vote_action (VoteActions): A value indicating what kind of vote action was taken - """ - if vote_action in (VoteActions.UPVOTE, VoteActions.CLEAR_DOWNVOTE): - vote_increment = 1 - elif vote_action in (VoteActions.DOWNVOTE, VoteActions.CLEAR_UPVOTE): - vote_increment = -1 - else: - raise ValueError("Received an invalid vote action value: %s" % vote_action) - - if instance_type not in [POST_TYPE, COMMENT_TYPE]: - return - content_id = ( - gen_post_id(instance.id) - if instance_type == POST_TYPE - else gen_comment_id(instance.id) - ) - - increment_document_integer_field.delay( - content_id, - field_name="score", - incr_amount=vote_increment, - object_type=instance_type, - ) - - @if_feature_enabled(INDEX_UPDATES) def upsert_course(course_id): """ diff --git a/search/search_index_helpers_test.py b/search/search_index_helpers_test.py index 79a3633646..1f6d9c26c3 100644 --- a/search/search_index_helpers_test.py +++ b/search/search_index_helpers_test.py @@ -2,9 +2,6 @@ # pylint: disable=redefined-outer-name,unused-argument import pytest -from channels.constants import COMMENT_TYPE, POST_TYPE, VoteActions -from channels.factories.models import CommentFactory -from channels.utils import render_article_text from course_catalog.constants import UserListType from course_catalog.factories import ( ContentFileFactory, @@ -17,11 +14,9 @@ ) from open_discussions.features import INDEX_UPDATES from search.api import ( - gen_comment_id, gen_course_id, gen_podcast_episode_id, gen_podcast_id, - gen_post_id, gen_profile_id, gen_user_list_id, gen_video_id, @@ -35,7 +30,6 @@ VIDEO_TYPE, ) from search.search_index_helpers import ( - decrement_parent_post_comment_count, deindex_course, deindex_podcast, deindex_podcast_episode, @@ -43,20 +37,7 @@ deindex_run_content_files, deindex_user_list, deindex_video, - increment_parent_post_comment_count, - index_new_comment, - index_new_post, index_run_content_files, - reddit_object_persist, - set_comment_to_deleted, - update_author_posts_comments, - update_channel_index, - update_comment_removal_status, - update_comment_text, - update_field_for_all_post_comments, - update_indexed_score, - update_post_removal_status, - update_post_text, upsert_content_file, upsert_course, upsert_podcast, @@ -95,294 +76,6 @@ def mock_es_profile_serializer(mocker): ) -def test_reddit_object_persist(mocker): - """ - Test that a function decorated with reddit_object_persist receives the return value - of the decorated function, passes it to a provided function, and returns the value - as normal. - """ - - def mock_indexer1(reddit_obj): # pylint: disable=missing-docstring - reddit_obj.changed1 = True - - def mock_indexer2(reddit_obj): # pylint: disable=missing-docstring - reddit_obj.changed2 = True - - @reddit_object_persist(mock_indexer1, mock_indexer2) - def decorated_api_func(mock_reddit_obj): # pylint: disable=missing-docstring - return mock_reddit_obj - - mock_reddit_obj = mocker.Mock() - reddit_obj = decorated_api_func(mock_reddit_obj) - assert reddit_obj.changed1 is True - assert reddit_obj.changed2 is True - assert reddit_obj == mock_reddit_obj - - -def test_index_new_post(mocker): - """ - Test that index_new_post calls the indexing task with the right parameters - """ - fake_serialized_data = {"serialized": "post"} - mock_post = mocker.Mock(post_id="abc") - mock_post_proxy = mocker.Mock(_self_post=mock_post) - patched_serialize_func = mocker.patch( - "search.search_index_helpers.OSPostSerializer.to_representation", - return_value=fake_serialized_data, - ) - patched_task = mocker.patch("search.search_index_helpers.create_post_document") - index_new_post(mock_post_proxy) - patched_serialize_func.assert_called_once_with(mock_post) - assert patched_task.delay.called is True - assert patched_task.delay.call_args[0] == ( - gen_post_id(mock_post.post_id), - fake_serialized_data, - ) - - -@pytest.mark.django_db -def test_index_new_comment(mocker): - """ - Test that index_new_comment calls indexing tasks with the right parameters - """ - fake_serialized_data = {"serialized": "comment"} - comment = CommentFactory.create() - mock_submission = mocker.Mock(id="123") - mock_comment = mocker.Mock(id=comment.comment_id, submission=mock_submission) - patched_serialize_func = mocker.patch( - "search.search_index_helpers.OSCommentSerializer.to_representation", - return_value=fake_serialized_data, - ) - patched_create_task = mocker.patch("search.search_index_helpers.create_document") - patched_increment_task = mocker.patch( - "search.search_index_helpers.increment_document_integer_field" - ) - index_new_comment(mock_comment) - patched_serialize_func.assert_called_once_with(comment) - assert patched_create_task.delay.called is True - assert patched_create_task.delay.call_args[0] == ( - gen_comment_id(mock_comment.id), - fake_serialized_data, - ) - assert patched_increment_task.delay.called is True - assert patched_increment_task.delay.call_args[0] == ( - gen_post_id(mock_submission.id), - ) - assert patched_increment_task.delay.call_args[1] == { - "field_name": "num_comments", - "incr_amount": 1, - "object_type": POST_TYPE, - } - - -def test_update_post_text(mocker, reddit_submission_obj): - """ - Test that update_post_text calls the indexing task with the right parameters - """ - patched_task = mocker.patch( - "search.search_index_helpers.update_document_with_partial" - ) - update_post_text(reddit_submission_obj) - assert patched_task.delay.called is True - assert patched_task.delay.call_args[0] == ( - gen_post_id(reddit_submission_obj.id), - { - "text": reddit_submission_obj.selftext, - "plain_text": render_article_text(reddit_submission_obj.article_content), - }, - POST_TYPE, - ) - - -def test_update_comment_text(mocker, reddit_comment_obj): - """ - Test that update_post_text calls the indexing task with the right parameters - """ - patched_task = mocker.patch( - "search.search_index_helpers.update_document_with_partial" - ) - update_comment_text(reddit_comment_obj) - assert patched_task.delay.called is True - assert patched_task.delay.call_args[0] == ( - gen_comment_id(reddit_comment_obj.id), - {"text": reddit_comment_obj.body}, - COMMENT_TYPE, - ) - - -@pytest.mark.parametrize( - "removal_status,expected_removed_arg", [(True, True), (False, False)] -) -def test_update_post_removal_status( - mocker, reddit_submission_obj, removal_status, expected_removed_arg -): - """ - Test that update_post_removal_status calls the indexing task with the right parameters and - calls an additional task to update child comment removal status - """ - patched_task = mocker.patch( - "search.search_index_helpers.update_document_with_partial" - ) - patched_comment_update_func = mocker.patch( - "search.search_index_helpers.update_field_for_all_post_comments" - ) - patched_reddit_object_removed = mocker.patch( - "search.search_index_helpers.is_reddit_object_removed" - ) - patched_reddit_object_removed.return_value = removal_status - update_post_removal_status(reddit_submission_obj) - assert patched_reddit_object_removed.called is True - assert patched_task.delay.called is True - assert patched_task.delay.call_args[0] == ( - gen_post_id(reddit_submission_obj.id), - {"removed": expected_removed_arg}, - POST_TYPE, - ) - patched_comment_update_func.assert_called_with( - reddit_submission_obj, - field_name="parent_post_removed", - field_value=expected_removed_arg, - ) - - -@pytest.mark.parametrize( - "removal_status,expected_removed_arg", [(True, True), (False, False)] -) -def test_update_comment_removal_status( - mocker, reddit_comment_obj, removal_status, expected_removed_arg -): - """ - Test that update_comment_removal_status calls the indexing task with the right parameters - """ - patched_task = mocker.patch( - "search.search_index_helpers.update_document_with_partial" - ) - patched_reddit_object_removed = mocker.patch( - "search.search_index_helpers.is_reddit_object_removed" - ) - patched_reddit_object_removed.return_value = removal_status - update_comment_removal_status(reddit_comment_obj) - assert patched_task.delay.called is True - assert patched_task.delay.call_args[0] == ( - gen_comment_id(reddit_comment_obj.id), - {"removed": expected_removed_arg}, - COMMENT_TYPE, - ) - - -def test_update_post_removal_for_comments(mocker, reddit_submission_obj): - """ - Test that update_post_removal_for_comments calls the indexing task with the right parameters - """ - patched_task = mocker.patch( - "search.search_index_helpers.update_field_values_by_query" - ) - field_name, field_value = ("field1", "value1") - update_field_for_all_post_comments( - reddit_submission_obj, field_name=field_name, field_value=field_value - ) - assert patched_task.delay.called is True - assert patched_task.delay.call_args[1] == dict( - query={ - "query": { - "bool": { - "must": [ - {"match": {"object_type": COMMENT_TYPE}}, - {"match": {"post_id": reddit_submission_obj.id}}, - ] - } - } - }, - field_dict={field_name: field_value}, - object_types=[COMMENT_TYPE], - ) - - -@pytest.mark.parametrize( - "update_comment_count_func,expected_increment", - [ - (increment_parent_post_comment_count, 1), - (decrement_parent_post_comment_count, -1), - ], -) -def test_update_post_comment_count( - mocker, reddit_comment_obj, update_comment_count_func, expected_increment -): - """ - Test that update_post_removal_status calls the indexing task with the right parameters - """ - patched_task = mocker.patch( - "search.search_index_helpers.increment_document_integer_field" - ) - update_comment_count_func(reddit_comment_obj) - assert patched_task.delay.called is True - assert patched_task.delay.call_args[0] == ( - gen_post_id(reddit_comment_obj.submission.id), - ) - assert patched_task.delay.call_args[1] == { - "field_name": "num_comments", - "incr_amount": expected_increment, - "object_type": POST_TYPE, - } - - -def test_set_comment_to_deleted(mocker, reddit_comment_obj): - """ - Test that set_comment_to_deleted calls the indexing task to update a comment's deleted property - and calls another task to decrement the parent post's comment count - """ - patched_partial_update_task = mocker.patch( - "search.search_index_helpers.update_document_with_partial" - ) - patched_increment_task = mocker.patch( - "search.search_index_helpers.increment_document_integer_field" - ) - set_comment_to_deleted(reddit_comment_obj) - assert patched_partial_update_task.delay.called is True - assert patched_partial_update_task.delay.call_args[0] == ( - gen_comment_id(reddit_comment_obj.id), - {"deleted": True}, - COMMENT_TYPE, - ) - assert patched_increment_task.delay.called is True - assert patched_increment_task.delay.call_args[0] == ( - gen_post_id(reddit_comment_obj.submission.id), - ) - assert patched_increment_task.delay.call_args[1] == { - "field_name": "num_comments", - "incr_amount": -1, - "object_type": POST_TYPE, - } - - -@pytest.mark.parametrize( - "vote_action,expected_increment", - [ - (VoteActions.UPVOTE, 1), - (VoteActions.CLEAR_DOWNVOTE, 1), - (VoteActions.DOWNVOTE, -1), - (VoteActions.CLEAR_UPVOTE, -1), - ], -) -def test_update_indexed_score( - mocker, reddit_submission_obj, vote_action, expected_increment -): - """ - Test that update_indexed_score calls the indexing task with the right parameters - """ - patched_task = mocker.patch( - "search.search_index_helpers.increment_document_integer_field" - ) - update_indexed_score(reddit_submission_obj, POST_TYPE, vote_action=vote_action) - assert patched_task.delay.called is True - assert patched_task.delay.call_args[0] == (gen_post_id(reddit_submission_obj.id),) - assert patched_task.delay.call_args[1] == { - "field_name": "score", - "incr_amount": expected_increment, - "object_type": POST_TYPE, - } - - def test_upsert_profile(mocker, mock_es_profile_serializer, user): """ Tests that upsert_profile calls the task with the right parameters @@ -392,55 +85,6 @@ def test_upsert_profile(mocker, mock_es_profile_serializer, user): patched_task.assert_called_once_with(user.profile.id) -def test_update_author_posts_comments(mocker, mock_es_profile_serializer, user): - """ - Tests that update_author_posts_comments calls update_field_values_by_query with the right parameters - """ - patched_task = mocker.patch("search.indexing_api.update_field_values_by_query") - call_data = { - key: val - for key, val in es_profile_serializer_data.items() - if key in {"author_name", "author_avatar_small", "author_headline"} - } - update_author_posts_comments(user.profile.id) - patched_task.assert_called_once_with( - query={"query": {"bool": {"must": [{"match": {"author_id": user.username}}]}}}, - field_dict=call_data, - object_types=[POST_TYPE, COMMENT_TYPE], - ) - - -def test_update_channel_index(mocker): - """ - Tests that update_channel_index calls update_field_values_by_query with the right parameters - """ - patched_task = mocker.patch( - "search.search_index_helpers.update_field_values_by_query" - ) - channel = mocker.Mock( - display_name="name", - title="title", - subreddit_type="public", - description="description", - public_description="public_description", - submission_type="link", - ) - update_channel_index(channel) - assert patched_task.delay.called is True - assert patched_task.delay.call_args[1] == dict( - query={ - "query": { - "bool": {"must": [{"match": {"channel_name": channel.display_name}}]} - } - }, - field_dict={ - "channel_title": channel.title, - "channel_type": channel.subreddit_type, - }, - object_types=[COMMENT_TYPE, POST_TYPE], - ) - - @pytest.mark.django_db def test_upsert_course(mocker): """ diff --git a/search/serializers.py b/search/serializers.py index d5051c0e1d..3ecfddda97 100644 --- a/search/serializers.py +++ b/search/serializers.py @@ -7,11 +7,8 @@ from django.conf import settings from django.db.models import Prefetch -from prawcore import NotFound from rest_framework import serializers -from channels.constants import COMMENT_TYPE, POST_TYPE -from channels.models import Comment, Post from course_catalog.constants import OCW_DEPARTMENTS, PlatformType from course_catalog.models import ( ContentFile, @@ -27,14 +24,11 @@ ) from open_discussions.utils import filter_dict_keys, filter_dict_with_renamed_keys from profiles.models import Profile -from profiles.utils import image_uri from search.api import ( - gen_comment_id, gen_content_file_id, gen_course_id, gen_podcast_episode_id, gen_podcast_id, - gen_post_id, gen_profile_id, gen_program_id, gen_staff_list_id, @@ -77,7 +71,7 @@ class OSProxySerializer: Serializer class for opensearch objects that proxy to another serializer for serialization Attributes: - object_type (str): String indicating the type of reddit/django object + object_type (str): String indicating the type of django object use_keys (list[str]): A list of keys from the base serializer results to use in the final serialized object rename_keys (dict(str, str)): @@ -102,7 +96,7 @@ def postprocess_fields( def serialize(self, discussions_obj): """ - Serializes a reddit or django model object by modifying the results from a base serializer class + Serializes a django model object by modifying the results from a base serializer class """ base_serialized = self.base_serializer(discussions_obj).data serialized = { @@ -135,161 +129,6 @@ def base_serializer(self): return ProfileSerializer - def postprocess_fields(self, discussions_obj, serialized_data): - from profiles import api as channel_api - - join_data = channel_api.get_channel_join_dates(discussions_obj.user) - return { - "author_channel_membership": sorted( - channel_api.get_channels(discussions_obj.user) - ), - "author_channel_join_data": [ - {"name": name, "joined": created_on} for name, created_on in join_data - ], - } - - -class OSPostSerializer(OSModelSerializer): - """opensearch serializer class for posts""" - - object_type = POST_TYPE - - post_id = serializers.CharField(read_only=True) - post_title = serializers.CharField(source="title", read_only=True) - post_link_url = serializers.CharField(source="url", read_only=True) - post_link_thumbnail = serializers.CharField(source="thumbnail_url", read_only=True) - post_slug = serializers.CharField(source="slug", read_only=True) - plain_text = serializers.CharField(read_only=True) - - author_avatar_small = serializers.SerializerMethodField() - author_id = serializers.CharField( - source="author.username", read_only=True, default=None - ) - author_name = serializers.CharField( - source="author.profile.name", read_only=True, default=None - ) - author_headline = serializers.CharField( - source="author.profile.headline", read_only=True, default=None - ) - - channel_name = serializers.CharField(source="channel.name", read_only=True) - channel_title = serializers.CharField(source="channel.title", read_only=True) - channel_type = serializers.CharField(source="channel.channel_type", read_only=True) - - article_content = serializers.JSONField( - source="article.content", default=None, read_only=True - ) - - created = serializers.DateTimeField(source="created_on", read_only=True) - - def get_author_avatar_small(self, instance): - """Returns the small profile image of the author""" - profile = ( - instance.author.profile - if instance.author and instance.author.profile - else None - ) - return image_uri(profile) - - class Meta: - model = Post - fields = ( - "post_type", - "post_slug", - "post_id", - "post_title", - "post_link_url", - "post_link_thumbnail", - "author_avatar_small", - "author_id", - "author_name", - "author_headline", - "channel_name", - "channel_title", - "channel_type", - "article_content", - "plain_text", - "text", - "score", - "num_comments", - "removed", - "deleted", - "created", - ) - read_only_fields = ( - "post_type", - "text", - "score", - "num_comments", - "created", - "removed", - "deleted", - ) - - -class OSCommentSerializer(OSModelSerializer): - """opensearch serializer class for comments""" - - object_type = COMMENT_TYPE - - post_id = serializers.CharField(source="post.post_id", read_only=True) - post_title = serializers.CharField(source="post.title", read_only=True) - post_slug = serializers.CharField(source="post.slug", read_only=True) - - comment_id = serializers.CharField(read_only=True) - parent_comment_id = serializers.CharField(source="parent_id", read_only=True) - - author_avatar_small = serializers.SerializerMethodField() - author_id = serializers.CharField( - source="author.username", read_only=True, default=None - ) - author_name = serializers.CharField( - source="author.profile.name", read_only=True, default=None - ) - author_headline = serializers.CharField( - source="author.profile.headline", read_only=True, default=None - ) - - channel_name = serializers.CharField(source="post.channel.name", read_only=True) - channel_title = serializers.CharField(source="post.channel.title", read_only=True) - channel_type = serializers.CharField( - source="post.channel.channel_type", read_only=True - ) - - created = serializers.DateTimeField(source="created_on", read_only=True) - - def get_author_avatar_small(self, instance): - """Returns the small profile image of the author""" - profile = ( - instance.author.profile - if instance.author and instance.author.profile - else None - ) - return image_uri(profile) - - class Meta: - model = Comment - fields = ( - "post_title", - "post_id", - "post_slug", - "comment_id", - "parent_comment_id", - "author_avatar_small", - "author_id", - "author_name", - "author_headline", - "channel_name", - "channel_title", - "channel_type", - "text", - "score", - "removed", - "deleted", - "created", - ) - read_only_fields = ("text", "score", "created", "removed", "deleted") - class OSCoursePriceSerializer(serializers.ModelSerializer): """opensearch serializer for course prices""" @@ -864,38 +703,6 @@ class Meta: read_only_fields = fields -def serialize_bulk_posts(post_ids): - """ - Index a list of Post.ids - - Args: - post_ids (list of int): a list of Post.id values to serialize - - Yields: - iter of dict: yields an iterable of serialized posts - """ - for post in Post.objects.filter(id__in=post_ids).prefetch_related( - "article", "link_meta", "author", "author__profile" - ): - yield serialize_post_for_bulk(post) - - -def serialize_bulk_comments(comment_ids): - """ - Index a list of Comment.ids - - Args: - comment_ids (list of int): a list of Comment.ids to serialize - - Yields: - iter of dict: yields an iterable of serialized comments - """ - for comment in Comment.objects.filter(id__in=comment_ids).prefetch_related( - "post", "author", "author__profile" - ): - yield serialize_comment_for_bulk(comment) - - def serialize_bulk_profiles(ids): """ Serialize profiles for bulk indexing @@ -953,46 +760,6 @@ def serialize_for_deletion(opensearch_object_id): return {"_id": opensearch_object_id, "_op_type": "delete"} -def serialize_post_for_bulk(post_obj): - """ - Serialize a reddit Submission for a bulk API request - - Args: - post (channels.models.Post): A Post object - - Returns: - dict: the serialized post - """ - try: - return { - "_id": gen_post_id(post_obj.post_id), - **OSPostSerializer(instance=post_obj).data, - } - except NotFound: - log.exception("Reddit post not found: %s", post_obj.id) - raise - - -def serialize_comment_for_bulk(comment_obj): - """ - Serialize a comment for a bulk API request - - Args: - comment_obj (channels.models.Comment): A Comment object - - Returns: - dict: the serialized comment - """ - try: - return { - "_id": gen_comment_id(comment_obj.comment_id), - **OSCommentSerializer(instance=comment_obj).data, - } - except NotFound: - log.exception("Reddit comment not found: %s", comment_obj.id) - raise - - def serialize_bulk_courses(ids): """ Serialize courses for bulk indexing diff --git a/search/serializers_bulk_test.py b/search/serializers_bulk_test.py index d83a5f0ec4..ee7378838a 100644 --- a/search/serializers_bulk_test.py +++ b/search/serializers_bulk_test.py @@ -11,36 +11,6 @@ from search import api, serializers -def test_serialize_post_for_bulk(mocker): - """ - Test that serialize_post_for_bulk correctly serializes a post/submission object - """ - post_id = "post1" - base_serialized_post = {"serialized": "post"} - mocker.patch( - "search.serializers.OSPostSerializer.to_representation", - return_value=base_serialized_post, - ) - serialized = serializers.serialize_post_for_bulk(mocker.Mock(post_id=post_id)) - assert serialized == {"_id": f"p_{post_id}", **base_serialized_post} - - -def test_serialize_comment_for_bulk(mocker): - """ - Test that serialize_comment_for_bulk correctly serializes a comment object - """ - comment_id = "456" - base_serialized_comment = {"serialized": "comment"} - mocker.patch( - "search.serializers.OSCommentSerializer.to_representation", - return_value=base_serialized_comment, - ) - serialized = serializers.serialize_comment_for_bulk( - mocker.Mock(comment_id=comment_id) - ) - assert serialized == {"_id": f"c_{comment_id}", **base_serialized_comment} - - @pytest.mark.django_db def test_serialize_bulk_profiles(mocker): """ diff --git a/search/serializers_test.py b/search/serializers_test.py index e018b7faf4..00f3f762b2 100644 --- a/search/serializers_test.py +++ b/search/serializers_test.py @@ -7,9 +7,6 @@ import pytest -from channels.constants import COMMENT_TYPE, LINK_TYPE_SELF, POST_TYPE -from channels.factories.models import CommentFactory, PostFactory -from channels.utils import render_article_text from course_catalog import factories from course_catalog.constants import ( AvailabilityType, @@ -43,147 +40,11 @@ def minimum_price(learning_resource): return f"{minimum:.2f}" -@pytest.fixture -def patched_base_post_serializer(mocker): - """Fixture that patches the base serializer class for OSPostSerializer""" - article_content = {"text": "hello world"} - base_serialized_data = { - "author_id": 1, - "author_name": "Author Name", - "author_headline": "Author Headline", - "article_content": article_content, - "plain_text": render_article_text(article_content), - "profile_image": "/media/profile/1/208c7d959608417eb13bc87392cb5f77-2018-09-21T163449_small.jpg", - "channel_title": "channel 1", - "channel_name": "channel_1", - "channel_type": "restricted", - "post_type": LINK_TYPE_SELF, - "text": "Post Text", - "score": 1, - "created": 123, - "num_comments": 0, - "removed": False, - "deleted": False, - "id": 1, - "title": "post_title", - "url": None, - "thumbnail": None, - "slug": "post-title", - } - yield mocker.patch( - "search.serializers.OSPostSerializer.base_serializer", - return_value=mocker.Mock(data=base_serialized_data, _get_user=mocker.Mock()), - ) - - -@pytest.fixture -def patched_base_comment_serializer(mocker): - """Fixture that patches the base serializer class for OSCommentSerializer""" - base_serialized_data = { - "author_id": 1, - "author_name": "Author Name", - "author_headline": "Author Headline", - "profile_image": "/media/profile/1/208c7d959608417eb13bc87392cb5f77-2018-09-21T163449_small.jpg", - "text": "Comment Text", - "score": 1, - "created": 456, - "removed": False, - "deleted": False, - "id": 1, - "parent_id": 2, - } - yield mocker.patch( - "search.serializers.OSCommentSerializer.base_serializer", - return_value=mocker.Mock(data=base_serialized_data, _get_user=mocker.Mock()), - ) - - -@pytest.mark.django_db -@pytest.mark.parametrize( - "factory_kwargs", - [{"is_article": True}, {"is_text": True}, {"is_link": True}, {"author": None}], -) -def test_es_post_serializer(factory_kwargs): - """ - Test that OSPostSerializer correctly serializes a post object - """ - post = PostFactory.create(**factory_kwargs) - serialized = serializers.OSPostSerializer(instance=post).data - assert serialized == { - "object_type": POST_TYPE, - "article_content": post.article.content - if getattr(post, "article", None) is not None - else None, - "plain_text": post.plain_text, - "author_id": post.author.username if post.author is not None else None, - "author_name": post.author.profile.name if post.author is not None else None, - "author_headline": post.author.profile.headline - if post.author is not None - else None, - "author_avatar_small": image_uri( - post.author.profile if post.author is not None else None - ), - "channel_name": post.channel.name, - "channel_title": post.channel.title, - "channel_type": post.channel.channel_type, - "text": post.text, - "score": post.score, - "removed": post.removed, - "created": drf_datetime(post.created_on), - "deleted": post.deleted, - "num_comments": post.num_comments, - "post_id": post.post_id, - "post_title": post.title, - "post_link_url": post.url, - "post_link_thumbnail": post.thumbnail_url, - "post_slug": post.slug, - "post_type": post.post_type, - } - - -@pytest.mark.django_db -@pytest.mark.parametrize("has_author", [True, False]) -def test_es_comment_serializer(has_author): - """ - Test that OSCommentSerializer correctly serializes a comment object - """ - comment = CommentFactory.create() - serialized = serializers.OSCommentSerializer(instance=comment).data - assert serialized == { - "object_type": COMMENT_TYPE, - "author_id": comment.author.username if comment.author is not None else None, - "author_name": comment.author.profile.name - if comment.author is not None - else None, - "author_headline": comment.author.profile.headline - if comment.author is not None - else None, - "author_avatar_small": image_uri( - comment.author.profile if comment.author is not None else None - ), - "text": comment.text, - "score": comment.score, - "removed": comment.removed, - "created": drf_datetime(comment.created_on), - "deleted": comment.deleted, - "comment_id": comment.comment_id, - "parent_comment_id": comment.parent_id, - "channel_name": comment.post.channel.name, - "channel_title": comment.post.channel.title, - "channel_type": comment.post.channel.channel_type, - "post_id": comment.post.post_id, - "post_title": comment.post.title, - "post_slug": comment.post.slug, - } - - def test_es_profile_serializer(mocker, user): """ Test that OSProfileSerializer correctly serializes a profile object """ - mocker.patch("profiles.api.get_channels", return_value={"channel01", "channel02"}) return_value = [("channel01", datetime.now()), ("channel02", datetime.now())] - mocker.patch("profiles.api.get_channel_join_dates", return_value=return_value) serialized = serializers.OSProfileSerializer().serialize(user.profile) assert serialized == { "object_type": constants.PROFILE_TYPE, @@ -193,23 +54,9 @@ def test_es_profile_serializer(mocker, user): "author_avatar_medium": image_uri(user.profile, IMAGE_MEDIUM), "author_bio": user.profile.bio, "author_headline": user.profile.headline, - "author_channel_membership": ["channel01", "channel02"], - "author_channel_join_data": [ - {"name": name, "joined": created_on} for name, created_on in return_value - ], } -@pytest.mark.usefixtures("indexing_user") -@pytest.mark.django_db -def test_serialize_bulk_comments(): - """serialize_bulk_comments should index all comments it is passed""" - comments = CommentFactory.create_batch(10) - assert len( - list(serializers.serialize_bulk_comments([comment.id for comment in comments])) - ) == len(comments) - - @pytest.mark.django_db def test_es_course_price_serializer(): """Test that the course price serializer serializes a price""" diff --git a/search/tasks.py b/search/tasks.py index 48caab29d3..935be0c0fd 100644 --- a/search/tasks.py +++ b/search/tasks.py @@ -10,10 +10,7 @@ from django.contrib.auth import get_user_model from django.db.models import Q from opensearchpy.exceptions import NotFoundError, RequestError -from prawcore.exceptions import NotFound -from channels.constants import COMMENT_TYPE, LINK_TYPE_LINK, POST_TYPE -from channels.models import Comment, Post from course_catalog.constants import RESOURCE_FILE_PLATFORMS, PrivacyLevel from course_catalog.models import ( ContentFile, @@ -26,9 +23,8 @@ Video, ) from course_catalog.utils import load_course_blocklist -from embedly.api import get_embedly_content from open_discussions.celery import app -from open_discussions.utils import chunks, html_to_plain_text, merge_strings +from open_discussions.utils import chunks, merge_strings from profiles.models import Profile from search import indexing_api as api from search.api import gen_content_file_id, gen_course_id @@ -38,7 +34,6 @@ PODCAST_TYPE, PROFILE_TYPE, PROGRAM_TYPE, - REDDIT_EXCEPTIONS, RESOURCE_FILE_TYPE, SEARCH_CONN_EXCEPTIONS, STAFF_LIST_TYPE, @@ -84,12 +79,6 @@ def wrap_retry_exception(*exception_classes): try: yield except Exception as ex: # pylint:disable=bare-except - if isinstance(ex, NotFound): - # No corresponding reddit post/comment found for django model object. Log error and continue indexing. - log.exception( - "No corresponding reddit post/comment found for django model object" - ) - return # Celery is confused by exceptions which don't take a string as an argument, so we need to wrap before raising if isinstance(ex, exception_classes): raise RetryException(str(ex)) from ex @@ -119,76 +108,6 @@ def upsert_profile(profile_id): ) -def _update_fields_by_username(username, field_dict, object_types): - """ - Runs a task to update a field value for all docs associated with a given user. - - Args: - username (str): The username to query by - field_dict (dict): Dictionary of fields to update - object_types (list of str): The object types to update - """ - api.update_field_values_by_query( - query={"query": {"bool": {"must": [{"match": {"author_id": username}}]}}}, - field_dict=field_dict, - object_types=object_types, - ) - - -@app.task -def update_author_posts_comments(profile_id): - """Update author name and avatar in all associated post and comment docs""" - profile_obj = Profile.objects.get(id=profile_id) - profile_data = OSProfileSerializer().serialize(profile_obj) - update_keys = { - key: value - for key, value in profile_data.items() - if key in ["author_name", "author_headline", "author_avatar_small"] - } - _update_fields_by_username( - profile_obj.user.username, update_keys, [POST_TYPE, COMMENT_TYPE] - ) - - -@app.task -def update_link_post_with_preview(doc_id, data): - """ - Task that fetches Embedly preview data for a link post and updates the corresponding - database and OpenSearch objects - - Args: - doc_id (str): ES document ID - data (dict): Dict of serialized post data produced by OSPostSerializer - """ - if not data["post_link_url"]: - return None - response = get_embedly_content(data["post_link_url"]).json() - # Parse the embedly response to produce the link preview text - preview_text = ( - html_to_plain_text(response["content"]).strip() - if response.get("content") - else response["description"] - ) - # Update the post in the database - post = Post.objects.get(post_id=data["post_id"]) - post.preview_text = preview_text - post.save() - # Update the post in ES - return api.update_post(doc_id, post) - - -@app.task -def create_post_document(doc_id, data): - """ - Task that makes a request to create an ES document for a post, and if it's a link-type - post, updates the newly-created post with preview text - """ - tasks = [create_document.si(doc_id, data)] - if data.get("post_type") == LINK_TYPE_LINK and data.get("post_link_url"): - tasks.append(update_link_post_with_preview.si(doc_id, data)) - return celery.chain(tasks)() - - @app.task(**PARTIAL_UPDATE_TASK_SETTINGS) def update_document_with_partial( doc_id, partial_data, object_type, retry_on_conflict=0 @@ -370,7 +289,7 @@ def bulk_deindex_profiles(ids): """ try: - with wrap_retry_exception(*REDDIT_EXCEPTIONS, *SEARCH_CONN_EXCEPTIONS): + with wrap_retry_exception(*SEARCH_CONN_EXCEPTIONS): api.deindex_profiles(ids) except (RetryException, Ignore): raise @@ -380,48 +299,6 @@ def bulk_deindex_profiles(ids): return error -@app.task(autoretry_for=(RetryException,), retry_backoff=True, rate_limit="600/m") -def index_posts(post_ids, update_only=False): - """ - Index a list of posts by a list of Post.id - - Args: - post_ids (list of int): list of Post.id to index - update_only (bool): update existing index only - - """ - try: - with wrap_retry_exception(*REDDIT_EXCEPTIONS, *SEARCH_CONN_EXCEPTIONS): - api.index_posts(post_ids, update_only) - except (RetryException, Ignore): - raise - except: # pylint: disable=bare-except - error = "index_posts threw an error" - log.exception(error) - return error - - -@app.task(autoretry_for=(RetryException,), retry_backoff=True, rate_limit="600/m") -def index_comments(comment_ids, update_only=False): - """ - Index a list of comments by a list of Comment.id - - Args: - comment_ids (list of int): list of Comment.id to index - update_only (bool): update existing index only - - """ - try: - with wrap_retry_exception(*REDDIT_EXCEPTIONS, *SEARCH_CONN_EXCEPTIONS): - api.index_comments(comment_ids, update_only) - except (RetryException, Ignore): - raise - except: # pylint: disable=bare-except - error = "index_comments threw an error" - log.exception(error) - return error - - @app.task(autoretry_for=(RetryException,), retry_backoff=True, rate_limit="600/m") def index_courses(ids, update_only=False): """ @@ -787,24 +664,6 @@ def start_recreate_index(self, indexes): index_tasks = [] - if POST_TYPE in indexes: - index_tasks = index_tasks + [ - index_posts.si(post_ids) - for post_ids in chunks( - Post.objects.order_by("id").values_list("id", flat=True), - chunk_size=settings.OPENSEARCH_INDEXING_CHUNK_SIZE, - ) - ] - - if COMMENT_TYPE in indexes: - index_tasks = index_tasks + [ - index_comments.si(comment_ids) - for comment_ids in chunks( - Comment.objects.order_by("id").values_list("id", flat=True), - chunk_size=settings.OPENSEARCH_INDEXING_CHUNK_SIZE, - ) - ] - if PROFILE_TYPE in indexes: index_tasks = index_tasks + [ index_profiles.si(ids) @@ -939,12 +798,6 @@ def start_update_index(self, indexes, platform): if COURSE_TYPE in indexes or RESOURCE_FILE_TYPE in indexes: blocklisted_ids = load_course_blocklist() - if POST_TYPE in indexes: - index_tasks = index_tasks + get_update_posts_tasks() - - if COMMENT_TYPE in indexes: - index_tasks = index_tasks + get_update_comments_tasks() - if PROFILE_TYPE in indexes: index_tasks = index_tasks + get_update_profiles_tasks() @@ -985,28 +838,6 @@ def start_update_index(self, indexes, platform): raise self.replace(index_tasks) -def get_update_posts_tasks(): - """Get list of tasks to update posts""" - return [ - index_posts.si(post_ids, True) - for post_ids in chunks( - Post.objects.order_by("id").values_list("id", flat=True), - chunk_size=settings.OPENSEARCH_INDEXING_CHUNK_SIZE, - ) - ] - - -def get_update_comments_tasks(): - """Get list of tasks to update comments""" - return [ - index_comments.si(comment_ids, True) - for comment_ids in chunks( - Comment.objects.order_by("id").values_list("id", flat=True), - chunk_size=settings.OPENSEARCH_INDEXING_CHUNK_SIZE, - ) - ] - - def get_update_profiles_tasks(): """Get list of tasks to update profiles""" index_tasks = [ diff --git a/search/tasks_test.py b/search/tasks_test.py index cf6524895a..8506b136a1 100644 --- a/search/tasks_test.py +++ b/search/tasks_test.py @@ -8,9 +8,6 @@ from opensearchpy.exceptions import ConnectionTimeout, RequestError from prawcore.exceptions import NotFound -from channels.constants import LINK_TYPE_LINK, LINK_TYPE_SELF -from channels.factories.models import CommentFactory, PostFactory -from channels.models import Post from course_catalog.constants import RESOURCE_FILE_PLATFORMS, PlatformType, PrivacyLevel from course_catalog.factories import ( ContentFileFactory, @@ -40,11 +37,9 @@ gen_video_id, ) from search.constants import ( - COMMENT_TYPE, COURSE_TYPE, PODCAST_EPISODE_TYPE, PODCAST_TYPE, - POST_TYPE, PROFILE_TYPE, PROGRAM_TYPE, RESOURCE_FILE_TYPE, @@ -68,15 +63,12 @@ from search.tasks import ( bulk_deindex_staff_lists, create_document, - create_post_document, deindex_document, deindex_run_content_files, finish_recreate_index, increment_document_integer_field, - index_comments, index_course_content_files, index_courses, - index_posts, index_run_content_files, index_staff_lists, index_videos, @@ -84,7 +76,6 @@ start_update_index, update_document_with_partial, update_field_values_by_query, - update_link_post_with_preview, upsert_content_file, upsert_course, upsert_podcast, @@ -125,14 +116,6 @@ def test_create_document_task(mocked_api): assert mocked_api.create_document.call_args[0] == indexing_api_args -def test_update_document_with_partial_task(mocked_api): - """Test that the create_document task calls the indexing API function with the right args""" - indexing_api_args = ("doc_id", {"test": "data"}, COMMENT_TYPE) - update_document_with_partial(*indexing_api_args) - assert mocked_api.update_document_with_partial.call_count == 1 - assert mocked_api.update_document_with_partial.call_args[0] == indexing_api_args - - def test_upsert_course_task(mocked_api): """Test that upsert_course will serialize the course data and upsert it to the ES index""" course = CourseFactory.create() @@ -224,79 +207,6 @@ def test_upsert_podcast_episode_task(mocked_api): ) -def test_increment_document_integer_field_task(mocked_api): - """ - Test that the increment_document_integer_field task calls the indexing - API function with the right args - """ - indexing_api_args = ("doc_id", {"test": "data"}, 1, POST_TYPE) - increment_document_integer_field(*indexing_api_args) - assert mocked_api.increment_document_integer_field.call_count == 1 - assert mocked_api.increment_document_integer_field.call_args[0] == indexing_api_args - - -def test_update_field_values_by_query(mocked_api): - """ - Test that the update_field_values_by_query task calls the indexing - API function with the right args - """ - indexing_api_args = ({"query": {}}, {"field1": "value1"}, [POST_TYPE]) - update_field_values_by_query(*indexing_api_args) - assert mocked_api.update_field_values_by_query.call_count == 1 - assert mocked_api.update_field_values_by_query.call_args[0] == indexing_api_args - - -@pytest.mark.parametrize( - "post_type,post_url,exp_update_link_post", - [[LINK_TYPE_LINK, "example.com", True], [LINK_TYPE_SELF, None, False]], -) -def test_create_post_document(mocker, post_type, post_url, exp_update_link_post): - """ - Test that the create_post_document task calls the API method to create a post document, and for link posts, - also calls the API method to fetch preview data and update the post - """ - create_document_mock = mocker.patch("search.tasks.create_document") - update_link_post_mock = mocker.patch("search.tasks.update_link_post_with_preview") - indexing_api_args = ( - "doc_id", - {"post_id": "a", "post_type": post_type, "post_link_url": post_url}, - ) - create_post_document(*indexing_api_args) - assert create_document_mock.si.call_count == 1 - assert create_document_mock.si.call_args[0] == indexing_api_args - assert update_link_post_mock.si.called is exp_update_link_post - - -@pytest.mark.parametrize( - "resp_content,resp_description,exp_preview_text", - [ - [" content", None, "content"], - ["", "description", "description"], - [None, "description", "description"], - ], -) -def test_update_link_post_with_preview( - mocker, mocked_api, resp_content, resp_description, exp_preview_text -): - """ - Test that update_link_post_with_preview fetches embedly content and updates the given post in the - database and in ES - """ - get_embedly_content_mock = mocker.patch("search.tasks.get_embedly_content") - get_embedly_content_mock.return_value.json.return_value = { - "content": resp_content, - "description": resp_description, - } - post_data = {"post_id": "a", "post_link_url": "example.com"} - post = PostFactory.create(post_id=post_data["post_id"]) - - update_link_post_with_preview("abc", post_data) - - assert get_embedly_content_mock.call_args[0][0] == post_data["post_link_url"] - assert Post.objects.get(id=post.id).preview_text == exp_preview_text - assert mocked_api.update_post.call_count == 1 - - @pytest.mark.parametrize("error", [KeyError, NotFound]) def test_wrap_retry_exception(error): """wrap_retry_exception should raise RetryException when other exceptions are raised""" @@ -323,38 +233,6 @@ def raise_thing(): raise_thing() -@pytest.mark.parametrize("with_error", [True, False]) -@pytest.mark.parametrize("update_only", [True, False]) -def test_index_posts( - mocker, wrap_retry_mock, with_error, update_only -): # pylint: disable=unused-argument - """index_post should call the api function of the same name""" - index_post_mock = mocker.patch("search.indexing_api.index_posts") - if with_error: - index_post_mock.side_effect = TabError - post_ids = [1, 2, 3] - result = index_posts.delay(post_ids, update_only).get() - assert result == ("index_posts threw an error" if with_error else None) - - index_post_mock.assert_called_once_with(post_ids, update_only) - - -@pytest.mark.parametrize("with_error", [True, False]) -@pytest.mark.parametrize("update_only", [True, False]) -def test_index_comments( - mocker, wrap_retry_mock, with_error, update_only -): # pylint: disable=unused-argument - """index_comments should call the api function of the same name""" - index_comments_mock = mocker.patch("search.indexing_api.index_comments") - if with_error: - index_comments_mock.side_effect = TabError - post_ids = [1, 2, 3] - result = index_comments.delay(post_ids, update_only).get() - assert result == ("index_comments threw an error" if with_error else None) - - index_comments_mock.assert_called_once_with(post_ids, update_only) - - @pytest.mark.parametrize("with_error", [True, False]) @pytest.mark.parametrize("update_only", [True, False]) def test_index_videos( @@ -402,7 +280,7 @@ def test_bulk_deindex_staff_lists( @pytest.mark.parametrize( "indexes", [ - ["post", "comment", "profile"], + ["profile"], ["course", "program"], ["userlist", "stafflist"], ["video"], @@ -421,9 +299,7 @@ def test_start_recreate_index( UserFactory.create_batch( 4, is_active=False ) # these should not show up in the indexing - comments = sorted(CommentFactory.create_batch(4), key=lambda comment: comment.id) - posts = sorted([comment.post for comment in comments], key=lambda post: post.id) - users = sorted([item.author for item in posts + comments], key=lambda user: user.id) + users = UserFactory.create_batch(4) platforms = [ PlatformType.ocw, PlatformType.mitx, @@ -454,8 +330,6 @@ def test_start_recreate_index( ) for stafflist in stafflists: StaffListItemFactory.create(staff_list=stafflist) - index_posts_mock = mocker.patch("search.tasks.index_posts", autospec=True) - index_comments_mock = mocker.patch("search.tasks.index_comments", autospec=True) index_profiles_mock = mocker.patch("search.tasks.index_profiles", autospec=True) index_courses_mock = mocker.patch("search.tasks.index_courses", autospec=True) index_videos_mock = mocker.patch("search.tasks.index_videos", autospec=True) @@ -497,19 +371,9 @@ def test_start_recreate_index( # in that generator, 'list' is being called to force iteration through all of those items. list(mocked_celery.group.call_args[0][0]) - if POST_TYPE in indexes: - assert index_posts_mock.si.call_count == 2 - index_posts_mock.si.assert_any_call([posts[0].id, posts[1].id]) - index_posts_mock.si.assert_any_call([posts[2].id, posts[3].id]) - - if COMMENT_TYPE in indexes: - assert index_comments_mock.si.call_count == 2 - index_comments_mock.si.assert_any_call([comments[0].id, comments[1].id]) - index_comments_mock.si.assert_any_call([comments[2].id, comments[3].id]) - if PROFILE_TYPE in indexes: - assert index_profiles_mock.si.call_count == 4 - for offset in range(4): + assert index_profiles_mock.si.call_count == 2 + for offset in range(2): index_profiles_mock.si.assert_any_call( [users[offset * 2].profile.id, users[offset * 2 + 1].profile.id] ) @@ -590,7 +454,7 @@ def test_finish_recreate_index(mocker, with_error): """ finish_recreate_index should attach the backing index to the default alias """ - backing_indices = {"post": "backing", "comment": "backing", "profile": "backing"} + backing_indices = {"profile": "backing"} results = ["error"] if with_error else [] switch_indices_mock = mocker.patch( "search.indexing_api.switch_indices", autospec=True @@ -604,8 +468,6 @@ def test_finish_recreate_index(mocker, with_error): mock_delete_orphans.assert_called_once() else: finish_recreate_index.delay(results, backing_indices) - switch_indices_mock.assert_any_call("backing", POST_TYPE) - switch_indices_mock.assert_any_call("backing", COMMENT_TYPE) mock_delete_orphans.assert_not_called() @@ -614,7 +476,7 @@ def test_finish_recreate_index_retry_exceptions(mocker, with_error): """ finish_recreate_index should be retried on RequestErrors """ - backing_indices = {"post": "backing", "comment": "backing", "profile": "backing"} + backing_indices = {"profile": "backing"} results = ["error"] if with_error else [] mock_error = RequestError(429, "oops", {}) switch_indices_mock = mocker.patch( @@ -808,10 +670,8 @@ def test_start_update_index( settings.OPENSEARCH_INDEXING_CHUNK_SIZE = 2 mock_blocklist = mocker.patch("search.tasks.load_course_blocklist", return_value=[]) inactive_users = UserFactory.create_batch(4, is_active=False) - comments = sorted(CommentFactory.create_batch(4), key=lambda comment: comment.id) - - posts = sorted([comment.post for comment in comments], key=lambda post: post.id) - users = sorted([item.author for item in posts + comments], key=lambda user: user.id) + active_users = UserFactory.create_batch(4) + users = sorted(active_users, key=lambda user: user.id) platforms = [ PlatformType.ocw, @@ -847,9 +707,6 @@ def test_start_update_index( unpublished_podcast_episode = PodcastEpisodeFactory.create(published=False) - index_posts_mock = mocker.patch("search.tasks.index_posts", autospec=True) - index_comments_mock = mocker.patch("search.tasks.index_comments", autospec=True) - index_profiles_mock = mocker.patch("search.tasks.index_profiles", autospec=True) deindex_profiles_mock = mocker.patch( "search.tasks.bulk_deindex_profiles", autospec=True @@ -890,19 +747,9 @@ def test_start_update_index( # in that generator, 'list' is being called to force iteration through all of those items. list(mocked_celery.group.call_args[0][0]) - if POST_TYPE in indexes: - assert index_posts_mock.si.call_count == 2 - index_posts_mock.si.assert_any_call([posts[0].id, posts[1].id], True) - index_posts_mock.si.assert_any_call([posts[2].id, posts[3].id], True) - - if COMMENT_TYPE in indexes: - assert index_comments_mock.si.call_count == 2 - index_comments_mock.si.assert_any_call([comments[0].id, comments[1].id], True) - index_comments_mock.si.assert_any_call([comments[2].id, comments[3].id], True) - if PROFILE_TYPE in indexes: - assert index_profiles_mock.si.call_count == 4 - for offset in range(4): + assert index_profiles_mock.si.call_count == 2 + for offset in range(2): index_profiles_mock.si.assert_any_call( [users[offset * 2].profile.id, users[offset * 2 + 1].profile.id], True ) diff --git a/search/urls.py b/search/urls.py index 6dbfc94f34..2fba4e7c29 100644 --- a/search/urls.py +++ b/search/urls.py @@ -1,15 +1,10 @@ """URLs for search""" from django.urls import re_path -from search.views import RelatedPostsView, SearchView, SimilarResourcesView +from search.views import SearchView, SimilarResourcesView urlpatterns = [ re_path(r"api/v0/search/", SearchView.as_view(), name="search"), - re_path( - r"api/v0/related/(?P[A-Za-z0-9_]+)/$", - RelatedPostsView.as_view(), - name="related-posts", - ), re_path( r"api/v0/similar/$", SimilarResourcesView.as_view(), name="similar-resources" ), diff --git a/search/views.py b/search/views.py index 9cd683cfa8..3829d6f430 100644 --- a/search/views.py +++ b/search/views.py @@ -4,15 +4,12 @@ from django.utils.decorators import method_decorator from opensearchpy.exceptions import TransportError from rest_framework.response import Response -from rest_framework.status import HTTP_405_METHOD_NOT_ALLOWED from rest_framework.views import APIView from authentication.decorators import blocked_ip_exempt -from open_discussions import features from search.api import ( execute_learn_search, execute_search, - find_related_documents, find_similar_resources, is_learning_query, ) @@ -51,24 +48,6 @@ def post(self, request, *args, **kwargs): return Response(response) -@method_decorator(blocked_ip_exempt, name="dispatch") -class RelatedPostsView(ESView): - """ - View for retrieving related posts - """ - - permission_classes = () - - def post(self, request, *args, **kwargs): - """Execute a related posts search""" - if not features.is_enabled(features.RELATED_POSTS_UI): - return Response(status=HTTP_405_METHOD_NOT_ALLOWED) - response = find_related_documents( - user=request.user, post_id=self.kwargs["post_id"] - ) - return Response(response) - - @method_decorator(blocked_ip_exempt, name="dispatch") class SimilarResourcesView(ESView): """ diff --git a/search/views_test.py b/search/views_test.py index e58b933831..4525ec18af 100644 --- a/search/views_test.py +++ b/search/views_test.py @@ -75,16 +75,6 @@ def search_view(): return SimpleNamespace(url=reverse("search")) -@pytest.fixture() -def related_posts_view(settings): - """Fixture with relevant properties for testing the related posts view""" - settings.FEATURES["RELATED_POSTS_UI"] = True - post_id = "abc" - return SimpleNamespace( - url=reverse("related-posts", kwargs={"post_id": post_id}), post_id=post_id - ) - - @pytest.mark.parametrize( "status_code, raise_error", [[418, False], [503, True], ["N/A", True]] ) @@ -107,21 +97,6 @@ def test_search_es_exception(mocker, client, search_view, status_code, raise_err client.post(search_view.url, query) -def test_related_posts_es_exception(mocker, client, related_posts_view): - """If a 4xx status is returned from OpenSearch it should be returned from the API""" - status_code = 418 - related_documents_mock = mocker.patch( - "search.views.find_related_documents", - autospec=True, - side_effect=TransportError(status_code), - ) - resp = client.post(related_posts_view.url) - assert resp.status_code == status_code - related_documents_mock.assert_called_once_with( - user=AnonymousUser(), post_id=related_posts_view.post_id - ) - - def test_search(mocker, client, search_view): """The query should be passed from the front end to execute_search to run the search""" search_mock = mocker.patch( @@ -146,26 +121,6 @@ def test_learn_search(mocker, client, search_view): search_mock.assert_called_once_with(user=AnonymousUser(), query=query) -def test_find_related_documents(mocker, client, related_posts_view): - """The view should return the results of the API method for finding related posts""" - fake_response = {"related": "posts"} - related_documents_mock = mocker.patch( - "search.views.find_related_documents", autospec=True, return_value=fake_response - ) - resp = client.post(related_posts_view.url) - assert resp.json() == fake_response - related_documents_mock.assert_called_once_with( - user=AnonymousUser(), post_id=related_posts_view.post_id - ) - - -def test_find_related_documents_feature_flag(settings, client, related_posts_view): - """If the feature flag is off the url should not exist""" - settings.FEATURES["RELATED_POSTS_UI"] = False - resp = client.post(related_posts_view.url) - assert resp.status_code == HTTP_405_METHOD_NOT_ALLOWED - - def test_find_similar_resources(mocker, client): """The view should return the results of the API method for finding similar resources""" course = CourseFactory.create() From ec402db7ac6af0a8d5e0b896802b937202f40054 Mon Sep 17 00:00:00 2001 From: Collin Preston Date: Wed, 30 Aug 2023 11:20:43 -0400 Subject: [PATCH 02/20] Remove some more stuff, pylint everything --- channels_fields/factories.py | 1 - ...nnels_test.test_create_channel[False].json | 19 - ...annels_test.test_create_channel[None].json | 19 - ...annels_test.test_create_channel[True].json | 19 - ...st.test_create_channel_already_exists.json | 19 - ...t.test_create_channel_no_descriptions.json | 19 - ...nnels_test.test_create_channel_noauth.json | 7 - ...els_test.test_create_channel_nonstaff.json | 10 - ....views.channels_test.test_get_channel.json | 19 - ...nnels_test.test_get_channel_anonymous.json | 16 - ...t.test_get_channel_with_avatar_banner.json | 16 - ....channels_test.test_get_short_channel.json | 7 - ...iews.channels_test.test_list_channels.json | 19 - ...nnels_test.test_list_channels_ordered.json | 47 --- ...iews.channels_test.test_patch_channel.json | 16 - ...hannels_test.test_patch_channel_about.json | 16 - ...els_test.test_patch_channel_forbidden.json | 7 - ...test.test_patch_channel_image[avatar].json | 16 - ...test.test_patch_channel_image[banner].json | 16 - ...els_test.test_patch_channel_moderator.json | 19 - ...nels_test.test_patch_channel_nonstaff.json | 7 - ...els_test.test_patch_channel_not_found.json | 7 - ..._patch_channel_validate_image[avatar].json | 16 - ..._patch_channel_validate_image[banner].json | 16 - ..._title_non_superuser_forbidden[patch].json | 19 - ...te_title_non_superuser_forbidden[put].json | 19 - ...ment[extra_params0-extra_expected0-1].json | 26 -- ...ment[extra_params1-extra_expected1-0].json | 26 -- ...ent[extra_params2-extra_expected2--1].json | 26 -- ...ts_test.test_create_comment_forbidden.json | 7 - ...ts_test.test_create_comment_moderator.json | 26 -- ...ts_test.test_create_comment_not_found.json | 7 - ....test_create_comment_reply_to_comment.json | 35 -- ...eate_comment_reply_to_deleted_comment.json | 35 -- ....views.comments_test.test_get_comment.json | 35 -- ...ws.comments_test.test_get_comment_404.json | 19 - ...ments_test.test_get_comment_anonymous.json | 32 -- ...st.test_get_removed_comment[None-404].json | 38 -- ...t_removed_comment[comment_writer-200].json | 38 -- ...t_get_removed_comment[staff_user-200].json | 38 -- ...st.test_get_removed_comment[user-404].json | 38 -- ...mments_test.test_list_comments[False].json | 63 --- ...omments_test.test_list_comments[True].json | 63 --- ...nts_test.test_list_comments_anonymous.json | 32 -- ...nts_test.test_list_comments_forbidden.json | 26 -- ...comments_test.test_list_comments_none.json | 26 -- ...nts_test.test_list_comments_not_found.json | 7 - ...nts_test.test_more_comments_anonymous.json | 382 ------------------ ...ents_test.test_update_comment_approve.json | 35 -- ...st.test_update_comment_clear_downvote.json | 7 - ...test.test_update_comment_clear_upvote.json | 7 - ...nts_test.test_update_comment_downvote.json | 7 - ...ts_test.test_update_comment_forbidden.json | 7 - ...st.test_update_comment_ignore_reports.json | 35 -- ...date_comment_ignore_reports_forbidden.json | 35 -- ...ments_test.test_update_comment_remove.json | 35 -- ...ts_test.test_update_comment_subscribe.json | 35 -- ...omments_test.test_update_comment_text.json | 35 -- ...st.test_update_comment_text_moderator.json | 35 -- ..._test.test_update_comment_unsubscribe.json | 35 -- ...ments_test.test_update_comment_upvote.json | 7 - ...ontributors_test.test_add_contributor.json | 7 - ...ributors_test.test_add_contributor[1].json | 19 - ...ributors_test.test_add_contributor[2].json | 19 - ...utors_test.test_add_contributor_again.json | 7 - ...utors_test.test_add_contributor_email.json | 22 - ...tributors_test.test_list_contributors.json | 19 - ...ributors_test.test_remove_contributor.json | 7 - ...utors_test.test_remove_contributor[1].json | 19 - ...utors_test.test_remove_contributor[2].json | 19 - ...rs_test.test_remove_contributor_again.json | 7 - ...s.views.frontpage_test.test_frontpage.json | 41 -- ....frontpage_test.test_frontpage[False].json | 41 -- ...s.frontpage_test.test_frontpage[True].json | 41 -- ...ontpage_test.test_frontpage_anonymous.json | 16 - ...tpage_test.test_frontpage_sorted[hot].json | 41 -- ...tpage_test.test_frontpage_sorted[new].json | 41 -- ...tpage_test.test_frontpage_sorted[top].json | 41 -- ...ws.moderators_test.test_add_moderator.json | 19 - ...erators_test.test_add_moderator_again.json | 19 - ...erators_test.test_add_moderator_email.json | 22 - ....moderators_test.test_list_moderators.json | 22 - ...s_test.test_list_moderators_anonymous.json | 16 - ...t.test_list_moderators_many_moderator.json | 46 --- ...s_test.test_list_moderators_moderator.json | 19 - ...ators_test.test_list_moderators_staff.json | 19 - ...erators_test.test_remove_moderator[1].json | 19 - ...erators_test.test_remove_moderator[2].json | 19 - ...test_create_and_update_post_moderator.json | 19 - ...s.posts_test.test_create_article_post.json | 19 - ...t.test_create_article_post_with_cover.json | 19 - ...posts_test.test_create_post_forbidden.json | 19 - ..._test.test_create_post_without_upvote.json | 19 - ...iews.posts_test.test_create_text_post.json | 19 - ...osts_test.test_create_text_post_blank.json | 19 - ...st.test_create_url_post_existing_meta.json | 19 - ...sts_test.test_get_deleted_post[False].json | 26 -- ...osts_test.test_get_deleted_post[True].json | 26 -- ...views.posts_test.test_get_post[False].json | 26 -- ....views.posts_test.test_get_post[True].json | 26 -- ...ws.posts_test.test_get_post_anonymous.json | 23 -- ...s.posts_test.test_get_post_no_profile.json | 26 -- ...ews.posts_test.test_get_post_stickied.json | 26 -- ..._test.test_get_removed_post[None-404].json | 26 -- ...st_get_removed_post[client_user1-404].json | 26 -- ...st_get_removed_post[client_user2-200].json | 26 -- ...test_get_removed_post[staff_user-200].json | 26 -- ..._test.test_get_removed_post[user-404].json | 26 -- ...ews.posts_test.test_list_posts[False].json | 31 -- ...iews.posts_test.test_list_posts[True].json | 31 -- ....posts_test.test_list_posts_anonymous.json | 23 -- ...views.posts_test.test_list_posts_none.json | 19 - ...posts_pagination_first_page_no_params.json | 96 ----- ...sts_pagination_first_page_with_params.json | 96 ----- ..._list_posts_pagination_non_first_page.json | 96 ----- ...list_posts_pagination_non_offset_page.json | 96 ----- ...osts_test.test_list_posts_sorted[hot].json | 41 -- ...osts_test.test_list_posts_sorted[new].json | 41 -- ...osts_test.test_list_posts_sorted[top].json | 41 -- ...s.posts_test.test_list_posts_stickied.json | 41 -- ...st_patch_article_validate_cover_image.json | 19 - ...s_test.test_post_create_post_new_meta.json | 19 - ...st.test_post_create_post_no_thumbnail.json | 19 - ....test_subscribe_post[False-False-0-1].json | 35 -- ...t.test_subscribe_post[False-True-1-2].json | 35 -- ...t.test_subscribe_post[True-False-1-1].json | 35 -- ...st.test_subscribe_post[True-True-2-2].json | 35 -- ...iews.posts_test.test_unsubscribe_post.json | 26 -- ....posts_test.test_update_article_cover.json | 39 -- ...s.posts_test.test_update_article_post.json | 39 -- ....views.reports_test.test_list_reports.json | 35 -- ....reports_test.test_list_reports_empty.json | 16 - ...eports_test.test_patch_channel_noauth.json | 16 - ...orts_test.test_patch_channel_nonstaff.json | 19 - ...ws.reports_test.test_report_anonymous.json | 32 -- ...iews.reports_test.test_report_comment.json | 35 -- ...s.views.reports_test.test_report_post.json | 26 -- ....subscribers_test.test_add_subscriber.json | 7 - ...bscribers_test.test_add_subscriber[1].json | 19 - ...bscribers_test.test_add_subscriber[2].json | 19 - ...ribers_test.test_add_subscriber_again.json | 7 - ...rs_test.test_add_subscriber_anonymous.json | 19 - ...rs_test.test_add_subscriber_forbidden.json | 19 - ...scribers_test.test_add_subscriber_mod.json | 22 - ...bscribers_test.test_detail_subscriber.json | 19 - ...test.test_detail_subscriber_anonymous.json | 19 - ...s_test.test_detail_subscriber_missing.json | 19 - ...ubscribers_test.test_list_subscribers.json | 16 - ...bscribers_test.test_remove_subscriber.json | 7 - ...ribers_test.test_remove_subscriber[1].json | 19 - ...ribers_test.test_remove_subscriber[2].json | 19 - ...ers_test.test_remove_subscriber_again.json | 7 - ...test.test_remove_subscriber_anonymous.json | 19 - ...ts_test.test_send_notification[False].json | 35 -- ...nts_test.test_send_notification[True].json | 42 -- ...tor_posts_test.test_send_notification.json | 26 -- open_discussions/features.py | 1 - open_discussions/permissions.py | 20 +- poetry.lock | 75 +--- profiles/views.py | 2 - pyproject.toml | 1 - search/management/commands/recreate_index.py | 2 +- search/tasks_test.py | 6 +- search/views.py | 2 +- search/views_test.py | 46 --- 165 files changed, 9 insertions(+), 4476 deletions(-) delete mode 100644 factory_data/channels.views.channels_test.test_create_channel[False].json delete mode 100644 factory_data/channels.views.channels_test.test_create_channel[None].json delete mode 100644 factory_data/channels.views.channels_test.test_create_channel[True].json delete mode 100644 factory_data/channels.views.channels_test.test_create_channel_already_exists.json delete mode 100644 factory_data/channels.views.channels_test.test_create_channel_no_descriptions.json delete mode 100644 factory_data/channels.views.channels_test.test_create_channel_noauth.json delete mode 100644 factory_data/channels.views.channels_test.test_create_channel_nonstaff.json delete mode 100644 factory_data/channels.views.channels_test.test_get_channel.json delete mode 100644 factory_data/channels.views.channels_test.test_get_channel_anonymous.json delete mode 100644 factory_data/channels.views.channels_test.test_get_channel_with_avatar_banner.json delete mode 100644 factory_data/channels.views.channels_test.test_get_short_channel.json delete mode 100644 factory_data/channels.views.channels_test.test_list_channels.json delete mode 100644 factory_data/channels.views.channels_test.test_list_channels_ordered.json delete mode 100644 factory_data/channels.views.channels_test.test_patch_channel.json delete mode 100644 factory_data/channels.views.channels_test.test_patch_channel_about.json delete mode 100644 factory_data/channels.views.channels_test.test_patch_channel_forbidden.json delete mode 100644 factory_data/channels.views.channels_test.test_patch_channel_image[avatar].json delete mode 100644 factory_data/channels.views.channels_test.test_patch_channel_image[banner].json delete mode 100644 factory_data/channels.views.channels_test.test_patch_channel_moderator.json delete mode 100644 factory_data/channels.views.channels_test.test_patch_channel_nonstaff.json delete mode 100644 factory_data/channels.views.channels_test.test_patch_channel_not_found.json delete mode 100644 factory_data/channels.views.channels_test.test_patch_channel_validate_image[avatar].json delete mode 100644 factory_data/channels.views.channels_test.test_patch_channel_validate_image[banner].json delete mode 100644 factory_data/channels.views.channels_test.test_update_title_non_superuser_forbidden[patch].json delete mode 100644 factory_data/channels.views.channels_test.test_update_title_non_superuser_forbidden[put].json delete mode 100644 factory_data/channels.views.comments_test.test_create_comment[extra_params0-extra_expected0-1].json delete mode 100644 factory_data/channels.views.comments_test.test_create_comment[extra_params1-extra_expected1-0].json delete mode 100644 factory_data/channels.views.comments_test.test_create_comment[extra_params2-extra_expected2--1].json delete mode 100644 factory_data/channels.views.comments_test.test_create_comment_forbidden.json delete mode 100644 factory_data/channels.views.comments_test.test_create_comment_moderator.json delete mode 100644 factory_data/channels.views.comments_test.test_create_comment_not_found.json delete mode 100644 factory_data/channels.views.comments_test.test_create_comment_reply_to_comment.json delete mode 100644 factory_data/channels.views.comments_test.test_create_comment_reply_to_deleted_comment.json delete mode 100644 factory_data/channels.views.comments_test.test_get_comment.json delete mode 100644 factory_data/channels.views.comments_test.test_get_comment_404.json delete mode 100644 factory_data/channels.views.comments_test.test_get_comment_anonymous.json delete mode 100644 factory_data/channels.views.comments_test.test_get_removed_comment[None-404].json delete mode 100644 factory_data/channels.views.comments_test.test_get_removed_comment[comment_writer-200].json delete mode 100644 factory_data/channels.views.comments_test.test_get_removed_comment[staff_user-200].json delete mode 100644 factory_data/channels.views.comments_test.test_get_removed_comment[user-404].json delete mode 100644 factory_data/channels.views.comments_test.test_list_comments[False].json delete mode 100644 factory_data/channels.views.comments_test.test_list_comments[True].json delete mode 100644 factory_data/channels.views.comments_test.test_list_comments_anonymous.json delete mode 100644 factory_data/channels.views.comments_test.test_list_comments_forbidden.json delete mode 100644 factory_data/channels.views.comments_test.test_list_comments_none.json delete mode 100644 factory_data/channels.views.comments_test.test_list_comments_not_found.json delete mode 100644 factory_data/channels.views.comments_test.test_more_comments_anonymous.json delete mode 100644 factory_data/channels.views.comments_test.test_update_comment_approve.json delete mode 100644 factory_data/channels.views.comments_test.test_update_comment_clear_downvote.json delete mode 100644 factory_data/channels.views.comments_test.test_update_comment_clear_upvote.json delete mode 100644 factory_data/channels.views.comments_test.test_update_comment_downvote.json delete mode 100644 factory_data/channels.views.comments_test.test_update_comment_forbidden.json delete mode 100644 factory_data/channels.views.comments_test.test_update_comment_ignore_reports.json delete mode 100644 factory_data/channels.views.comments_test.test_update_comment_ignore_reports_forbidden.json delete mode 100644 factory_data/channels.views.comments_test.test_update_comment_remove.json delete mode 100644 factory_data/channels.views.comments_test.test_update_comment_subscribe.json delete mode 100644 factory_data/channels.views.comments_test.test_update_comment_text.json delete mode 100644 factory_data/channels.views.comments_test.test_update_comment_text_moderator.json delete mode 100644 factory_data/channels.views.comments_test.test_update_comment_unsubscribe.json delete mode 100644 factory_data/channels.views.comments_test.test_update_comment_upvote.json delete mode 100644 factory_data/channels.views.contributors_test.test_add_contributor.json delete mode 100644 factory_data/channels.views.contributors_test.test_add_contributor[1].json delete mode 100644 factory_data/channels.views.contributors_test.test_add_contributor[2].json delete mode 100644 factory_data/channels.views.contributors_test.test_add_contributor_again.json delete mode 100644 factory_data/channels.views.contributors_test.test_add_contributor_email.json delete mode 100644 factory_data/channels.views.contributors_test.test_list_contributors.json delete mode 100644 factory_data/channels.views.contributors_test.test_remove_contributor.json delete mode 100644 factory_data/channels.views.contributors_test.test_remove_contributor[1].json delete mode 100644 factory_data/channels.views.contributors_test.test_remove_contributor[2].json delete mode 100644 factory_data/channels.views.contributors_test.test_remove_contributor_again.json delete mode 100644 factory_data/channels.views.frontpage_test.test_frontpage.json delete mode 100644 factory_data/channels.views.frontpage_test.test_frontpage[False].json delete mode 100644 factory_data/channels.views.frontpage_test.test_frontpage[True].json delete mode 100644 factory_data/channels.views.frontpage_test.test_frontpage_anonymous.json delete mode 100644 factory_data/channels.views.frontpage_test.test_frontpage_sorted[hot].json delete mode 100644 factory_data/channels.views.frontpage_test.test_frontpage_sorted[new].json delete mode 100644 factory_data/channels.views.frontpage_test.test_frontpage_sorted[top].json delete mode 100644 factory_data/channels.views.moderators_test.test_add_moderator.json delete mode 100644 factory_data/channels.views.moderators_test.test_add_moderator_again.json delete mode 100644 factory_data/channels.views.moderators_test.test_add_moderator_email.json delete mode 100644 factory_data/channels.views.moderators_test.test_list_moderators.json delete mode 100644 factory_data/channels.views.moderators_test.test_list_moderators_anonymous.json delete mode 100644 factory_data/channels.views.moderators_test.test_list_moderators_many_moderator.json delete mode 100644 factory_data/channels.views.moderators_test.test_list_moderators_moderator.json delete mode 100644 factory_data/channels.views.moderators_test.test_list_moderators_staff.json delete mode 100644 factory_data/channels.views.moderators_test.test_remove_moderator[1].json delete mode 100644 factory_data/channels.views.moderators_test.test_remove_moderator[2].json delete mode 100644 factory_data/channels.views.posts_test.test_create_and_update_post_moderator.json delete mode 100644 factory_data/channels.views.posts_test.test_create_article_post.json delete mode 100644 factory_data/channels.views.posts_test.test_create_article_post_with_cover.json delete mode 100644 factory_data/channels.views.posts_test.test_create_post_forbidden.json delete mode 100644 factory_data/channels.views.posts_test.test_create_post_without_upvote.json delete mode 100644 factory_data/channels.views.posts_test.test_create_text_post.json delete mode 100644 factory_data/channels.views.posts_test.test_create_text_post_blank.json delete mode 100644 factory_data/channels.views.posts_test.test_create_url_post_existing_meta.json delete mode 100644 factory_data/channels.views.posts_test.test_get_deleted_post[False].json delete mode 100644 factory_data/channels.views.posts_test.test_get_deleted_post[True].json delete mode 100644 factory_data/channels.views.posts_test.test_get_post[False].json delete mode 100644 factory_data/channels.views.posts_test.test_get_post[True].json delete mode 100644 factory_data/channels.views.posts_test.test_get_post_anonymous.json delete mode 100644 factory_data/channels.views.posts_test.test_get_post_no_profile.json delete mode 100644 factory_data/channels.views.posts_test.test_get_post_stickied.json delete mode 100644 factory_data/channels.views.posts_test.test_get_removed_post[None-404].json delete mode 100644 factory_data/channels.views.posts_test.test_get_removed_post[client_user1-404].json delete mode 100644 factory_data/channels.views.posts_test.test_get_removed_post[client_user2-200].json delete mode 100644 factory_data/channels.views.posts_test.test_get_removed_post[staff_user-200].json delete mode 100644 factory_data/channels.views.posts_test.test_get_removed_post[user-404].json delete mode 100644 factory_data/channels.views.posts_test.test_list_posts[False].json delete mode 100644 factory_data/channels.views.posts_test.test_list_posts[True].json delete mode 100644 factory_data/channels.views.posts_test.test_list_posts_anonymous.json delete mode 100644 factory_data/channels.views.posts_test.test_list_posts_none.json delete mode 100644 factory_data/channels.views.posts_test.test_list_posts_pagination_first_page_no_params.json delete mode 100644 factory_data/channels.views.posts_test.test_list_posts_pagination_first_page_with_params.json delete mode 100644 factory_data/channels.views.posts_test.test_list_posts_pagination_non_first_page.json delete mode 100644 factory_data/channels.views.posts_test.test_list_posts_pagination_non_offset_page.json delete mode 100644 factory_data/channels.views.posts_test.test_list_posts_sorted[hot].json delete mode 100644 factory_data/channels.views.posts_test.test_list_posts_sorted[new].json delete mode 100644 factory_data/channels.views.posts_test.test_list_posts_sorted[top].json delete mode 100644 factory_data/channels.views.posts_test.test_list_posts_stickied.json delete mode 100644 factory_data/channels.views.posts_test.test_patch_article_validate_cover_image.json delete mode 100644 factory_data/channels.views.posts_test.test_post_create_post_new_meta.json delete mode 100644 factory_data/channels.views.posts_test.test_post_create_post_no_thumbnail.json delete mode 100644 factory_data/channels.views.posts_test.test_subscribe_post[False-False-0-1].json delete mode 100644 factory_data/channels.views.posts_test.test_subscribe_post[False-True-1-2].json delete mode 100644 factory_data/channels.views.posts_test.test_subscribe_post[True-False-1-1].json delete mode 100644 factory_data/channels.views.posts_test.test_subscribe_post[True-True-2-2].json delete mode 100644 factory_data/channels.views.posts_test.test_unsubscribe_post.json delete mode 100644 factory_data/channels.views.posts_test.test_update_article_cover.json delete mode 100644 factory_data/channels.views.posts_test.test_update_article_post.json delete mode 100644 factory_data/channels.views.reports_test.test_list_reports.json delete mode 100644 factory_data/channels.views.reports_test.test_list_reports_empty.json delete mode 100644 factory_data/channels.views.reports_test.test_patch_channel_noauth.json delete mode 100644 factory_data/channels.views.reports_test.test_patch_channel_nonstaff.json delete mode 100644 factory_data/channels.views.reports_test.test_report_anonymous.json delete mode 100644 factory_data/channels.views.reports_test.test_report_comment.json delete mode 100644 factory_data/channels.views.reports_test.test_report_post.json delete mode 100644 factory_data/channels.views.subscribers_test.test_add_subscriber.json delete mode 100644 factory_data/channels.views.subscribers_test.test_add_subscriber[1].json delete mode 100644 factory_data/channels.views.subscribers_test.test_add_subscriber[2].json delete mode 100644 factory_data/channels.views.subscribers_test.test_add_subscriber_again.json delete mode 100644 factory_data/channels.views.subscribers_test.test_add_subscriber_anonymous.json delete mode 100644 factory_data/channels.views.subscribers_test.test_add_subscriber_forbidden.json delete mode 100644 factory_data/channels.views.subscribers_test.test_add_subscriber_mod.json delete mode 100644 factory_data/channels.views.subscribers_test.test_detail_subscriber.json delete mode 100644 factory_data/channels.views.subscribers_test.test_detail_subscriber_anonymous.json delete mode 100644 factory_data/channels.views.subscribers_test.test_detail_subscriber_missing.json delete mode 100644 factory_data/channels.views.subscribers_test.test_list_subscribers.json delete mode 100644 factory_data/channels.views.subscribers_test.test_remove_subscriber.json delete mode 100644 factory_data/channels.views.subscribers_test.test_remove_subscriber[1].json delete mode 100644 factory_data/channels.views.subscribers_test.test_remove_subscriber[2].json delete mode 100644 factory_data/channels.views.subscribers_test.test_remove_subscriber_again.json delete mode 100644 factory_data/channels.views.subscribers_test.test_remove_subscriber_anonymous.json delete mode 100644 factory_data/notifications.notifiers.comments_test.test_send_notification[False].json delete mode 100644 factory_data/notifications.notifiers.comments_test.test_send_notification[True].json delete mode 100644 factory_data/notifications.notifiers.moderator_posts_test.test_send_notification.json diff --git a/channels_fields/factories.py b/channels_fields/factories.py index f379d43e69..659cc40f79 100644 --- a/channels_fields/factories.py +++ b/channels_fields/factories.py @@ -1,6 +1,5 @@ """Factories for channels_fields""" import factory -from factory.fuzzy import FuzzyText from channels_fields.api import create_field_groups_and_roles from channels_fields.models import FieldChannel, FieldList, Subfield diff --git a/factory_data/channels.views.channels_test.test_create_channel[False].json b/factory_data/channels.views.channels_test.test_create_channel[False].json deleted file mode 100644 index 8426035099..0000000000 --- a/factory_data/channels.views.channels_test.test_create_channel[False].json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private": { - "channel_type": "private", - "description": "Libero iste voluptate exercitationem perferendis est rerum doloremque quae. Ipsum quisquam eos corrupti ut nostrum natus.\nSuscipit nobis natus eaque hic. Reprehenderit aut alias ducimus eaque nisi tempora. Aliquid modi inventore nostrum velit totam explicabo aliquam. Beatae quia molestias eaque rem illo.\nMagnam velit voluptates voluptatum accusantium dicta velit nam. Quas sequi occaecati repellendus nihil occaecati. Impedit eum veniam iure. Cumque inventore aperiam maiores expedita voluptates.", - "name": "1541016783_cumque", - "public_description": "Numquam consequatur necessitatibus deserunt accusamus.", - "title": "Velit nisi aperiam omnis nam." - } - }, - "users": { - "index_user": { - "username": "01CV5W3WDVH2SEKV9ZBH3XG6HY" - }, - "staff_user": { - "username": "01CV5W3ZPNQ5JKE3DCC7G9HV5K" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_create_channel[None].json b/factory_data/channels.views.channels_test.test_create_channel[None].json deleted file mode 100644 index ee5cec2a9c..0000000000 --- a/factory_data/channels.views.channels_test.test_create_channel[None].json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private": { - "channel_type": "restricted", - "description": "Voluptatum eum consectetur eligendi officiis blanditiis. Asperiores ad cumque recusandae voluptates veniam rerum quidem dignissimos.\nHic quos quasi excepturi hic quis. Ab quasi deleniti officia fuga at voluptas. Consequuntur aspernatur ex ex dicta aspernatur.\nAccusantium perspiciatis adipisci sit aliquid aperiam dolores natus. Ratione magnam similique dignissimos repellat nostrum iure quos. Soluta totam fugit repellendus deserunt totam maiores.", - "name": "1541016794_similique", - "public_description": "Rem maiores pariatur quos impedit voluptatem dolore sapiente.", - "title": "Commodi commodi libero tempore ipsa quasi." - } - }, - "users": { - "index_user": { - "username": "01CV5W46DZ7CXZWC5SKQCCBGGG" - }, - "staff_user": { - "username": "01CV5W49NYSY91XC7STPWDQYZV" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_create_channel[True].json b/factory_data/channels.views.channels_test.test_create_channel[True].json deleted file mode 100644 index 4109e4c49f..0000000000 --- a/factory_data/channels.views.channels_test.test_create_channel[True].json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private": { - "channel_type": "public", - "description": "Reprehenderit ab reiciendis voluptate iste perferendis quisquam cum aliquid. Iste quod accusamus nobis libero voluptas dignissimos ad. Voluptatum incidunt quia consequatur saepe repudiandae nam quasi.\nMagni dicta accusantium facilis animi sequi reprehenderit molestias. Facilis pariatur sequi necessitatibus sequi animi dolorem nobis.\nIpsa necessitatibus id quia voluptates. Aliquid quam velit maxime reprehenderit alias consectetur. Suscipit eius earum accusamus.", - "name": "1541016773_veritatis", - "public_description": "Iusto voluptatum iusto quasi exercitationem quod laudantium nam architecto.", - "title": "Consequatur architecto impedit voluptas dolor." - } - }, - "users": { - "index_user": { - "username": "01CV5W3JAKEP311W5H1NSDMKVS" - }, - "staff_user": { - "username": "01CV5W3NM11R7F67H52TSSERK6" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_create_channel_already_exists.json b/factory_data/channels.views.channels_test.test_create_channel_already_exists.json deleted file mode 100644 index a5ab84d422..0000000000 --- a/factory_data/channels.views.channels_test.test_create_channel_already_exists.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Quibusdam iusto ex earum veritatis mollitia. Atque necessitatibus rem exercitationem eum. Sint similique non amet optio molestias accusamus. Fugiat sit ducimus corporis atque enim ut tempore.\nExplicabo soluta totam nesciunt iste. Dolores in odit numquam quibusdam. Similique commodi natus eum vel non perspiciatis.\nEsse ex vitae illum harum. Facere porro alias cupiditate earum totam. Aut aliquid sequi qui dolor.", - "name": "1540328290_ex", - "public_description": "Quo possimus ipsa necessitatibus id possimus neque maxime praesentium.", - "title": "Iure nam ratione porro magni." - } - }, - "users": { - "index_user": { - "username": "01CTHBGTMM2JJMT9DJAMHVAZCY" - }, - "staff_user": { - "username": "01CTHBGQA8YGE871Z0K07X8H8B" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_create_channel_no_descriptions.json b/factory_data/channels.views.channels_test.test_create_channel_no_descriptions.json deleted file mode 100644 index 94b3d10a22..0000000000 --- a/factory_data/channels.views.channels_test.test_create_channel_no_descriptions.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private": { - "channel_type": "restricted", - "description": "Corporis eum voluptas aut officia necessitatibus aperiam. Dolorum soluta aspernatur quia corporis quo corporis voluptates ut. Velit totam vel neque iusto ipsam quia distinctio dolorum. Nihil illum rerum repudiandae dolore.\nOccaecati id sed nemo magni id facilis nostrum ullam. Consequuntur fugit reprehenderit veritatis sequi cum error. Doloremque nobis impedit officia repellendus voluptatibus accusantium. Veniam doloremque ducimus sed quos veritatis iure.", - "name": "1540328279_aspernatur", - "public_description": "Eveniet error quidem iusto nam fugit iste.", - "title": "Sint minus molestiae excepturi." - } - }, - "users": { - "index_user": { - "username": "01CTHBGCR9TXXTRYR81WT2JW50" - }, - "staff_user": { - "username": "01CTHBGG2956SW15MPV94ASHQN" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_create_channel_noauth.json b/factory_data/channels.views.channels_test.test_create_channel_noauth.json deleted file mode 100644 index 4852785580..0000000000 --- a/factory_data/channels.views.channels_test.test_create_channel_noauth.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "index_user": { - "username": "01CTHBH7X0J7RDHCVR0PP94ZBX" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_create_channel_nonstaff.json b/factory_data/channels.views.channels_test.test_create_channel_nonstaff.json deleted file mode 100644 index 813d1b5eb7..0000000000 --- a/factory_data/channels.views.channels_test.test_create_channel_nonstaff.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "users": { - "contributor": { - "username": "01CTHBH4FT6Y564RDAA2B3XJ64" - }, - "index_user": { - "username": "01CTHBH1562G5HDYARQYZS12WB" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_get_channel.json b/factory_data/channels.views.channels_test.test_get_channel.json deleted file mode 100644 index 6cfe8a3c96..0000000000 --- a/factory_data/channels.views.channels_test.test_get_channel.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Ipsam doloremque soluta error magnam laboriosam maxime assumenda labore. Veritatis officiis odio accusamus officiis quia praesentium. Dignissimos eos et non ea quis facilis.\nDolorum sit aperiam pariatur natus ipsa saepe suscipit. Vero asperiores aspernatur omnis ipsa facilis eveniet dolor. Dolor dolor aperiam recusandae facilis consequuntur veritatis.", - "name": "1535132865_sapiente", - "public_description": "Rerum error alias dolor ipsum quae. Error alias velit debitis tenetur. Illo nulla eaque cum.", - "title": "Officiis aliquam at rem nemo iste." - } - }, - "users": { - "contributor": { - "username": "01CNPGRY4KYS3C8R5VSVXC7QQV" - }, - "staff_user": { - "username": "01CNPGS1DD0XHWA51NY7ZMP7J3" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_get_channel_anonymous.json b/factory_data/channels.views.channels_test.test_get_channel_anonymous.json deleted file mode 100644 index a76cdd679d..0000000000 --- a/factory_data/channels.views.channels_test.test_get_channel_anonymous.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Unde quas suscipit harum. Laudantium ipsum eligendi id inventore nemo distinctio. Saepe at quibusdam beatae nostrum sed. Eveniet atque ex saepe nemo inventore consectetur. Quibusdam nisi laboriosam totam occaecati.\nMolestiae odio voluptas perspiciatis nobis cumque. Voluptatem veritatis provident dignissimos repellendus non assumenda non. Repellat temporibus assumenda laboriosam excepturi quos quasi. Qui rerum ea odit.", - "name": "1535132871_vel", - "public_description": "Assumenda odit quo laudantium. Officia sequi quae nobis. In natus illo sit quae.", - "title": "Id reprehenderit repudiandae sit similique." - } - }, - "users": { - "staff_user": { - "username": "01CNPGS7YBVSHD6QZ8A5XVGNNA" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_get_channel_with_avatar_banner.json b/factory_data/channels.views.channels_test.test_get_channel_with_avatar_banner.json deleted file mode 100644 index ace199f76d..0000000000 --- a/factory_data/channels.views.channels_test.test_get_channel_with_avatar_banner.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Veniam ipsam nemo architecto consectetur. Aliquam accusantium laboriosam laudantium quos a tempore. Optio nesciunt beatae sint deserunt ad maxime dolor.\nLibero facere accusamus illo ab. Saepe velit atque sit dolores harum. Atque reiciendis laborum occaecati atque ad modi totam.\nConsectetur id possimus rem natus enim. Unde possimus quia doloribus.\nUt natus laboriosam eos tenetur. Laudantium hic natus libero. Magni neque asperiores earum eaque dicta iste aliquid.", - "name": "1535132885_quos", - "public_description": "Quasi sequi nemo fugiat facere nostrum. Similique repudiandae omnis dolor illum.", - "title": "Magni quo quas ipsam quam." - } - }, - "users": { - "staff_user": { - "username": "01CNPGSMV2AER0PYN4Z16EYSC4" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_get_short_channel.json b/factory_data/channels.views.channels_test.test_get_short_channel.json deleted file mode 100644 index 26790d4f64..0000000000 --- a/factory_data/channels.views.channels_test.test_get_short_channel.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "contributor": { - "username": "01C3DNR1Z20EVR3AWNKMCY3N25" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_list_channels.json b/factory_data/channels.views.channels_test.test_list_channels.json deleted file mode 100644 index fccaeb4658..0000000000 --- a/factory_data/channels.views.channels_test.test_list_channels.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Quisquam sit cumque veritatis impedit. Error cumque vero dolorem et eos. Hic doloremque earum odio ullam tempora blanditiis dicta. Quo maiores natus quaerat autem amet aperiam ipsa.\nSimilique facere id suscipit. Cum doloribus facere incidunt illo corporis vel nostrum. Itaque quas distinctio molestiae dolore facilis magnam nostrum. Dolores culpa voluptatibus vel repellendus repudiandae odit eaque.", - "name": "1535132847_eos", - "public_description": "Voluptatibus quis incidunt fugiat mollitia sed voluptates. At totam ducimus cum ducimus.", - "title": "Tempora sunt nulla quod doloribus maiores." - } - }, - "users": { - "contributor": { - "username": "01CNPGRCDJBW2TKTXKY4AKJ7KZ" - }, - "staff_user": { - "username": "01CNPGRFP61WSWW6FHQRC3TQKK" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_list_channels_ordered.json b/factory_data/channels.views.channels_test.test_list_channels_ordered.json deleted file mode 100644 index 4138b51ace..0000000000 --- a/factory_data/channels.views.channels_test.test_list_channels_ordered.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "channels": { - "private_channel_0": { - "channel_type": "private", - "description": "Rem iure exercitationem minus. Ab quasi quo tenetur nihil. Atque veritatis quis autem enim recusandae.\nSimilique odio repellat et. Asperiores magni laboriosam debitis maiores. Quae harum repudiandae amet.\nExpedita quos magni ipsa quas doloribus illum in. Ipsum esse praesentium odit deleniti quas. Saepe voluptas ea ipsa accusantium. Quisquam ex eveniet quaerat explicabo vitae voluptates assumenda. Deserunt laborum eius iusto officiis iste.", - "name": "1538426476_rerum", - "public_description": "Tempore aut corrupti et esse. Suscipit vitae ipsa similique numquam dolores.", - "title": "Dolores aliquid accusamus voluptatum." - }, - "private_channel_1": { - "channel_type": "private", - "description": "Vel excepturi quae deserunt libero omnis quae explicabo. Animi praesentium omnis maxime. Aliquam possimus minima incidunt ut. Iste ducimus soluta incidunt ullam.\nQuidem officiis velit sint quae iste aperiam. Rerum aliquam placeat nulla incidunt incidunt ea repellendus. Deleniti repellat corrupti voluptatibus nisi maxime non ea. Perspiciatis voluptatum exercitationem culpa dicta fuga.\nPorro ipsam placeat velit. Eos magni distinctio minima eaque repellendus nesciunt consequatur.", - "name": "1538426480_velit", - "public_description": "Fugit tempora repudiandae optio atque blanditiis inventore. Eius quis iste nam laudantium odit.", - "title": "Voluptatibus magni accusantium earum consequatur." - }, - "private_channel_2": { - "channel_type": "private", - "description": "Ut saepe necessitatibus illum id. Tenetur culpa velit maxime ullam vel repellendus minima. Incidunt ut dolorum libero vero rem quasi. Pariatur expedita maxime blanditiis laborum pariatur aspernatur facere.\nIusto reprehenderit corporis nobis doloremque atque quisquam. Praesentium ut mollitia aperiam voluptatibus doloremque explicabo qui. Neque expedita consequatur quas esse ad.", - "name": "1538426483_non", - "public_description": "Unde ea reprehenderit qui aspernatur aliquid. Atque officia laboriosam iste minima.", - "title": "Nobis laborum omnis explicabo recusandae." - }, - "private_channel_3": { - "channel_type": "private", - "description": "Deleniti voluptatem sapiente recusandae hic nemo. Cum dolorum dolore laboriosam. Architecto tempore quibusdam nam dolor quae nemo exercitationem expedita.\nDistinctio ipsa repellat tempora esse. A odit at consectetur. Deleniti blanditiis similique fuga ducimus quisquam mollitia ducimus. Quam necessitatibus sequi accusamus vitae nulla ad recusandae.", - "name": "1538426486_quibusdam", - "public_description": "Et eveniet itaque sunt voluptates necessitatibus. Eius eligendi sit earum magni dicta.", - "title": "Porro ipsum voluptas iure aliquam." - }, - "private_channel_4": { - "channel_type": "private", - "description": "Commodi maxime soluta quas similique. Eos minus reiciendis eum asperiores doloremque laborum eligendi.\nIllo dolorem quae temporibus ipsum. Id libero voluptas ipsum. Natus debitis exercitationem eaque modi sequi quo.\nAnimi doloremque velit temporibus. Quos ducimus et iure provident voluptatibus cumque ut. Non cumque commodi distinctio animi possimus.", - "name": "1538426490_illum", - "public_description": "Similique sed fuga adipisci fugit quo voluptate. Sapiente harum totam ullam iste animi voluptatem.", - "title": "Reprehenderit provident eaque inventore." - } - }, - "users": { - "contributor": { - "username": "01CRRNSZMCDFTNY9WP1A874HKQ" - }, - "staff_user": { - "username": "01CRRNT2WT4F7SYXZQZ6TH5RZN" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_patch_channel.json b/factory_data/channels.views.channels_test.test_patch_channel.json deleted file mode 100644 index 7b77241564..0000000000 --- a/factory_data/channels.views.channels_test.test_patch_channel.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Consectetur libero ipsum provident voluptas nostrum alias aut. Sed odio voluptas deleniti minus laboriosam illo. Blanditiis voluptates mollitia aliquam expedita aliquam impedit. Veniam error magni repellendus saepe asperiores pariatur maiores. Magnam fugiat modi harum neque.\nIste maxime rem tempora qui esse officiis dolor. Explicabo pariatur quia fugiat saepe reiciendis necessitatibus exercitationem. Laborum modi praesentium odit vero sapiente. Non at possimus rem maiores soluta ipsa modi.", - "name": "1535132891_eius", - "public_description": "Suscipit nisi veritatis officia. Doloremque eligendi repellendus doloremque maiores.", - "title": "Ab molestiae illum culpa animi." - } - }, - "users": { - "staff_user": { - "username": "01CNPGSV7BRSJYNGFVKS43HFDZ" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_patch_channel_about.json b/factory_data/channels.views.channels_test.test_patch_channel_about.json deleted file mode 100644 index 7a614bacd9..0000000000 --- a/factory_data/channels.views.channels_test.test_patch_channel_about.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Deleniti autem ab ad repudiandae. Molestiae et odio reprehenderit quia. Nesciunt perferendis dolorum fugit dignissimos enim maiores.\nQuos tenetur dolores pariatur repellat nemo id facere. Debitis officiis voluptates mollitia voluptate. Asperiores quaerat in facilis explicabo numquam.\nAsperiores cumque beatae voluptate et quibusdam. Minima vero aperiam error officia saepe. Facilis sunt soluta dolores neque iusto consequatur. Recusandae accusamus qui reiciendis at perferendis quisquam.", - "name": "1548878437_21_eligend", - "public_description": "Laudantium dolor veritatis deserunt.", - "title": "Itaque temporibus consequatur vero iste." - } - }, - "users": { - "staff_user": { - "username": "01D2G5JKY6KBAB8FVKSQQW5D2A" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_patch_channel_forbidden.json b/factory_data/channels.views.channels_test.test_patch_channel_forbidden.json deleted file mode 100644 index ae13fc0f72..0000000000 --- a/factory_data/channels.views.channels_test.test_patch_channel_forbidden.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "staff_user": { - "username": "01BYXNKSZQWB81GW6W36W5FB7W" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_patch_channel_image[avatar].json b/factory_data/channels.views.channels_test.test_patch_channel_image[avatar].json deleted file mode 100644 index 74de77b054..0000000000 --- a/factory_data/channels.views.channels_test.test_patch_channel_image[avatar].json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Ratione excepturi nobis illo quibusdam sit commodi. Pariatur molestiae maxime repellat. Rem velit dolor ex. Aspernatur vero provident totam vel.\nNulla a magni facilis. Commodi eligendi eius quibusdam exercitationem maiores. Libero veritatis expedita eaque delectus accusantium iste. Autem repellendus itaque illo repudiandae beatae laudantium veritatis. Officia accusantium eveniet nam temporibus quisquam.", - "name": "1535132908_nemo", - "public_description": "Tempore ducimus ipsum quam odio perspiciatis adipisci. Odit rerum eius maxime accusantium modi.", - "title": "Labore voluptatem voluptate ratione molestiae." - } - }, - "users": { - "staff_user": { - "username": "01CNPGTBRX0ZS343AK777SNCNK" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_patch_channel_image[banner].json b/factory_data/channels.views.channels_test.test_patch_channel_image[banner].json deleted file mode 100644 index c3085538c5..0000000000 --- a/factory_data/channels.views.channels_test.test_patch_channel_image[banner].json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Nemo qui repellat commodi. Exercitationem in vitae atque adipisci dolorem. Repellendus fugiat adipisci reprehenderit voluptatibus provident pariatur similique. Ea numquam ad distinctio nisi.\nAut laboriosam assumenda minima voluptates ea. Assumenda vel tenetur officiis excepturi soluta. Mollitia dolor distinctio distinctio assumenda necessitatibus adipisci corporis.\nSed incidunt vel fugiat voluptates. Exercitationem asperiores dolorem quos dolorem. Facilis consequatur facere esse.", - "name": "1535132915_ullam", - "public_description": "Totam doloremque praesentium consequuntur iste. Expedita ducimus consequatur ratione.", - "title": "Ad soluta facere ab tenetur et quasi." - } - }, - "users": { - "staff_user": { - "username": "01CNPGTJ7EGVS9831K1AJK8JGN" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_patch_channel_moderator.json b/factory_data/channels.views.channels_test.test_patch_channel_moderator.json deleted file mode 100644 index 87f5bb9c2e..0000000000 --- a/factory_data/channels.views.channels_test.test_patch_channel_moderator.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Reiciendis occaecati dolor earum accusantium ducimus nobis illo. Exercitationem ratione animi dicta provident natus neque sed enim.\nAmet voluptatibus inventore delectus eos delectus occaecati. Non distinctio quos rerum facere sapiente. Molestias quo iusto dolores facilis. Laborum illum fugiat dolorem voluptates praesentium quibusdam libero fugiat.", - "name": "1535132901_porro", - "public_description": "Iusto accusantium nihil quo assumenda minima officiis. Accusamus iste similique quae pariatur.", - "title": "Quisquam assumenda animi nostrum sequi." - } - }, - "users": { - "contributor": { - "username": "01CNPGT1RPK8SHTZMTYCTPACQC" - }, - "staff_user": { - "username": "01CNPGT50Y3MYK561R4MKXNQV4" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_patch_channel_nonstaff.json b/factory_data/channels.views.channels_test.test_patch_channel_nonstaff.json deleted file mode 100644 index 0aa285b677..0000000000 --- a/factory_data/channels.views.channels_test.test_patch_channel_nonstaff.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "contributor": { - "username": "01C044N74CAWJX45D3RFTZSB9W" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_patch_channel_not_found.json b/factory_data/channels.views.channels_test.test_patch_channel_not_found.json deleted file mode 100644 index 2a53e7c527..0000000000 --- a/factory_data/channels.views.channels_test.test_patch_channel_not_found.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "staff_user": { - "username": "01BYXNKT0YZB6AVZX64DK1TFGJ" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_patch_channel_validate_image[avatar].json b/factory_data/channels.views.channels_test.test_patch_channel_validate_image[avatar].json deleted file mode 100644 index bd0932278a..0000000000 --- a/factory_data/channels.views.channels_test.test_patch_channel_validate_image[avatar].json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Tenetur nemo recusandae neque placeat. Aspernatur repellat ipsa reprehenderit earum. Voluptates possimus quam ipsum laboriosam. Rerum magnam numquam mollitia dignissimos dignissimos nobis vitae. Distinctio ad blanditiis quisquam dignissimos.\nArchitecto amet nostrum non similique nihil nisi dolor. Inventore praesentium tempora minus excepturi assumenda officiis.", - "name": "1535132921_ab", - "public_description": "Cum adipisci eius vel rem esse quidem dolorem. Minus facere voluptates aliquam tempora enim.", - "title": "Pariatur quo alias totam debitis vitae." - } - }, - "users": { - "staff_user": { - "username": "01CNPGTRMDDFDZ60YGMYB8MTMF" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_patch_channel_validate_image[banner].json b/factory_data/channels.views.channels_test.test_patch_channel_validate_image[banner].json deleted file mode 100644 index 68cf95d18a..0000000000 --- a/factory_data/channels.views.channels_test.test_patch_channel_validate_image[banner].json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Officia provident a eligendi quo. Illum asperiores culpa sit ab praesentium minima nesciunt deserunt. Doloribus natus distinctio rem reprehenderit quam doloribus.\nQuisquam hic excepturi impedit quaerat. Occaecati quidem ipsa aperiam laboriosam veniam officia ut. Dolorem autem cumque totam molestias quasi facilis ab. Voluptas nam excepturi modi tenetur enim nesciunt.", - "name": "1535132928_repellat", - "public_description": "Labore officia impedit vero nulla reprehenderit iusto in. Inventore ut aliquam facere.", - "title": "Quia quidem hic doloremque asperiores." - } - }, - "users": { - "staff_user": { - "username": "01CNPGTYYGH84TC8YKMJQETP8H" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_update_title_non_superuser_forbidden[patch].json b/factory_data/channels.views.channels_test.test_update_title_non_superuser_forbidden[patch].json deleted file mode 100644 index 3ca7a36612..0000000000 --- a/factory_data/channels.views.channels_test.test_update_title_non_superuser_forbidden[patch].json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private": { - "channel_type": "private", - "description": "Magni tenetur quos magnam aut nobis incidunt. Fugiat natus fugit unde id. Consectetur iusto earum eius tempore tenetur quibusdam excepturi. Fuga placeat deleniti quidem eveniet voluptas consequatur.\nQuidem corrupti consectetur deserunt optio doloribus vero voluptatibus cumque. Amet illo voluptatibus velit assumenda vero. Molestiae ipsum minus neque officiis maxime corporis nesciunt.", - "name": "1544134666_porro", - "public_description": "Sint doloribus dolores vel iusto eveniet inventore.", - "title": "Minus illum excepturi ipsum mollitia culpa." - } - }, - "users": { - "index_user": { - "username": "01CY2SJ3BX6972SDHVZ376F0DX" - }, - "staff_user": { - "username": "01CY2SJ6QFX89TZGM9Z2QNXT2Z" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.channels_test.test_update_title_non_superuser_forbidden[put].json b/factory_data/channels.views.channels_test.test_update_title_non_superuser_forbidden[put].json deleted file mode 100644 index 12a044e3c7..0000000000 --- a/factory_data/channels.views.channels_test.test_update_title_non_superuser_forbidden[put].json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private": { - "channel_type": "private", - "description": "Ducimus mollitia quod cupiditate dolor quibusdam porro. Officiis rem occaecati quo assumenda. Maxime nobis reprehenderit reiciendis aliquid qui repudiandae adipisci eum.\nPossimus magnam accusantium ipsa commodi inventore quae modi. Consequuntur aut aliquam mollitia tenetur amet. Dolorum harum natus culpa amet assumenda. Ipsa totam doloremque ullam voluptas itaque labore tempora.", - "name": "1544134676_officia", - "public_description": "Facilis voluptates incidunt quam dolorem sed ratione numquam.", - "title": "Laboriosam maiores inventore ab laboriosam." - } - }, - "users": { - "index_user": { - "username": "01CY2SJDW3QRHD4P45SFQN2Q9G" - }, - "staff_user": { - "username": "01CY2SJH5MTEG11NEHDZK15W47" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_create_comment[extra_params0-extra_expected0-1].json b/factory_data/channels.views.comments_test.test_create_comment[extra_params0-extra_expected0-1].json deleted file mode 100644 index 510edd4572..0000000000 --- a/factory_data/channels.views.comments_test.test_create_comment[extra_params0-extra_expected0-1].json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Relate actually accept success listen. Democrat speech as ready. Land truth inside professor however worry ago.\nAct news deal college window minute. Worry natural avoid foot really charge finally. Read these first group event parent.\nHeart program executive likely person why happen like. Tough east up worry television deep. Second keep parent dinner hear. Laugh available goal price center.", - "name": "1595973230_9_especial", - "public_description": "Country instead accept expect election.", - "title": "Live garden behind more common." - } - }, - "posts": { - "a post": { - "id": "k", - "text": "Film eye nor create somebody. Memory move everyone now more modern south.", - "title": "Similar ever night." - } - }, - "users": { - "contributor": { - "username": "01EEBPNH7V5H6H0QW9CD03CCTK" - }, - "staff_user": { - "username": "01EEBPNMGM2YNRGZAJEKHJQ9WN" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_create_comment[extra_params1-extra_expected1-0].json b/factory_data/channels.views.comments_test.test_create_comment[extra_params1-extra_expected1-0].json deleted file mode 100644 index 1a5ea8236d..0000000000 --- a/factory_data/channels.views.comments_test.test_create_comment[extra_params1-extra_expected1-0].json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Lose third enough night mission. Themselves attack low brother. Might break today author or north.\nConsumer answer color floor bed another move fear. Teach land whom service laugh chair control. White attack food size recently friend.\nEffort including citizen improve Democrat. Election data audience experience individual scene.\nSo health only fight strong condition successful. Analysis country just Congress hot seven.\nAlmost game difference around child. Buy defense give laugh card.", - "name": "1595973243_10_able", - "public_description": "Last war action relate religious. Market Mrs who might do.", - "title": "Watch part show money study." - } - }, - "posts": { - "a post": { - "id": "l", - "text": "Kid under evening region. Certain future fight land fast course level. Raise race too religious.", - "title": "Out voice through tree forward large would." - } - }, - "users": { - "contributor": { - "username": "01EEBPNY3B2C7PN3TR4A8021Y7" - }, - "staff_user": { - "username": "01EEBPP1BZKWGW8CCR1ZM5CGX3" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_create_comment[extra_params2-extra_expected2--1].json b/factory_data/channels.views.comments_test.test_create_comment[extra_params2-extra_expected2--1].json deleted file mode 100644 index 16298230d9..0000000000 --- a/factory_data/channels.views.comments_test.test_create_comment[extra_params2-extra_expected2--1].json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "In campaign image goal price sell much. Marriage determine receive great. Will think right discover reality or soldier.\nResponse camera hotel something.\nUnder reveal expect yeah necessary. Meeting southern beat ground. Measure their nature new politics.\nDecision eye hand section appear. Leg speak scientist administration we. Form answer stage appear.\nUpon picture case give race. Million now spring big. Past treatment expert.\nPower wall matter. Structure blue tough national.", - "name": "1595973256_11_help", - "public_description": "End past message. Action people threat hope financial.", - "title": "Though owner throughout civil manage keep writer." - } - }, - "posts": { - "a post": { - "id": "m", - "text": "Health middle court issue general want hotel page.", - "title": "Cell try exactly in practice institution stuff." - } - }, - "users": { - "contributor": { - "username": "01EEBPPB2RB5RWBTF4QY72RD53" - }, - "staff_user": { - "username": "01EEBPPEAG1Y4DVTRKC2EATC6W" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_create_comment_forbidden.json b/factory_data/channels.views.comments_test.test_create_comment_forbidden.json deleted file mode 100644 index ab4bbf1db7..0000000000 --- a/factory_data/channels.views.comments_test.test_create_comment_forbidden.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "contributor": { - "username": "01EEBPPQYEACBSE2KCY6DTQD26" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_create_comment_moderator.json b/factory_data/channels.views.comments_test.test_create_comment_moderator.json deleted file mode 100644 index 3c51cecaf1..0000000000 --- a/factory_data/channels.views.comments_test.test_create_comment_moderator.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Page middle sport service. Case determine shoulder spring.\nDegree game specific drop. Bed trial nice computer dark. Interesting final sell rest despite.\nLeg single order mouth. Stop close minute spring leader. Nation boy herself.\nEast sit poor question. Son easy who not control.\nOnto hold bring today staff opportunity power different. Ahead face risk find indeed whose agree.\nGet word sport man leg. Cover name avoid paper enter of data. Relate know maybe run local.", - "name": "1595981347_12_choose", - "public_description": "Impact determine crime teacher high. Who listen brother skin.", - "title": "Network box finally discuss hotel." - } - }, - "posts": { - "a post": { - "id": "1f", - "text": "Doctor put born stock head even possible war. Of I week add.", - "title": "Especially require gas lead." - } - }, - "users": { - "contributor": { - "username": "01EEBYD7C007T0X87E4Z5183FP" - }, - "staff_user": { - "username": "01EEBYDB4GB1S20C7JPS993JMN" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_create_comment_not_found.json b/factory_data/channels.views.comments_test.test_create_comment_not_found.json deleted file mode 100644 index 95d7356d34..0000000000 --- a/factory_data/channels.views.comments_test.test_create_comment_not_found.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "contributor": { - "username": "01EEBPPV8YQNTRK7SQ936G6269" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_create_comment_reply_to_comment.json b/factory_data/channels.views.comments_test.test_create_comment_reply_to_comment.json deleted file mode 100644 index aaead99a74..0000000000 --- a/factory_data/channels.views.comments_test.test_create_comment_reply_to_comment.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Fly politics building according carry. Card little discuss. Recently dog little.\nDrug piece concern cause girl. Report wife him able a word.\nDraw seem these customer evening station indeed. One citizen window bring especially room coach.\nThis stuff ten over. Process common law memory. Hot check discussion real class.\nBox anyone community child data resource light. Measure billion also everyone.\nCommunity blood by mouth study owner analysis. Free open education early paper.", - "name": "1595973276_12_last", - "public_description": "Cause reflect culture letter. Up certainly join morning why popular.", - "title": "Care pretty across coach cause." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "23", - "post_id": "n", - "text": "By actually expert their clear ability between. Entire back smile cold." - } - }, - "posts": { - "a post": { - "id": "n", - "text": "Person official campaign film. Particularly officer learn box factor agency special behavior.", - "title": "Himself population year this at thank." - } - }, - "users": { - "contributor": { - "username": "01EEBPPYMQWNAR3SA8JY0DYXY4" - }, - "staff_user": { - "username": "01EEBPQ1YM6J1VK48VW7CP0XWC" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_create_comment_reply_to_deleted_comment.json b/factory_data/channels.views.comments_test.test_create_comment_reply_to_deleted_comment.json deleted file mode 100644 index 48bd3b2e39..0000000000 --- a/factory_data/channels.views.comments_test.test_create_comment_reply_to_deleted_comment.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Want like official according can maybe win popular. General hear culture. Accept common executive town peace behind worry. Pattern rate part rate by what.\nStrong tough dog bed minute white nature. Give baby each experience shake foreign picture.\nPrice morning radio quickly.\nMedia region particularly end push. Size media voice interview option. Land not thus a forward where stuff writer.\nMarriage according various town note.", - "name": "1595973293_13_raise", - "public_description": "Place measure tough health situation. Office be poor particular computer food.", - "title": "Treatment want Democrat." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "25", - "post_id": "o", - "text": "Give concern western bring newspaper. Place street such public four best often." - } - }, - "posts": { - "post": { - "id": "o", - "text": "Weight she create return inside off they. City story wish fast.", - "title": "Cost leader big reflect huge." - } - }, - "users": { - "contributor": { - "username": "01EEBPQERJ2GFHTKKBXAJRAB40" - }, - "staff_user": { - "username": "01EEBPQJ005T31NBTG00EZ3VSB" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_get_comment.json b/factory_data/channels.views.comments_test.test_get_comment.json deleted file mode 100644 index 424fe01530..0000000000 --- a/factory_data/channels.views.comments_test.test_get_comment.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Laudantium et ex consectetur ducimus impedit. Necessitatibus dolorum a dolores. Consequatur repellat inventore voluptatibus pariatur.\nPossimus nam odit voluptatem accusantium earum. Officia impedit quam ea maxime hic. Voluptatum maiores facere rerum distinctio recusandae.\nEx accusamus porro iste veritatis. Eveniet porro dolor numquam reprehenderit quod. Quia aspernatur expedita expedita et blanditiis voluptatem.", - "name": "1535133316_praesentiu", - "public_description": "Incidunt porro amet consequuntur exercitationem. Cumque quidem delectus nostrum quam dignissimos.", - "title": "Ut magnam dolorem quaerat neque." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "2z", - "post_id": "a", - "text": "Saepe enim fuga rem. Reprehenderit culpa culpa itaque consequuntur voluptate." - } - }, - "posts": { - "my geat post": { - "id": "a", - "text": "Quaerat quaerat laudantium maxime. Adipisci id dolor nam dolor. Eius et illum accusamus.", - "title": "Quidem debitis nemo explicabo ea." - } - }, - "users": { - "contributor": { - "username": "01CNPH6Q3ZWR6NS2TGTW3HV93P" - }, - "staff_user": { - "username": "01CNPH6TD7NDXY1BR13KTWW3MF" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_get_comment_404.json b/factory_data/channels.views.comments_test.test_get_comment_404.json deleted file mode 100644 index 8143b45f39..0000000000 --- a/factory_data/channels.views.comments_test.test_get_comment_404.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Dicta iste corrupti quos nam ad. Dolorum ab laborum minima voluptas magni enim architecto. Dolore saepe sint quasi veniam delectus velit. Est suscipit cupiditate voluptatem aliquam veniam voluptatem.\nEst exercitationem maxime adipisci repellat. Possimus ex nihil totam voluptatibus minima ducimus fuga aliquam. Facilis nisi eius molestias molestias. Quae laborum sit vitae quisquam recusandae.", - "name": "1535133333_ducimus", - "public_description": "Natus ducimus quidem doloremque deleniti earum dolorum commodi. Rem nobis iusto explicabo.", - "title": "Necessitatibus tempora possimus consequatur." - } - }, - "users": { - "contributor": { - "username": "01CNPH774DQG4KMV54CM7VF2PA" - }, - "staff_user": { - "username": "01CNPH7AEMKTCZTADFW3M7CDC6" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_get_comment_anonymous.json b/factory_data/channels.views.comments_test.test_get_comment_anonymous.json deleted file mode 100644 index 7ee590e484..0000000000 --- a/factory_data/channels.views.comments_test.test_get_comment_anonymous.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Libero animi ducimus exercitationem vel a odio nostrum. Repellat repudiandae atque aperiam voluptatibus exercitationem amet. Quo quaerat autem rerum unde tempora similique placeat eius.\nProvident soluta similique maxime provident dolorem cum molestias voluptas. Sit eaque in esse tenetur error est quis. Atque illo provident eaque. Repellat ab laborum at atque itaque ab possimus recusandae. Sequi voluptates ad ut magnam.", - "name": "1535133339_ratione", - "public_description": "Dolor vitae laboriosam perferendis eum. Incidunt corporis nulla voluptatem veniam.", - "title": "Error laudantium iste aut earum provident ipsum." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "30", - "post_id": "b", - "text": "Voluptas eos sit voluptatem sequi. Corporis atque totam amet alias enim." - } - }, - "posts": { - "a post with a comment": { - "id": "b", - "text": "Velit maiores consequatur illo eum. Nemo voluptate provident deleniti delectus architecto.", - "title": "Inventore esse quas sequi quod aliquam." - } - }, - "users": { - "staff_user": { - "username": "01CNPH7GZ9722JZ3QWRTM6H83K" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_get_removed_comment[None-404].json b/factory_data/channels.views.comments_test.test_get_removed_comment[None-404].json deleted file mode 100644 index 6b555fe25f..0000000000 --- a/factory_data/channels.views.comments_test.test_get_removed_comment[None-404].json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Through laugh area security mention. Prepare factor western expert country. Party feel lawyer technology cause long blood.\nOff none police key beyond become lay town. Particularly major yes hospital. Off listen hear top movie box.\nCurrent future price authority behind. Even stay claim thus far card. President unit machine share magazine environment.\nEight might identify spend education something. Card over force sense surface. Beat technology significant south since throughout process.", - "name": "1604587414_8_hotel", - "public_description": "Agency away friend thus. Rule sit late smile stay. West gas especially.", - "title": "American catch life various fly child." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "x", - "post_id": "1c", - "text": "Brother level source top know. Tough director more. Seem so really lawyer however senior hair." - } - }, - "posts": { - "my geat post": { - "id": "1c", - "text": "Art campaign cause lose. Close film large help approach.", - "title": "Himself chance only fact whole career so." - } - }, - "users": { - "comment user": { - "username": "01EPCDSVZ8ZX1BFDG6XWFSN7WQ" - }, - "contributor": { - "username": "01EPCDSJBB352X9DKFXY72QVYE" - }, - "staff_user": { - "username": "01EPCDSNNBM1T2VC3ADCXQPZ72" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_get_removed_comment[comment_writer-200].json b/factory_data/channels.views.comments_test.test_get_removed_comment[comment_writer-200].json deleted file mode 100644 index 58312cd4be..0000000000 --- a/factory_data/channels.views.comments_test.test_get_removed_comment[comment_writer-200].json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Young move home call hair skill. Politics language cold the quality speech. Find policy billion enough business. Hundred effect space.\nEstablish image less tend wrong. Work describe me. Manager fine continue phone read top. Respond measure position democratic.\nPlay live whole among. Small budget window eye girl approach professional loss. Home mind under music. Economy husband experience local student forget season water.", - "name": "1604587433_9_adult", - "public_description": "Five sell station training throw hour minute.", - "title": "Investment back probably message happy view." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "y", - "post_id": "1d", - "text": "Sound author his hundred result movie. Answer stay southern. Stop use young drug result." - } - }, - "posts": { - "my geat post": { - "id": "1d", - "text": "If contain long I full believe. Player minute new clearly until inside. Present democratic more.", - "title": "Top then project. Dark nearly speech everyone." - } - }, - "users": { - "comment user": { - "username": "01EPCDTEYCKH6GX99WRZG6299P" - }, - "contributor": { - "username": "01EPCDT5DA29PN7KEX3SYYR9CA" - }, - "staff_user": { - "username": "01EPCDT8P32TFT8SWHB1DJJV37" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_get_removed_comment[staff_user-200].json b/factory_data/channels.views.comments_test.test_get_removed_comment[staff_user-200].json deleted file mode 100644 index 6d4984b868..0000000000 --- a/factory_data/channels.views.comments_test.test_get_removed_comment[staff_user-200].json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Material treatment option where wind. Other end reality against agree.\nIf serve nothing lose. Computer add risk media hit fine. Test dinner kind hospital safe just own.\nYourself heavy long clearly direction money know. Campaign source understand modern everybody design continue. Provide drive policy page decade reduce personal popular.\nChair account rich key site hand. Window education audience information nature edge agent. Much exactly wall report.", - "name": "1604587472_11_lead", - "public_description": "Pull region it court sister day grow. Billion exactly attack imagine.", - "title": "Successful address join memory." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "10", - "post_id": "1f", - "text": "Yard address form fact view him many. Three show which thought billion." - } - }, - "posts": { - "my geat post": { - "id": "1f", - "text": "Win similar music put.", - "title": "Feel Mr begin tend." - } - }, - "users": { - "comment user": { - "username": "01EPCDVMZHJMFA9MTSD3QA3NRJ" - }, - "contributor": { - "username": "01EPCDVBFC808BXDM43QK4JRFK" - }, - "staff_user": { - "username": "01EPCDVERKNH4T0ABBKKPNX2J2" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_get_removed_comment[user-404].json b/factory_data/channels.views.comments_test.test_get_removed_comment[user-404].json deleted file mode 100644 index a044088711..0000000000 --- a/factory_data/channels.views.comments_test.test_get_removed_comment[user-404].json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Moment election goal look response. Listen hope least south break analysis must. Short nation fast fund.\nElection maybe but sense itself. Occur reduce culture from say. Improve thus last be friend whatever star condition.\nMention service perform scene hot. Along this peace question do together today.\nHour security discussion within often.\nWhat difficult seem stage full. Thousand indeed consumer be reach what.", - "name": "1604587453_10_item", - "public_description": "Newspaper meet team enjoy campaign. Budget training sing second.", - "title": "Only cup at very here team senior." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "z", - "post_id": "1e", - "text": "Fast guess keep reach at. Customer production hard two shoulder." - } - }, - "posts": { - "my geat post": { - "id": "1e", - "text": "Magazine thing range difficult. Piece send material off cover. Art tend guess away would.", - "title": "Morning serious true." - } - }, - "users": { - "comment user": { - "username": "01EPCDV204J8NZ5WKDCYRGHH8F" - }, - "contributor": { - "username": "01EPCDTRDD0S27V71Y9KA5HE5T" - }, - "staff_user": { - "username": "01EPCDTVQTKJQMPAX0E9B9QZXB" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_list_comments[False].json b/factory_data/channels.views.comments_test.test_list_comments[False].json deleted file mode 100644 index 264e2d7242..0000000000 --- a/factory_data/channels.views.comments_test.test_list_comments[False].json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Voluptatibus voluptatem ea ullam voluptates dicta explicabo cum. Odio nesciunt quia illum odit animi. A a a odio quasi ex dolorum. Harum impedit ea sapiente nulla doloremque pariatur non.\nAmet optio enim quis saepe. Exercitationem quod excepturi iste quas.\nAliquam quaerat incidunt quis dolore. Nisi ab asperiores rem mollitia voluptate tempore.\nVoluptas amet commodi aliquid inventore. Sit esse et molestiae atque. Veritatis sequi voluptates odio quae.", - "name": "1542381779_veritatis", - "public_description": "Impedit enim similique fugit aliquam.", - "title": "Ea fugiat accusamus repellat odio vitae." - } - }, - "comments": { - "comment-0": { - "children": [], - "comment_id": null, - "id": "83", - "post_id": "bb", - "text": "Quidem temporibus nostrum enim ducimus. Dolorum dignissimos fuga a quaerat. Nihil eos at nam omnis." - }, - "comment-1": { - "children": [], - "comment_id": null, - "id": "87", - "post_id": "bb", - "text": "Ipsum porro perferendis cum repudiandae non. Veniam vitae consectetur dicta fugit." - }, - "comment-nested-0": { - "children": [], - "comment_id": "83", - "id": "84", - "post_id": null, - "text": "Quaerat provident eos molestiae totam corporis nulla. Cum optio distinctio repellendus modi." - }, - "comment-nested-1": { - "children": [], - "comment_id": "83", - "id": "85", - "post_id": null, - "text": "Sed necessitatibus rem voluptates. Fugit fugiat harum laboriosam. Corrupti maxime atque optio." - }, - "comment-nested-2": { - "children": [], - "comment_id": "83", - "id": "86", - "post_id": null, - "text": "Ipsa nobis rem sit enim. Quidem laboriosam similique itaque." - } - }, - "posts": { - "a post with comments": { - "id": "bb", - "text": "Dicta dolor non odit. A et amet iste itaque. Fugit eveniet minima delectus.", - "title": "Tenetur architecto soluta asperiores." - } - }, - "users": { - "contributor": { - "username": "01CWEHWBFY8WG9VEY88E9HSA7M" - }, - "staff_user": { - "username": "01CWEHW86XXTG19Q4R0WZ0MX8E" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_list_comments[True].json b/factory_data/channels.views.comments_test.test_list_comments[True].json deleted file mode 100644 index 071abafd4b..0000000000 --- a/factory_data/channels.views.comments_test.test_list_comments[True].json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Suscipit aperiam molestias debitis delectus. Voluptates ullam sunt voluptatem aliquid voluptatem optio neque. Labore molestiae aut corrupti quis.\nNulla dolor optio fugit quod nisi provident. Impedit quo incidunt at quidem nulla quas. Vero aspernatur beatae alias eligendi magni blanditiis aut magnam.", - "name": "1542381740_quasi", - "public_description": "Nulla delectus repellat totam reprehenderit est facere.", - "title": "Non harum atque ex ratione." - } - }, - "comments": { - "comment-0": { - "children": [], - "comment_id": null, - "id": "7v", - "post_id": "ba", - "text": "Ab officia animi ut occaecati praesentium. Soluta eos recusandae sapiente repellendus qui." - }, - "comment-1": { - "children": [], - "comment_id": null, - "id": "7z", - "post_id": "ba", - "text": "Minus blanditiis tempore aut facere voluptates vero. Sint ex nobis quas veniam." - }, - "comment-nested-0": { - "children": [], - "comment_id": "7v", - "id": "7w", - "post_id": null, - "text": "Numquam earum nobis amet aspernatur nesciunt voluptas cum. Voluptas animi enim commodi odit." - }, - "comment-nested-1": { - "children": [], - "comment_id": "7v", - "id": "7x", - "post_id": null, - "text": "Ea explicabo expedita dicta eligendi. Hic eveniet vel nihil culpa qui occaecati." - }, - "comment-nested-2": { - "children": [], - "comment_id": "7v", - "id": "7y", - "post_id": null, - "text": "Sit quisquam ratione blanditiis blanditiis adipisci assumenda et. Quo molestiae esse voluptatibus." - } - }, - "posts": { - "a post with comments": { - "id": "ba", - "text": "Expedita ea esse magni ipsam praesentium vero. Mollitia dolor veniam amet sequi a corporis.", - "title": "Eos modi soluta tempore iusto." - } - }, - "users": { - "contributor": { - "username": "01CWEHV5MM5Y1TMX3FRXW9PEJF" - }, - "staff_user": { - "username": "01CWEHV2B6D15J5D54AVX9FNB3" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_list_comments_anonymous.json b/factory_data/channels.views.comments_test.test_list_comments_anonymous.json deleted file mode 100644 index 56588cfbd4..0000000000 --- a/factory_data/channels.views.comments_test.test_list_comments_anonymous.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Et voluptas praesentium a officia. Officia earum aut deserunt exercitationem possimus eum veniam. Atque facilis blanditiis numquam dignissimos voluptates. Aliquid maxime quam delectus tempore.\nQuisquam suscipit aperiam nesciunt sequi ea adipisci at. Itaque vitae aut saepe necessitatibus. Occaecati dolorum fuga assumenda occaecati harum et aliquam.", - "name": "1535132937_in", - "public_description": "Accusantium hic temporibus ex saepe. Ex consequatur saepe illum aspernatur.", - "title": "Molestias temporibus laborum rerum." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "3", - "post_id": "5", - "text": "Velit officia nostrum quis error. Totam fugiat odit harum culpa." - } - }, - "posts": { - "a post with comments": { - "id": "5", - "text": "Modi corrupti aliquam quibusdam nostrum id harum nisi. Voluptatem rem adipisci autem.", - "title": "Sed quas necessitatibus distinctio aliquam." - } - }, - "users": { - "staff_user": { - "username": "01CNPGV86QAH0JQVFXX7R50YHD" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_list_comments_forbidden.json b/factory_data/channels.views.comments_test.test_list_comments_forbidden.json deleted file mode 100644 index 8d9621585e..0000000000 --- a/factory_data/channels.views.comments_test.test_list_comments_forbidden.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Ut nesciunt totam facilis iure deserunt consequuntur. Maxime sint delectus repudiandae dolor alias placeat. Recusandae explicabo distinctio dolor labore ea.\nRem pariatur temporibus nemo neque placeat. Facere dignissimos et veritatis.\nUnde nisi assumenda aut ducimus unde non ipsum. Ea repudiandae reprehenderit magni. Ullam voluptatibus placeat aspernatur a temporibus autem facilis. Nihil corporis quae corporis voluptatem libero.", - "name": "1542381815_molestiae", - "public_description": "Minima eveniet mollitia vel eos.", - "title": "Voluptas tempore reiciendis officia." - } - }, - "posts": { - "one post": { - "id": "bc", - "text": "Nesciunt fugit velit explicabo. Est tenetur exercitationem ipsam deleniti facere.", - "title": "Totam ad dolorem ex perspiciatis quis officiis." - } - }, - "users": { - "contributor": { - "username": "01CWEHXMTZB34JB7G773JZ98EB" - }, - "staff_user": { - "username": "01CWEHXEHDBJAWFBH478SCF729" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_list_comments_none.json b/factory_data/channels.views.comments_test.test_list_comments_none.json deleted file mode 100644 index 06fe318cb2..0000000000 --- a/factory_data/channels.views.comments_test.test_list_comments_none.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Cum optio totam numquam sed quasi est. Aspernatur minus hic debitis dolor fugit.\nSed consectetur aspernatur excepturi a cum tempora. Facere repellendus in assumenda neque necessitatibus mollitia cupiditate. Natus consectetur molestias nisi harum sunt.\nAb rerum reiciendis neque impedit magnam reiciendis. Ad in voluptas quasi blanditiis consequatur ut.", - "name": "1535132963_officiis", - "public_description": "Rem beatae reprehenderit et dicta. Nulla error aspernatur voluptatibus excepturi.", - "title": "Ab repellat itaque est cumque illum." - } - }, - "posts": { - "one post": { - "id": "7", - "text": "Fuga aperiam minus eos natus. Cum nulla ut corrupti nostrum eum. Earum itaque dolorem eum.", - "title": "Hic ducimus vel est officia." - } - }, - "users": { - "contributor": { - "username": "01CNPGW7ZG13PANK53NT2TVXX2" - }, - "staff_user": { - "username": "01CNPGW1MRQFGFE0SM9Y51E7HT" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_list_comments_not_found.json b/factory_data/channels.views.comments_test.test_list_comments_not_found.json deleted file mode 100644 index 474f62a5e3..0000000000 --- a/factory_data/channels.views.comments_test.test_list_comments_not_found.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "contributor": { - "username": "01CVAZW09EY8TQG0RVK2EB5HC0" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_more_comments_anonymous.json b/factory_data/channels.views.comments_test.test_more_comments_anonymous.json deleted file mode 100644 index e7b59685f0..0000000000 --- a/factory_data/channels.views.comments_test.test_more_comments_anonymous.json +++ /dev/null @@ -1,382 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Aut debitis delectus et ea consequatur. Exercitationem commodi nam nam nobis maiores totam odit. Eaque rem accusamus consectetur iusto sed asperiores. Ipsum inventore ullam reiciendis aut voluptatum.\nLabore sint rerum magni et. Officia nemo doloremque autem voluptates. Velit aut assumenda quas accusantium numquam rem. Quisquam fuga rem sit excepturi fugit dolor molestias.", - "name": "1535132977_occaecati", - "public_description": "Quia aperiam libero quibusdam. Ipsum quidem accusantium eum. Eos maxime amet quis quas.", - "title": "Architecto fugiat accusamus excepturi ipsum." - } - }, - "comments": { - "comment0": { - "children": [], - "comment_id": null, - "id": "5", - "post_id": "8", - "text": "Neque excepturi eius possimus. Voluptas cupiditate qui ad rem voluptate." - }, - "comment1": { - "children": [], - "comment_id": null, - "id": "6", - "post_id": "8", - "text": "Veniam accusantium incidunt explicabo explicabo. Recusandae magni inventore iure illo dolore." - }, - "comment10": { - "children": [], - "comment_id": null, - "id": "f", - "post_id": "8", - "text": "Vero vero veritatis debitis omnis molestias. Nihil rem beatae ut quo quas consequatur." - }, - "comment11": { - "children": [], - "comment_id": null, - "id": "g", - "post_id": "8", - "text": "Nulla fugit voluptas minus fugit veritatis. Ex fugit amet cum porro. Ullam commodi eum inventore." - }, - "comment12": { - "children": [], - "comment_id": null, - "id": "h", - "post_id": "8", - "text": "Aliquid perspiciatis quod quia. A aliquid natus odio totam neque quibusdam." - }, - "comment13": { - "children": [], - "comment_id": null, - "id": "i", - "post_id": "8", - "text": "Sint culpa quis atque. Odit temporibus quas laborum reprehenderit." - }, - "comment14": { - "children": [], - "comment_id": null, - "id": "j", - "post_id": "8", - "text": "Voluptatum iure sit sed quibusdam debitis dolor. Excepturi eum aliquid eaque ex saepe assumenda." - }, - "comment15": { - "children": [], - "comment_id": null, - "id": "k", - "post_id": "8", - "text": "Accusantium occaecati laudantium maxime quisquam vero. Quas harum sed officia soluta dolorum." - }, - "comment16": { - "children": [], - "comment_id": null, - "id": "l", - "post_id": "8", - "text": "Voluptas quaerat debitis qui. Dolorum cupiditate debitis exercitationem sint." - }, - "comment17": { - "children": [], - "comment_id": null, - "id": "m", - "post_id": "8", - "text": "Vel asperiores magnam neque laudantium. Odit praesentium delectus nesciunt debitis ipsum." - }, - "comment18": { - "children": [], - "comment_id": null, - "id": "n", - "post_id": "8", - "text": "Beatae nisi doloribus quisquam et. Et odit iusto exercitationem ab." - }, - "comment19": { - "children": [], - "comment_id": null, - "id": "o", - "post_id": "8", - "text": "Doloremque velit porro nemo. Aspernatur cum ea corporis libero quos." - }, - "comment2": { - "children": [], - "comment_id": null, - "id": "7", - "post_id": "8", - "text": "Eum nihil quod nisi placeat molestiae. Vitae ab similique incidunt deserunt sed." - }, - "comment20": { - "children": [], - "comment_id": null, - "id": "p", - "post_id": "8", - "text": "In alias neque vero eligendi et quidem. Enim suscipit maiores quibusdam adipisci iste dolorum." - }, - "comment21": { - "children": [], - "comment_id": null, - "id": "q", - "post_id": "8", - "text": "Amet vero beatae soluta debitis id. Quia corporis aut dolor quod." - }, - "comment22": { - "children": [], - "comment_id": null, - "id": "r", - "post_id": "8", - "text": "Ipsum iste doloribus ipsum. Impedit possimus cupiditate expedita velit odit rem est." - }, - "comment23": { - "children": [], - "comment_id": null, - "id": "s", - "post_id": "8", - "text": "Hic assumenda ullam veniam nobis. Necessitatibus earum incidunt nihil accusamus." - }, - "comment24": { - "children": [], - "comment_id": null, - "id": "t", - "post_id": "8", - "text": "Harum dolores perspiciatis sunt ea. Cum in porro illo suscipit." - }, - "comment25": { - "children": [], - "comment_id": null, - "id": "u", - "post_id": "8", - "text": "Hic numquam voluptatem quae atque pariatur. Exercitationem culpa maiores quos ullam maxime et." - }, - "comment26": { - "children": [], - "comment_id": null, - "id": "v", - "post_id": "8", - "text": "Laudantium blanditiis vel veniam aperiam quod velit. Tempore dolor perferendis sunt." - }, - "comment27": { - "children": [], - "comment_id": null, - "id": "w", - "post_id": "8", - "text": "Molestiae delectus ratione consectetur porro. Quis reiciendis qui id odio dolorem facilis." - }, - "comment28": { - "children": [], - "comment_id": null, - "id": "x", - "post_id": "8", - "text": "Dignissimos a delectus consectetur officiis. Placeat doloremque possimus nihil ipsum." - }, - "comment29": { - "children": [], - "comment_id": null, - "id": "y", - "post_id": "8", - "text": "Quo at reiciendis atque ipsum recusandae reiciendis labore. Tempore expedita exercitationem sint." - }, - "comment3": { - "children": [], - "comment_id": null, - "id": "8", - "post_id": "8", - "text": "Quas quae dolores occaecati magnam sunt nemo illo. Ab inventore quis itaque deleniti nihil." - }, - "comment30": { - "children": [], - "comment_id": null, - "id": "z", - "post_id": "8", - "text": "Reiciendis quis rerum qui perferendis. Esse quasi omnis itaque architecto quis voluptas doloremque." - }, - "comment31": { - "children": [], - "comment_id": null, - "id": "10", - "post_id": "8", - "text": "Officiis possimus corporis dolores a. Officiis expedita labore illo nisi autem." - }, - "comment32": { - "children": [], - "comment_id": null, - "id": "11", - "post_id": "8", - "text": "Hic exercitationem quaerat eaque corrupti ad. Nihil veniam veniam voluptate dolore deleniti." - }, - "comment33": { - "children": [], - "comment_id": null, - "id": "12", - "post_id": "8", - "text": "Dolorum mollitia assumenda enim optio error. Fugit neque libero itaque neque illo." - }, - "comment34": { - "children": [], - "comment_id": null, - "id": "13", - "post_id": "8", - "text": "Voluptate voluptatum ratione dolorem iusto placeat. Hic illo tenetur porro totam praesentium." - }, - "comment35": { - "children": [], - "comment_id": null, - "id": "14", - "post_id": "8", - "text": "Ratione minima ipsa praesentium dolor adipisci. Aut modi eveniet minus maiores dolor est corrupti." - }, - "comment36": { - "children": [], - "comment_id": null, - "id": "15", - "post_id": "8", - "text": "Repellat sapiente dolor vero eius mollitia. Maxime sed unde id distinctio." - }, - "comment37": { - "children": [], - "comment_id": null, - "id": "16", - "post_id": "8", - "text": "Recusandae ex provident vitae. Possimus sit et reiciendis officiis et. Porro id ratione quaerat." - }, - "comment38": { - "children": [], - "comment_id": null, - "id": "17", - "post_id": "8", - "text": "Praesentium quidem est quis. Quo enim reprehenderit deserunt recusandae." - }, - "comment39": { - "children": [], - "comment_id": null, - "id": "18", - "post_id": "8", - "text": "Vel eius facilis temporibus quaerat dolores. Corrupti voluptas a unde at fugiat debitis." - }, - "comment4": { - "children": [], - "comment_id": null, - "id": "9", - "post_id": "8", - "text": "Repudiandae neque est est delectus quod. Iure doloremque eveniet quia magnam eligendi consequuntur." - }, - "comment40": { - "children": [], - "comment_id": null, - "id": "19", - "post_id": "8", - "text": "Quas deleniti iusto eum recusandae impedit. Veritatis vero illo excepturi laboriosam cum unde." - }, - "comment41": { - "children": [], - "comment_id": null, - "id": "1a", - "post_id": "8", - "text": "Doloremque placeat quia laborum saepe doloribus. Assumenda distinctio corrupti voluptates velit." - }, - "comment42": { - "children": [], - "comment_id": null, - "id": "1b", - "post_id": "8", - "text": "Recusandae iure cumque itaque in nulla quidem. Laboriosam eos omnis similique." - }, - "comment43": { - "children": [], - "comment_id": null, - "id": "1c", - "post_id": "8", - "text": "Ullam modi possimus dolore esse unde quod. Numquam ut quia atque libero." - }, - "comment44": { - "children": [], - "comment_id": null, - "id": "1d", - "post_id": "8", - "text": "A provident incidunt qui. Optio aperiam amet nostrum assumenda rerum corrupti." - }, - "comment45": { - "children": [], - "comment_id": null, - "id": "1e", - "post_id": "8", - "text": "Molestiae fugit voluptatum dolorum fugit. Reiciendis nam beatae saepe quia." - }, - "comment46": { - "children": [], - "comment_id": null, - "id": "1f", - "post_id": "8", - "text": "Facere odit alias molestiae maiores odio. Nam distinctio culpa iure harum architecto cumque." - }, - "comment47": { - "children": [], - "comment_id": null, - "id": "1g", - "post_id": "8", - "text": "Rerum quasi consequatur veritatis quas vel aliquam. Saepe omnis velit natus atque quisquam." - }, - "comment48": { - "children": [], - "comment_id": null, - "id": "1h", - "post_id": "8", - "text": "Illo animi minus fugit. Reprehenderit est hic pariatur facilis delectus." - }, - "comment49": { - "children": [], - "comment_id": null, - "id": "1i", - "post_id": "8", - "text": "Harum deleniti est earum vitae placeat. Aspernatur velit beatae quae odio." - }, - "comment5": { - "children": [], - "comment_id": null, - "id": "a", - "post_id": "8", - "text": "Harum eveniet dolores nisi et iusto. Vitae minus unde omnis reprehenderit deserunt." - }, - "comment50": { - "children": [], - "comment_id": null, - "id": "1j", - "post_id": "8", - "text": "Alias at excepturi sequi labore fuga. Sit sit excepturi pariatur omnis deserunt at." - }, - "comment6": { - "children": [], - "comment_id": null, - "id": "b", - "post_id": "8", - "text": "Vel voluptas eaque tempora dolores illum rerum ullam. Dignissimos error quasi quibusdam." - }, - "comment7": { - "children": [], - "comment_id": null, - "id": "c", - "post_id": "8", - "text": "Ut laborum at ipsam. Neque perferendis veniam cupiditate hic numquam." - }, - "comment8": { - "children": [], - "comment_id": null, - "id": "d", - "post_id": "8", - "text": "Quos molestiae molestias iure ad tempora quos. Molestias veritatis vero atque sed." - }, - "comment9": { - "children": [], - "comment_id": null, - "id": "e", - "post_id": "8", - "text": "Et ut fuga dolor. Incidunt fugiat ipsam ullam unde ad distinctio." - } - }, - "posts": { - "a post with comments": { - "id": "8", - "text": "Delectus quasi eum occaecati sequi possimus ad. Repellat dolorum illo earum cumque aliquam.", - "title": "Quibusdam beatae cum fugit sint." - } - }, - "users": { - "staff_user": { - "username": "01CNPGWEX7DXFPRTZ6R0DDG1NP" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_update_comment_approve.json b/factory_data/channels.views.comments_test.test_update_comment_approve.json deleted file mode 100644 index 5cc4f2bc72..0000000000 --- a/factory_data/channels.views.comments_test.test_update_comment_approve.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Rule other evidence her develop usually. Employee wish avoid listen.\nGuess whose idea TV authority various. Similar determine final task quality.\nMeet detail employee front part. Education gas final stand bag Republican director. Strong learn or pick.\nMemory perform green half. Shoulder detail father any evening many. Civil walk hard whom tell.\nEnd great expect debate career record military. Relate behavior culture. Good perhaps career term adult.", - "name": "1595973345_15_sea", - "public_description": "Activity weight for like opportunity some. Agree glass which particular apply.", - "title": "Smile team prepare artist painting listen course." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "27", - "post_id": "q", - "text": "Study relationship participant. Debate explain member month notice." - } - }, - "posts": { - "post": { - "id": "q", - "text": "Ahead college after year education. Kitchen trouble thus game crime including name character.", - "title": "Determine degree executive your and." - } - }, - "users": { - "contributor": { - "username": "01EEBPSBFKX89WECXVM27SER5T" - }, - "staff_user": { - "username": "01EEBPS54NN9T7CSHTJ4J72Y9V" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_update_comment_clear_downvote.json b/factory_data/channels.views.comments_test.test_update_comment_clear_downvote.json deleted file mode 100644 index 162a080b69..0000000000 --- a/factory_data/channels.views.comments_test.test_update_comment_clear_downvote.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "contributor": { - "username": "01EEBPRH9CBWSSVV0N2FNAKGVE" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_update_comment_clear_upvote.json b/factory_data/channels.views.comments_test.test_update_comment_clear_upvote.json deleted file mode 100644 index 74288cdc34..0000000000 --- a/factory_data/channels.views.comments_test.test_update_comment_clear_upvote.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "contributor": { - "username": "01EEBPRDRPKMWN6AZATW4C57HT" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_update_comment_downvote.json b/factory_data/channels.views.comments_test.test_update_comment_downvote.json deleted file mode 100644 index d3daf86b95..0000000000 --- a/factory_data/channels.views.comments_test.test_update_comment_downvote.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "contributor": { - "username": "01EEBPRA7M2V8PCY0VM1REBXFT" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_update_comment_forbidden.json b/factory_data/channels.views.comments_test.test_update_comment_forbidden.json deleted file mode 100644 index fe7fbc7eb2..0000000000 --- a/factory_data/channels.views.comments_test.test_update_comment_forbidden.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "contributor": { - "username": "01EEBPR391T74XHPS9VD1GQG8D" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_update_comment_ignore_reports.json b/factory_data/channels.views.comments_test.test_update_comment_ignore_reports.json deleted file mode 100644 index e506c07e60..0000000000 --- a/factory_data/channels.views.comments_test.test_update_comment_ignore_reports.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Public movie street. At account citizen movement me natural.\nChair anything everyone all heavy for. Positive so leader candidate all probably anyone.\nYou character project each style. Example unit who media politics issue. Work understand stop town receive join effort could. Some do vote.\nTeam camera commercial tree draw century. Change Mr need apply.\nResource as task for type. State west amount war accept. Like pay read area choose charge company.", - "name": "1595973362_16_service", - "public_description": "Commercial strategy those almost. Eight national reality practice area nothing.", - "title": "Involve protect necessary win cut cell both." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "28", - "post_id": "r", - "text": "Goal bag trade clear quality address him. Energy be space technology entire." - } - }, - "posts": { - "post": { - "id": "r", - "text": "Lead then item such after less travel. Step natural environmental yeah.", - "title": "Can local suddenly nation investment drive chair." - } - }, - "users": { - "contributor": { - "username": "01EEBPSVQ6EQJKHDD7K8F9R8EX" - }, - "staff_user": { - "username": "01EEBPSN7RGDP90YH3B7ND28XG" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_update_comment_ignore_reports_forbidden.json b/factory_data/channels.views.comments_test.test_update_comment_ignore_reports_forbidden.json deleted file mode 100644 index 518fe4388a..0000000000 --- a/factory_data/channels.views.comments_test.test_update_comment_ignore_reports_forbidden.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "School suddenly ahead wife someone front stock. Answer hot lot hold decade.\nAnother issue benefit assume. Worker young interest night. Tend charge worker her front.\nPossible nice my style visit next.\nToward stock black teacher entire identify today. Hotel while fine country get per report.\nHot information beautiful career between. Save air left section method big. Sea late along wife third first much.\nThen final into option dark edge blue. Specific quite social experience out kid apply.", - "name": "1595973382_17_deep", - "public_description": "Theory administration value everyone final purpose prove.", - "title": "Clearly throw factor new." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "29", - "post_id": "s", - "text": "Think plan fish trip best phone. Recently until garden yeah easy growth." - } - }, - "posts": { - "post": { - "id": "s", - "text": "Left poor baby official throughout. Stuff life place top return.", - "title": "Interesting stage general scene." - } - }, - "users": { - "contributor": { - "username": "01EEBPT5E25KFJDGM216124PJP" - }, - "staff_user": { - "username": "01EEBPT8QDXEYY24C71BK7KPXJ" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_update_comment_remove.json b/factory_data/channels.views.comments_test.test_update_comment_remove.json deleted file mode 100644 index 9e4800f3b1..0000000000 --- a/factory_data/channels.views.comments_test.test_update_comment_remove.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Success role either project wide. At firm night letter. Class music sell.\nAfter table surface serve likely. Two material material. Reality technology show many best agent.\nHard miss door project the white support. Be lay commercial its news onto charge. Understand recently example believe. Room be thank loss natural paper.\nStructure fight seat condition. Hit impact build side tell.\nFish focus toward movement cultural. Wind join economy. Son ground stand radio trouble also.", - "name": "1595973329_14_environ", - "public_description": "Page wrong police behavior discussion only town.", - "title": "Poor yourself course. Main hand politics." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "26", - "post_id": "p", - "text": "Never tonight operation member. Half writer single building go ahead. Him sound few dream class." - } - }, - "posts": { - "post": { - "id": "p", - "text": "Pull consider up firm house cell. Theory college daughter feel.", - "title": "Share work change stop." - } - }, - "users": { - "contributor": { - "username": "01EEBPRV84XY6E1R34XY20EQJY" - }, - "staff_user": { - "username": "01EEBPRMTYJ6QA9V5GBJ7BECB5" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_update_comment_subscribe.json b/factory_data/channels.views.comments_test.test_update_comment_subscribe.json deleted file mode 100644 index 1430810333..0000000000 --- a/factory_data/channels.views.comments_test.test_update_comment_subscribe.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Agreement participant less cut about appear teacher. Final thing without open school. Trouble poor produce new than responsibility professional.\nThen hope put stage guy now. Bill affect him back choice perform. Baby tree role assume.\nView who source term draw.\nDirection health prove population great air onto. Site become happen gas. Prevent score nearly set maybe range doctor.\nBorn high easy relationship debate strategy system. Study effect add.", - "name": "1595973398_18_force", - "public_description": "North particularly significant floor training.", - "title": "Key door each scene raise much." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "2a", - "post_id": "t", - "text": "Likely agree where daughter. Lay over woman station believe song safe particular." - } - }, - "posts": { - "post": { - "id": "t", - "text": "Culture accept and total. Case laugh top indeed surface class help physical.", - "title": "Address already sense key member." - } - }, - "users": { - "contributor": { - "username": "01EEBPTYX1XJZACSCAVPPN19JY" - }, - "staff_user": { - "username": "01EEBPTRFENAMVB3H5AHTA4SW5" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_update_comment_text.json b/factory_data/channels.views.comments_test.test_update_comment_text.json deleted file mode 100644 index 46dabb5dd6..0000000000 --- a/factory_data/channels.views.comments_test.test_update_comment_text.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Enjoy consumer life building. Or himself sign hair. Lay forward eight politics.\nPublic commercial decade dark. Arm exist today carry. Fall sit point explain east available. Discuss particular world ahead remain listen.\nSee here operation them. Religious raise official relate oil power heart. Though order defense suddenly who.\nUntil blood sure floor. Future those which within could help scientist. Nice which member star exist consumer. Summer effect tough compare Democrat less.", - "name": "1595974046_14_save", - "public_description": "Already simply no pay find avoid buy. Public identify provide kitchen.", - "title": "Water do other." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "2c", - "post_id": "v", - "text": "Also determine ever radio wife reason land." - } - }, - "posts": { - "my geat post": { - "id": "v", - "text": "Television member a. Edge them so well dream. Though magazine development while general large.", - "title": "Drop on coach under." - } - }, - "users": { - "contributor": { - "username": "01EEBQEE8X64Q74GMJFNXYEQJJ" - }, - "staff_user": { - "username": "01EEBQEHJRET0S3J9ZQMEZWXHF" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_update_comment_text_moderator.json b/factory_data/channels.views.comments_test.test_update_comment_text_moderator.json deleted file mode 100644 index 435fe9e0eb..0000000000 --- a/factory_data/channels.views.comments_test.test_update_comment_text_moderator.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Remember really leave. Act remain every break whole with. Specific Mr actually community produce approach.\nPretty catch himself staff necessary adult forget. Ok show wish. Performance travel notice discuss step hospital goal.\nTrial right change pick certainly decade paper again. Whatever worry lose Democrat his budget. Yes artist his age whole idea meeting. Nor talk win especially.\nHuge weight or teach both. Rate evening could especially reveal.", - "name": "1595979688_16_what", - "public_description": "Suffer artist eight learn.", - "title": "Purpose her expect oil." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "2f", - "post_id": "1a", - "text": "What animal threat read relationship director. Measure left enjoy summer." - } - }, - "posts": { - "my geat post": { - "id": "1a", - "text": "Quite thus right reach law visit. Case important fire boy hit.", - "title": "Family challenge old." - } - }, - "users": { - "contributor": { - "username": "01EEBWTMJA2K42Y2PY57W6PW4R" - }, - "staff_user": { - "username": "01EEBWTQRY4357W2RNY3G258HH" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_update_comment_unsubscribe.json b/factory_data/channels.views.comments_test.test_update_comment_unsubscribe.json deleted file mode 100644 index 475fa1d581..0000000000 --- a/factory_data/channels.views.comments_test.test_update_comment_unsubscribe.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Explain thought pressure admit.\nBreak around purpose say indicate series culture.\nElse certainly actually yet fine section. Others newspaper general nation. Treat morning old rule whether.\nOrder shoulder computer. Hour billion increase simply hair.\nCut happen discover one imagine leave lawyer floor. Wall reason speak arrive past land over. The peace enjoy including.\nIdea land church soldier table focus. Tell red oil. They quality it although spend. Often just statement process position.", - "name": "1595973414_19_stateme", - "public_description": "Spend remember important customer heavy garden forget. Choice man customer.", - "title": "See important thus hard power capital knowledge." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "2b", - "post_id": "u", - "text": "Exist cup we fire step name father common. Worker wall great skin pretty away." - } - }, - "posts": { - "post": { - "id": "u", - "text": "Likely worker source between already author add democratic. Appear well gas.", - "title": "Sort speak write affect gun story." - } - }, - "users": { - "contributor": { - "username": "01EEBPVF1SXSB6FNRZECP1FFN5" - }, - "staff_user": { - "username": "01EEBPV8JXGJ2GQSMGWJG2C3M4" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.comments_test.test_update_comment_upvote.json b/factory_data/channels.views.comments_test.test_update_comment_upvote.json deleted file mode 100644 index 117378de12..0000000000 --- a/factory_data/channels.views.comments_test.test_update_comment_upvote.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "contributor": { - "username": "01EEBPR6PEMKGKKDABJHYTK47W" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.contributors_test.test_add_contributor.json b/factory_data/channels.views.contributors_test.test_add_contributor.json deleted file mode 100644 index 46867effa5..0000000000 --- a/factory_data/channels.views.contributors_test.test_add_contributor.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "staff_user": { - "username": "01BYXNKVXTEW4Z9CCZ2Z2FGVKB" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.contributors_test.test_add_contributor[1].json b/factory_data/channels.views.contributors_test.test_add_contributor[1].json deleted file mode 100644 index 024516236f..0000000000 --- a/factory_data/channels.views.contributors_test.test_add_contributor[1].json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Iste corrupti suscipit incidunt saepe. Voluptatem voluptatum similique aspernatur eos molestias et deserunt. Quas quae eum deserunt fugiat.\nDistinctio omnis ab cupiditate blanditiis nostrum nesciunt consectetur eveniet. Molestias saepe omnis voluptas. Tempore debitis enim dolorem harum facilis aliquid dignissimos.\nFugit quisquam eaque rerum expedita autem. Voluptate deleniti corporis nam vitae dolor quia voluptates. Dignissimos doloremque omnis facilis numquam iste provident.", - "name": "1542205969_doloribus", - "public_description": "Eligendi repellendus voluptatem quam optio quos.", - "title": "Sint repellendus illum ab eaque illo." - } - }, - "users": { - "contributor": { - "username": "01CW9A71D7HRA4C01VRBV6EVAQ" - }, - "staff_user": { - "username": "01CW9A6Y54BDRDBAGR2C7CHTSD" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.contributors_test.test_add_contributor[2].json b/factory_data/channels.views.contributors_test.test_add_contributor[2].json deleted file mode 100644 index a4a31b677c..0000000000 --- a/factory_data/channels.views.contributors_test.test_add_contributor[2].json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Iure earum nemo facilis fugit. Harum veniam delectus perspiciatis dolorem expedita tenetur dicta. Voluptas sapiente ipsum delectus mollitia eveniet dolor.\nUt cum nam a expedita qui recusandae. Quidem a ullam eius iusto aut pariatur dolores. Doloribus quidem eveniet temporibus quos. Ducimus tenetur vel modi.", - "name": "1542205979_tempore", - "public_description": "Autem ab asperiores quibusdam architecto deserunt ratione.", - "title": "Deserunt sapiente id dolor." - } - }, - "users": { - "contributor": { - "username": "01CW9A7B5BJ5KVKSWAZ04V7BX6" - }, - "staff_user": { - "username": "01CW9A77XFWJ2G85H2DX4QB94V" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.contributors_test.test_add_contributor_again.json b/factory_data/channels.views.contributors_test.test_add_contributor_again.json deleted file mode 100644 index ff11075ac3..0000000000 --- a/factory_data/channels.views.contributors_test.test_add_contributor_again.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "staff_user": { - "username": "01BYXNKVYT658QG36A03FC5SFC" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.contributors_test.test_add_contributor_email.json b/factory_data/channels.views.contributors_test.test_add_contributor_email.json deleted file mode 100644 index 089b34ac37..0000000000 --- a/factory_data/channels.views.contributors_test.test_add_contributor_email.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Sapiente esse possimus praesentium excepturi asperiores enim. Accusantium itaque pariatur illum placeat possimus inventore error veniam.\nQuae minus fuga harum iure atque vel pariatur. Nihil eos itaque provident repellendus exercitationem quasi. Quidem nostrum saepe cupiditate.", - "name": "1535133491_sed", - "public_description": "Aliquid natus cumque excepturi a rerum eaque ab ab. Accusantium neque libero neque quis.", - "title": "Corrupti non molestias modi ad voluptatibus nemo." - } - }, - "users": { - "mod_user1": { - "username": "01CNPHCBHW4CPXYVW6Y73VJVDF" - }, - "new_mod_user": { - "username": "01CNPHCEVAXJWRATHGAFKV44HB" - }, - "staff_user": { - "username": "01CNPHC571JTNT3MMFD9WHKSMT" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.contributors_test.test_list_contributors.json b/factory_data/channels.views.contributors_test.test_list_contributors.json deleted file mode 100644 index cb014dbe7d..0000000000 --- a/factory_data/channels.views.contributors_test.test_list_contributors.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Magnam dolore corporis dignissimos labore. Asperiores quidem facilis ipsa totam veritatis. Totam inventore quidem quisquam perferendis laudantium.\nPerspiciatis atque id quibusdam quam. Itaque mollitia eveniet debitis fugit rerum quia. Temporibus alias modi pariatur quod eaque.\nSequi eveniet fugit ab velit quaerat. Voluptates quidem corporis consequatur reprehenderit dolorem. Totam atque praesentium perferendis adipisci.", - "name": "1535133481_necessitat", - "public_description": "Consectetur vel veniam dolor veritatis enim quidem dolor. Omnis at aliquam enim asperiores.", - "title": "Veniam quod minus expedita." - } - }, - "users": { - "contributor": { - "username": "01CNPHC1RCECE85P0CSAQQ5ZV9" - }, - "staff_user": { - "username": "01CNPHBV9935NG71CDT6K30BVZ" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.contributors_test.test_remove_contributor.json b/factory_data/channels.views.contributors_test.test_remove_contributor.json deleted file mode 100644 index 94ba2905c7..0000000000 --- a/factory_data/channels.views.contributors_test.test_remove_contributor.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "staff_user": { - "username": "01BYXNKWC3N60W873Y5EJSYH6S" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.contributors_test.test_remove_contributor[1].json b/factory_data/channels.views.contributors_test.test_remove_contributor[1].json deleted file mode 100644 index ad3354a20a..0000000000 --- a/factory_data/channels.views.contributors_test.test_remove_contributor[1].json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Accusantium laborum nemo maxime praesentium provident natus eos. Perferendis atque cum totam odit cumque doloribus asperiores. Praesentium optio iusto cum maiores minus assumenda similique exercitationem.\nEius molestiae unde error dicta labore sit. Repellat id asperiores sapiente repellendus tenetur vitae dicta. Assumenda ad aperiam fuga incidunt dicta excepturi.", - "name": "1542150374_saepe", - "public_description": "Error exercitationem commodi perferendis sed.", - "title": "Et fugiat voluptatibus nihil eveniet." - } - }, - "users": { - "contributor": { - "username": "01CW7N6MMP3NRD48075TK1R5B2" - }, - "staff_user": { - "username": "01CW7N6E7PGH3NM2DFTARJ9HHH" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.contributors_test.test_remove_contributor[2].json b/factory_data/channels.views.contributors_test.test_remove_contributor[2].json deleted file mode 100644 index 416df0b9f1..0000000000 --- a/factory_data/channels.views.contributors_test.test_remove_contributor[2].json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Accusantium eligendi odit deleniti eum fugiat. Porro iste nostrum maxime consequuntur culpa non accusantium. Odio quisquam occaecati alias itaque odio velit nostrum. Fugiat distinctio veniam assumenda enim cumque aperiam.\nIncidunt distinctio fuga modi officia molestiae nemo maxime. Temporibus nam illum asperiores error tempore voluptatum hic quasi.", - "name": "1542150385_dolores", - "public_description": "Temporibus libero minus maxime eum. Perferendis hic nam minus quidem deleniti.", - "title": "Vel aspernatur necessitatibus non quisquam." - } - }, - "users": { - "contributor": { - "username": "01CW7N6YFY85QG1CAPG1DKSQKD" - }, - "staff_user": { - "username": "01CW7N6R64NSADVXQ7Y4F6WEC8" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.contributors_test.test_remove_contributor_again.json b/factory_data/channels.views.contributors_test.test_remove_contributor_again.json deleted file mode 100644 index c690216df3..0000000000 --- a/factory_data/channels.views.contributors_test.test_remove_contributor_again.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "staff_user": { - "username": "01BYXNKWD3PPNG7FSG9J3HKGSE" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.frontpage_test.test_frontpage.json b/factory_data/channels.views.frontpage_test.test_frontpage.json deleted file mode 100644 index 61d65816d1..0000000000 --- a/factory_data/channels.views.frontpage_test.test_frontpage.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Eaque similique soluta in voluptatem. Omnis quis magnam voluptatem. Suscipit temporibus dignissimos nemo debitis error deserunt.\nVoluptates et magnam et similique aliquid neque. Eius quos repudiandae molestias voluptatibus quis.\nQuae minus praesentium ex suscipit. Iusto quasi ducimus ut voluptatibus. Ullam aut voluptas animi voluptatem.", - "name": "1510945793_id", - "public_description": "Modi accusamus fugit est fugiat nam. Quibusdam officiis excepturi facere.", - "title": "Esse inventore tempore quasi accusamus." - } - }, - "posts": { - "my 2nd post": { - "id": "e3", - "text": "Tempore asperiores officia expedita. Repellat doloremque natus quibusdam sit saepe.", - "title": "Vitae id fuga officia iste cumque animi." - }, - "my 3rd post": { - "id": "e4", - "text": "Esse fugiat dignissimos harum iste. Nisi beatae sequi quis aliquam accusamus.", - "title": "Laboriosam harum ad maxime excepturi." - }, - "my 4th post": { - "id": "e5", - "text": "Velit excepturi fuga maxime ullam. Beatae eos itaque ipsam minus quam reprehenderit debitis.", - "title": "Consectetur odio exercitationem consequuntur." - }, - "my post": { - "id": "e2", - "text": "Molestias repellat ad explicabo aliquid debitis. Autem magni nihil eaque at aliquam.", - "title": "Iusto quis reiciendis odit ipsum." - } - }, - "users": { - "contributor": { - "username": "01BZ5P6A0TCMCXZQ0W1ARMF42G" - }, - "staff_user": { - "username": "01BZ5P69ER1167VTVGRW1J8C0B" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.frontpage_test.test_frontpage[False].json b/factory_data/channels.views.frontpage_test.test_frontpage[False].json deleted file mode 100644 index 16908e41b5..0000000000 --- a/factory_data/channels.views.frontpage_test.test_frontpage[False].json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Debitis totam iure sapiente nam. Laboriosam omnis eos voluptate cum consectetur. Iste omnis repellat porro. Suscipit illo in eligendi doloremque id.\nAccusantium doloremque assumenda ratione dolor dolorem autem similique. Vero harum excepturi sed. Ullam beatae occaecati quae totam accusamus maxime. Iure quo unde soluta facere asperiores nam.", - "name": "1542380725_rerum", - "public_description": "Quam aliquid sunt odio repellendus sapiente.", - "title": "Eaque illum velit sint repudiandae." - } - }, - "posts": { - "my 2nd post": { - "id": "8p", - "text": "Dolor quisquam asperiores eveniet porro. Totam vel esse illo ullam hic officia.", - "title": "Culpa excepturi ratione vitae et dolor nam." - }, - "my 3rd post": { - "id": "8q", - "text": "Expedita eligendi odit laborum soluta. Occaecati eius ipsam eveniet sint veritatis.", - "title": "Modi accusantium earum quod expedita deserunt." - }, - "my 4th post": { - "id": "8r", - "text": "Quis iure alias fugiat sed. Deleniti a eos temporibus. Aliquam ipsa deleniti nulla quod.", - "title": "Quisquam quasi aliquam quidem quo beatae sed." - }, - "my post": { - "id": "8o", - "text": "Quam nobis vel quod. Natus optio eius dolores iusto. Velit accusantium explicabo nihil id.", - "title": "Ratione blanditiis quis esse nulla." - } - }, - "users": { - "contributor": { - "username": "01CWEGW30FCW2N1DXAXEQ5HXM9" - }, - "staff_user": { - "username": "01CWEGW6A7PT35WY87AW30CTTY" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.frontpage_test.test_frontpage[True].json b/factory_data/channels.views.frontpage_test.test_frontpage[True].json deleted file mode 100644 index 53784326e6..0000000000 --- a/factory_data/channels.views.frontpage_test.test_frontpage[True].json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Eaque nihil cum tenetur impedit omnis. Asperiores culpa asperiores blanditiis. Quos suscipit ex excepturi fuga nemo et.\nQuasi a sunt dicta eaque minus delectus. Veritatis odit quibusdam earum laboriosam. Hic doloremque distinctio labore unde consectetur debitis. Quos officiis earum beatae nam magnam atque rem.\nAliquam placeat aliquid sint laborum. Iste vero quasi qui vel. Quae dolore sed provident. Officiis dolor beatae dolorem commodi.", - "name": "1542380702_adipisci", - "public_description": "Optio quo qui unde sint ipsam blanditiis.", - "title": "Quasi harum sit inventore esse amet esse." - } - }, - "posts": { - "my 2nd post": { - "id": "8l", - "text": "Eveniet architecto officia veniam suscipit. Officia nulla nostrum eveniet ad voluptatibus deserunt.", - "title": "Quia nulla fugiat reiciendis facere cum ipsum." - }, - "my 3rd post": { - "id": "8m", - "text": "Ratione ipsum voluptatum molestiae consectetur. Repudiandae recusandae dolor eveniet alias.", - "title": "Cupiditate ea vel at dolorem non." - }, - "my 4th post": { - "id": "8n", - "text": "Eligendi ex excepturi suscipit. Harum quisquam alias incidunt libero aspernatur.", - "title": "Nisi voluptatem eius harum ad quibusdam at." - }, - "my post": { - "id": "8k", - "text": "Quibusdam amet magni quibusdam perspiciatis. Perferendis cumque consequatur atque nihil a.", - "title": "Accusamus animi distinctio ducimus eos." - } - }, - "users": { - "contributor": { - "username": "01CWEGVCCTWQ93NX53PF269VQB" - }, - "staff_user": { - "username": "01CWEGVFQGZPFMTPY4SZD0YZNB" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.frontpage_test.test_frontpage_anonymous.json b/factory_data/channels.views.frontpage_test.test_frontpage_anonymous.json deleted file mode 100644 index 7bbea6449b..0000000000 --- a/factory_data/channels.views.frontpage_test.test_frontpage_anonymous.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Ex modi itaque placeat quia. Impedit quasi eos vel voluptates ipsum. Laboriosam quas atque fugit praesentium occaecati eum eveniet laboriosam.\nEnim iusto minima ipsa. Unde molestias ratione fugit aliquid nam. Error quae ipsa recusandae totam quas. Vel consectetur inventore repudiandae aliquam voluptatum corrupti accusantium. Aut ex iste vero similique.", - "name": "1535133621_occaecati", - "public_description": "Nobis dignissimos ipsa aliquid quia repudiandae. Impedit est placeat earum dolorum.", - "title": "Qui sit aut tenetur esse fuga." - } - }, - "users": { - "staff_user": { - "username": "01CNPHG3XBQCJHJ0STDEMWYXDH" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.frontpage_test.test_frontpage_sorted[hot].json b/factory_data/channels.views.frontpage_test.test_frontpage_sorted[hot].json deleted file mode 100644 index 8e2259766c..0000000000 --- a/factory_data/channels.views.frontpage_test.test_frontpage_sorted[hot].json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Id voluptate dicta optio blanditiis enim odit. Nobis optio quas sit ipsam officiis at minima maiores. Voluptatibus tempora quam rerum recusandae modi deserunt reiciendis. Quisquam non doloribus est dolor necessitatibus et.\nOdit molestias praesentium aliquid laudantium. Explicabo magnam odio sequi tempora voluptas maxime.\nA nesciunt ex repudiandae culpa voluptatibus doloribus iste. Ipsa accusamus soluta vel ea atque voluptas molestias. Accusantium eum quod magnam enim magni incidunt id.", - "name": "1542380748_repellat", - "public_description": "Id ratione nulla consectetur. Quis dignissimos ullam optio officia.", - "title": "Laborum odit soluta impedit velit." - } - }, - "posts": { - "my 2nd post": { - "id": "8t", - "text": "Cum quisquam laborum dolor distinctio suscipit adipisci. Quaerat fuga aperiam occaecati fugiat.", - "title": "Voluptatibus aliquid quaerat iure." - }, - "my 3rd post": { - "id": "8u", - "text": "Quia incidunt commodi porro iusto aperiam voluptatum. Cupiditate magni ratione commodi expedita.", - "title": "Harum laborum ducimus magnam." - }, - "my 4th post": { - "id": "8v", - "text": "Est voluptate neque est cumque esse. Mollitia cumque quos molestias at.", - "title": "Quae odit aliquam mollitia." - }, - "my post": { - "id": "8s", - "text": "Corrupti at reprehenderit iste ut. Animi ea odit ea. Suscipit non nemo deleniti delectus illo.", - "title": "Molestiae accusamus sed consequuntur maxime." - } - }, - "users": { - "contributor": { - "username": "01CWEGWSH4J6TFRDYGY2HGGV76" - }, - "staff_user": { - "username": "01CWEGWWS64D5JJQ2PKC2XXV53" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.frontpage_test.test_frontpage_sorted[new].json b/factory_data/channels.views.frontpage_test.test_frontpage_sorted[new].json deleted file mode 100644 index d79e49e386..0000000000 --- a/factory_data/channels.views.frontpage_test.test_frontpage_sorted[new].json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Quia tempora eum sit. Voluptatem porro similique blanditiis recusandae impedit numquam quos. Aperiam at rerum deserunt quos. Illum reprehenderit ea fuga.\nDebitis minus numquam nisi a inventore quod at. Velit quam itaque ipsa tempore cupiditate aperiam temporibus. Voluptas voluptas libero vitae nesciunt iste quibusdam occaecati.\nSuscipit commodi impedit possimus possimus eos totam esse. Cumque sit veniam beatae eaque cum vitae laudantium perferendis. Asperiores ab quaerat laudantium officiis.", - "name": "1542380794_ratione", - "public_description": "Optio recusandae delectus quisquam voluptates blanditiis eius quia sed.", - "title": "Et minus perspiciatis ab pariatur eveniet." - } - }, - "posts": { - "my 2nd post": { - "id": "91", - "text": "Vero libero itaque repellat architecto a cupiditate dolore. Eligendi itaque id impedit eaque.", - "title": "Reprehenderit accusamus pariatur officia libero." - }, - "my 3rd post": { - "id": "92", - "text": "Officia ipsa magnam officiis delectus. Maxime numquam eum sint quam quae quidem ullam id.", - "title": "Corporis sunt id recusandae." - }, - "my 4th post": { - "id": "93", - "text": "Cupiditate sint quisquam ipsa labore. Beatae asperiores odio qui saepe quis provident reiciendis.", - "title": "Sint quibusdam excepturi tempore." - }, - "my post": { - "id": "90", - "text": "Voluptas non consequatur natus labore. Ipsa fugiat animi delectus.", - "title": "Odit ducimus quasi in tempora." - } - }, - "users": { - "contributor": { - "username": "01CWEGY695PYTZ2E6M9M35PEXZ" - }, - "staff_user": { - "username": "01CWEGY9J3G2EVZTT43G9FX4QQ" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.frontpage_test.test_frontpage_sorted[top].json b/factory_data/channels.views.frontpage_test.test_frontpage_sorted[top].json deleted file mode 100644 index d29a8995fd..0000000000 --- a/factory_data/channels.views.frontpage_test.test_frontpage_sorted[top].json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Expedita aspernatur expedita inventore quia blanditiis. Tempore pariatur asperiores alias inventore nobis quae. Accusamus fugiat minima asperiores eum sit.\nQuod blanditiis dignissimos ullam beatae sapiente. Quis officiis recusandae dignissimos. Consequatur incidunt ducimus incidunt. Unde dignissimos assumenda explicabo fugiat cumque. Aut consequuntur modi nostrum commodi quaerat eligendi.", - "name": "1542380771_fugiat", - "public_description": "Expedita impedit reprehenderit quia et ea excepturi.", - "title": "Facere ullam dicta totam optio id repellendus." - } - }, - "posts": { - "my 2nd post": { - "id": "8x", - "text": "Voluptatem adipisci quam incidunt quos. Similique culpa rem dolorem.", - "title": "A architecto eum architecto a." - }, - "my 3rd post": { - "id": "8y", - "text": "Numquam eveniet modi fugit amet. Provident dolor quo assumenda. Sit cumque quis vitae qui minus.", - "title": "Totam ipsa totam velit incidunt." - }, - "my 4th post": { - "id": "8z", - "text": "Qui incidunt dolorum corrupti quam facilis et. Saepe molestiae natus nam harum non.", - "title": "Doloribus porro reiciendis maxime error fugit." - }, - "my post": { - "id": "8w", - "text": "Iure in ab hic illo magni et quis. Ex quibusdam suscipit recusandae laborum.", - "title": "Quod omnis nobis saepe sint modi voluptatibus." - } - }, - "users": { - "contributor": { - "username": "01CWEGXFYDM6KQE0GJEXPZ6448" - }, - "staff_user": { - "username": "01CWEGXK8E31XSXKP9PP5SW202" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.moderators_test.test_add_moderator.json b/factory_data/channels.views.moderators_test.test_add_moderator.json deleted file mode 100644 index 297534f1a8..0000000000 --- a/factory_data/channels.views.moderators_test.test_add_moderator.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Quis deleniti quod est delectus. Molestias quaerat repellat expedita perspiciatis unde ex. Sapiente impedit accusamus nostrum aspernatur.\nPlaceat error aliquam corrupti laboriosam alias illum minima. Aut hic necessitatibus reiciendis voluptates recusandae. Fuga blanditiis deserunt voluptatibus ipsum. Iure officiis reprehenderit dolor dolore sed debitis.", - "name": "1535133724_asperiores", - "public_description": "Repellat perferendis nostrum corporis atque. Nemo cum temporibus eius at.", - "title": "Ratione quod dicta iste vel." - } - }, - "users": { - "new_mod_user": { - "username": "01CNPHKEH02E1WP1ZS8C8TVCH9" - }, - "staff_user": { - "username": "01CNPHK85M1KHY5647G2FQNYD5" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.moderators_test.test_add_moderator_again.json b/factory_data/channels.views.moderators_test.test_add_moderator_again.json deleted file mode 100644 index 6d341b494a..0000000000 --- a/factory_data/channels.views.moderators_test.test_add_moderator_again.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Esse odio aperiam ipsa. Recusandae aliquam laboriosam pariatur aut voluptatum reiciendis vero. Veritatis dignissimos adipisci beatae adipisci architecto reprehenderit perferendis eaque. Quo porro quaerat explicabo perferendis aliquam officia.\nQuaerat suscipit doloribus placeat. Commodi nostrum sunt nulla. Esse quos tempore qui.\nSimilique dolor nemo id laborum harum. Maiores possimus magni optio totam ut provident laboriosam. Doloribus rem adipisci suscipit deleniti provident cum.", - "name": "1535133747_porro", - "public_description": "Eaque soluta atque debitis nobis eos voluptates accusantium. Qui aperiam labore at molestiae.", - "title": "Voluptates eius nemo eligendi quos doloribus." - } - }, - "users": { - "already_mod": { - "username": "01CNPHM5TGNAY9PMZAVJNR5AV2" - }, - "staff_user": { - "username": "01CNPHKZE781P8JCA70QMX91C9" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.moderators_test.test_add_moderator_email.json b/factory_data/channels.views.moderators_test.test_add_moderator_email.json deleted file mode 100644 index c292d41a85..0000000000 --- a/factory_data/channels.views.moderators_test.test_add_moderator_email.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Quod at sequi commodi magnam quaerat facere fugit. Id reiciendis explicabo iure sed exercitationem illo. Aut asperiores deserunt iusto ut.\nEarum accusamus illo hic aperiam eligendi commodi blanditiis. Nostrum quia architecto optio necessitatibus aliquam quisquam. Quibusdam modi nemo expedita iusto harum quae eveniet. Consequuntur recusandae voluptas temporibus sapiente ducimus recusandae saepe.", - "name": "1535133734_nesciunt", - "public_description": "Sit animi aperiam alias et totam. Qui ex non veniam vero voluptatum dolor.", - "title": "Deleniti voluptate dicta sed deserunt eveniet id." - } - }, - "users": { - "mod_user1": { - "username": "01CNPHKREAAET76Y23E4RJQ1X3" - }, - "new_mod_user": { - "username": "01CNPHKVQGHSNDTFWAXVMK70X7" - }, - "staff_user": { - "username": "01CNPHKJ1EJTQ7FD2Y561AGJQ8" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.moderators_test.test_list_moderators.json b/factory_data/channels.views.moderators_test.test_list_moderators.json deleted file mode 100644 index 7f6b9286c3..0000000000 --- a/factory_data/channels.views.moderators_test.test_list_moderators.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Occaecati asperiores ullam tempora nulla. Cumque sequi perferendis eum earum officiis laboriosam. Et voluptatem error quibusdam facere quo sed reprehenderit. Commodi beatae soluta pariatur enim ipsa tempore fugit.\nVoluptatem harum harum est maiores sit. Ducimus rem aliquam ex non. Veniam praesentium eum delectus molestias consectetur. Excepturi voluptatum sit veritatis suscipit velit.", - "name": "1535133635_consectetu", - "public_description": "Occaecati eius maiores aliquid commodi. Ipsum eius fugit modi minima.", - "title": "Incidunt nisi officia eaque reiciendis." - } - }, - "users": { - "contributor": { - "username": "01CNPHGQH75YFM16QF5HPCFRNJ" - }, - "new_mod": { - "username": "01CNPHGTYFT6575518ZQRTSEKS" - }, - "staff_user": { - "username": "01CNPHGH6NW77MCDFNN553X83J" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.moderators_test.test_list_moderators_anonymous.json b/factory_data/channels.views.moderators_test.test_list_moderators_anonymous.json deleted file mode 100644 index 0a9b0da302..0000000000 --- a/factory_data/channels.views.moderators_test.test_list_moderators_anonymous.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Debitis eveniet tempora omnis blanditiis numquam explicabo dolorum. Voluptates labore reiciendis corrupti nostrum quam nulla. Magni mollitia beatae accusantium laborum repudiandae recusandae dolorem sequi. Earum quasi hic facilis ab.\nAmet corrupti veniam eos reiciendis dolor. Quae dolorem et sed occaecati. Praesentium eaque repellendus illo quasi quae illum deserunt.", - "name": "1535133711_quibusdam", - "public_description": "Eos dicta at esse dolores mollitia non. Eos asperiores debitis illum in.", - "title": "Harum repellat reiciendis beatae similique." - } - }, - "users": { - "staff_user": { - "username": "01CNPHJVF2Z3D6V2ZP1V58TK6Q" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.moderators_test.test_list_moderators_many_moderator.json b/factory_data/channels.views.moderators_test.test_list_moderators_many_moderator.json deleted file mode 100644 index 4dab0f1b42..0000000000 --- a/factory_data/channels.views.moderators_test.test_list_moderators_many_moderator.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Quasi culpa vero quibusdam dignissimos. Nemo aliquam temporibus dolor consequatur perspiciatis fugiat impedit. Consectetur accusamus excepturi recusandae cumque laboriosam vero aut incidunt. Ipsa veritatis vero esse provident vitae soluta reiciendis atque. Tenetur libero impedit asperiores natus.", - "name": "1536867718_praesentiu", - "public_description": "Quidem modi iusto nihil laborum. Necessitatibus eligendi natus voluptate quia deleniti tempora id.", - "title": "Ipsam distinctio consequatur reprehenderit." - } - }, - "users": { - "staff_user": { - "username": "01CQA78HYA7H58Z0VZPD7R3PKQ" - }, - "user0": { - "username": "01CQA78RC22HKTRYDQ2SRFTFAK" - }, - "user1": { - "username": "01CQA78W5JZWEYJF141NJHMJWY" - }, - "user2": { - "username": "01CQA78ZQQDDB7KXYRV09BWC3S" - }, - "user3": { - "username": "01CQA793B3HNP934THJ6T29H99" - }, - "user4": { - "username": "01CQA796ZD142W25BTHCKNJJ3F" - }, - "user5": { - "username": "01CQA79AJDXCFWGT0972W0ZMWY" - }, - "user6": { - "username": "01CQA79E35CNXWK8JSQGASXT6M" - }, - "user7": { - "username": "01CQA79HR8A1DJ274AGHH5P2XW" - }, - "user8": { - "username": "01CQA79NGCW7W54C07FD7C4H57" - }, - "user9": { - "username": "01CQA79S6CXJ6YDVB1NM5QTN51" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.moderators_test.test_list_moderators_moderator.json b/factory_data/channels.views.moderators_test.test_list_moderators_moderator.json deleted file mode 100644 index 2335ccf55d..0000000000 --- a/factory_data/channels.views.moderators_test.test_list_moderators_moderator.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Similique eligendi commodi voluptatibus voluptas earum voluptatem. Aliquam nesciunt quisquam sed libero itaque repellendus aut. Eveniet aliquid veniam dignissimos. Voluptates dolor repudiandae repudiandae expedita nisi dolore cumque.\nAut eveniet iste officia tempore odit eum. Sed iusto error recusandae dolore a. Temporibus non expedita at aut. Ducimus hic repudiandae consequuntur debitis fugit.", - "name": "1536867707_fugiat", - "public_description": "Facere nobis commodi perspiciatis quod. Debitis placeat excepturi numquam id.", - "title": "Officiis dignissimos molestiae molestiae." - } - }, - "users": { - "staff_user": { - "username": "01CQA787BGXKQKJGZFSJHKFMZS" - }, - "user2": { - "username": "01CQA78E0GC03AMPH3FZKA6F7Y" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.moderators_test.test_list_moderators_staff.json b/factory_data/channels.views.moderators_test.test_list_moderators_staff.json deleted file mode 100644 index 37a72d68b4..0000000000 --- a/factory_data/channels.views.moderators_test.test_list_moderators_staff.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Doloribus dolorem velit nisi nihil facere soluta asperiores. Provident temporibus ex voluptatibus impedit pariatur neque quam.\nQuae cumque adipisci at perspiciatis quos. Quos laudantium dignissimos molestias molestiae soluta facilis odio. Quaerat sapiente nulla architecto aut possimus.", - "name": "1535133648_repellat", - "public_description": "Temporibus ex porro quos non totam. Omnis nam cumque odit. Esse dolorum dolorum maxime aspernatur.", - "title": "Occaecati voluptates voluptatem architecto optio." - } - }, - "users": { - "staff_user": { - "username": "01CNPHGYJ8ADDGNB77RPYFF83Y" - }, - "user2": { - "username": "01CNPHH4W5ENV8N18JYFCE2DRX" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.moderators_test.test_remove_moderator[1].json b/factory_data/channels.views.moderators_test.test_remove_moderator[1].json deleted file mode 100644 index 0577c9ea4a..0000000000 --- a/factory_data/channels.views.moderators_test.test_remove_moderator[1].json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Tempora deleniti voluptates similique ea ad voluptate incidunt maiores. Voluptatibus veritatis non voluptatibus aperiam necessitatibus. Nemo consequuntur sapiente magni ex ratione. Maiores ratione ducimus iusto enim doloribus.\nQuaerat officiis delectus hic ex molestiae quaerat suscipit quos. Modi enim eveniet repudiandae iusto repellendus corrupti delectus maxime. At excepturi doloribus dolorum explicabo quo neque accusantium libero.", - "name": "1542218639_porro", - "public_description": "Soluta cum laudantium velit perferendis eius dolor. Alias quisquam nobis nisi.", - "title": "Molestiae ratione quas minima esse." - } - }, - "users": { - "staff_user": { - "username": "01CW9P9PWNGJDCBHCDNMFG2CAK" - }, - "user1": { - "username": "01CW9P9X9HCS7S7VGKFD27F3EX" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.moderators_test.test_remove_moderator[2].json b/factory_data/channels.views.moderators_test.test_remove_moderator[2].json deleted file mode 100644 index 70e1956427..0000000000 --- a/factory_data/channels.views.moderators_test.test_remove_moderator[2].json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Totam pariatur reiciendis natus tenetur ab animi repudiandae. Voluptatum incidunt esse quod doloremque amet sed culpa. Temporibus quod distinctio vel rerum.\nSint dolores facilis veniam doloremque id. Similique asperiores similique itaque tempora repellat repudiandae cum explicabo. Maxime dicta qui eos repellendus aperiam quasi. Nostrum sint ipsum rerum quidem at ipsa. Laborum consequuntur eius est dolorem.", - "name": "1542218649_maxime", - "public_description": "Sint beatae expedita nam labore. Illum reiciendis modi enim aliquam.", - "title": "Adipisci quaerat illum rem aut natus." - } - }, - "users": { - "staff_user": { - "username": "01CW9PA0ZJDS9QQ6YAC1MHWS04" - }, - "user1": { - "username": "01CW9PA7AKDYGH74Q7M5GYN2AV" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_create_and_update_post_moderator.json b/factory_data/channels.views.posts_test.test_create_and_update_post_moderator.json deleted file mode 100644 index e4c2bc4945..0000000000 --- a/factory_data/channels.views.posts_test.test_create_and_update_post_moderator.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Certainly huge speak current range network. Different must us fill week education economic meeting. Pass level light view into.\nWhom time represent few society color. Both moment age throughout own short.\nPolitical majority memory forget accept recently executive. Night nice particular child. Down option within. Authority certain cost name.\nPossible three as bag anyone entire. Industry those ball north. Produce environment born soon letter value.", - "name": "1595981160_5_day", - "public_description": "Recently dinner key. Identify director tell risk human pattern beautiful rich.", - "title": "Worry sign everything interest develop." - } - }, - "users": { - "contributor": { - "username": "01EEBY7GJYCTH9AD5FY03HGHTM" - }, - "staff_user": { - "username": "01EEBY7M8VKBZ57WGJX7RAGGDE" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_create_article_post.json b/factory_data/channels.views.posts_test.test_create_article_post.json deleted file mode 100644 index 8827fa9ca3..0000000000 --- a/factory_data/channels.views.posts_test.test_create_article_post.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Building ground kind low. Whatever tell perform. Group near economic always ask week audience sister. Answer company wear increase over.\nGreat other even control some let surface. Hard total notice develop. Out interesting our nature loss difficult.\nSide hope point program home her strategy mother. Provide entire building hit.\nOf leader fire eye. Nothing agree few land machine court. Piece hear rock.\nNature his message speak but live president. Maintain hundred field door. Teach man race.", - "name": "1595974482_4_move", - "public_description": "Foot election one race discuss.", - "title": "Commercial instead room own new mention side." - } - }, - "users": { - "contributor": { - "username": "01EEBQVRB9FKPY4E26GJ1EH00C" - }, - "staff_user": { - "username": "01EEBQVVJWAVY29P753FEYXVJY" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_create_article_post_with_cover.json b/factory_data/channels.views.posts_test.test_create_article_post_with_cover.json deleted file mode 100644 index 8350b8025a..0000000000 --- a/factory_data/channels.views.posts_test.test_create_article_post_with_cover.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Personal sound matter open more. Art practice TV fly century team Republican. Bring because under old table enter where.\nDoctor church account instead war. Training firm security value when land game. Practice management financial.\nImportant value his character character. Open sound owner reach south since read. Cup week recently chair later.\nRich itself significant support. Institution order run industry military assume learn.", - "name": "1595974492_5_similar", - "public_description": "School pass pattern mean writer service. Meet dark expect. Be staff fear.", - "title": "By close what for art trip." - } - }, - "users": { - "contributor": { - "username": "01EEBQW24WXAJ1NZFNDPKKJ72H" - }, - "staff_user": { - "username": "01EEBQW5CNMH8NR0E2FC7CVXCB" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_create_post_forbidden.json b/factory_data/channels.views.posts_test.test_create_post_forbidden.json deleted file mode 100644 index 8bd09c6e34..0000000000 --- a/factory_data/channels.views.posts_test.test_create_post_forbidden.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Deep money situation assume individual subject ever. Indeed say make wife voice.\nTax member number pull.\nSurface them in standard try pick. Party final company able cover. During cost opportunity middle spend black letter stuff.\nUnit teach view maybe marriage per with door. Foot plan professor bar east of whom theory.\nInvolve minute strategy treat may. Wear however upon business cell arm. Need also month adult spend war force. Feeling yet finish certainly young station your.", - "name": "1595974509_8_practice", - "public_description": "True boy door threat tonight him. Miss idea dream many five can wind.", - "title": "Gun chair fall north any." - } - }, - "users": { - "contributor": { - "username": "01EEBQWJ6CBMZMB2D61JXYC6V4" - }, - "staff_user": { - "username": "01EEBQWNHJ4KK5R392QHWXFHTQ" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_create_post_without_upvote.json b/factory_data/channels.views.posts_test.test_create_post_without_upvote.json deleted file mode 100644 index 1d2a38aa30..0000000000 --- a/factory_data/channels.views.posts_test.test_create_post_without_upvote.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Attack add worry form raise. Book sort process should like rather sport parent.\nLose expect develop. Need body all stay. Free here nature.\nPopulation follow indeed add may image way. Seem him matter within find under mission piece. Us listen cause score involve since.\nNotice dinner cut son.\nPick pass moment keep thus. Big doctor face piece performance. Mother possible standard guy kind.\nOne point argue former civil. Serious bed care expert great space.", - "name": "1595974524_28_age", - "public_description": "Miss dog so share. Friend gun consumer personal option value.", - "title": "Chair rate visit ahead." - } - }, - "users": { - "contributor": { - "username": "01EEBQX0RKHWVQ0X4PVGY1JEMD" - }, - "staff_user": { - "username": "01EEBQX412WN4CJTYF0YGYM367" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_create_text_post.json b/factory_data/channels.views.posts_test.test_create_text_post.json deleted file mode 100644 index 2d78c168b5..0000000000 --- a/factory_data/channels.views.posts_test.test_create_text_post.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Crime story interesting scene particular few plant. Bill child attorney perhaps space happen.\nTraining gas cell girl recent little side. Once forget film. Him how customer shoulder while explain off why.\nAccount minute whole dinner big choose degree. Must author night likely your race two. Trial peace manager.\nAsk plan cost actually already American live. Performance just close meeting skin wish reveal.\nHappen own poor those.", - "name": "1595976232_3_product", - "public_description": "Upon during soldier reveal change medical. Hot name more man building.", - "title": "Rule guess particular local grow three old." - } - }, - "users": { - "contributor": { - "username": "01EEBSH46DFS5GSBMSD396XST2" - }, - "staff_user": { - "username": "01EEBSH7XSN8Z4NRSXHBKJQ7C9" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_create_text_post_blank.json b/factory_data/channels.views.posts_test.test_create_text_post_blank.json deleted file mode 100644 index 92263a7522..0000000000 --- a/factory_data/channels.views.posts_test.test_create_text_post_blank.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Whatever analysis industry.\nSeven main green certain general very. Instead low here Republican onto need protect.\nIdea enjoy up lose general huge remember. Eight power training between management woman miss. Hospital order manage street hard.\nRead her minute meeting. Yeah body owner any skin yeah star. Pattern third network western among worker else there.\nBoy magazine sign industry cover attorney yourself. Represent hundred candidate sign little time night.", - "name": "1595976244_7_modern", - "public_description": "Woman measure check soon. Note else seven medical more.", - "title": "Age bank it sure new nature hospital." - } - }, - "users": { - "contributor": { - "username": "01EEBSHG6FPPBSVJ8CQEME5H6Q" - }, - "staff_user": { - "username": "01EEBSHKKF98WM2QM64PAY9MGH" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_create_url_post_existing_meta.json b/factory_data/channels.views.posts_test.test_create_url_post_existing_meta.json deleted file mode 100644 index d34262c917..0000000000 --- a/factory_data/channels.views.posts_test.test_create_url_post_existing_meta.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Anyone open season guess information least. Congress artist other way control.\nWall bank your change clearly experience difference. Star ok month amount everyone.\nBreak morning call myself allow. Report easy morning research push. Shake fall hard check arrive upon number.\nThough standard low seem left age build. Stock pattern open art defense surface.\nFront hundred opportunity picture city white professor. Sign spend practice its window care first.", - "name": "1595976216_0_arrive", - "public_description": "Short and management design. Something discuss forward value.", - "title": "Story and return enough according beat." - } - }, - "users": { - "contributor": { - "username": "01EEBSGKQQGNDCMVMD3WJPAPFM" - }, - "staff_user": { - "username": "01EEBSGQX37H3EV2HRX7RB5HKJ" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_get_deleted_post[False].json b/factory_data/channels.views.posts_test.test_get_deleted_post[False].json deleted file mode 100644 index 0268be7128..0000000000 --- a/factory_data/channels.views.posts_test.test_get_deleted_post[False].json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Dolores veritatis sint eligendi tenetur. Fuga ratione error magni sed provident id maxime odio.\nEsse nobis quidem eius libero. Quibusdam quasi est corporis. Repudiandae similique sapiente dolorum quam eum.\nSunt quam saepe dicta tempora in. Aut ullam necessitatibus laborum. Recusandae recusandae quo eius tenetur eligendi ipsum.\nIure magnam porro modi quas modi fugit. Dolorum asperiores illum hic. Provident ex modi voluptate quam eveniet maxime fuga.", - "name": "1535133835_incidunt", - "public_description": "Aspernatur pariatur modi praesentium fuga. Ullam omnis dolore ratione. Excepturi ad id molestiae.", - "title": "Fugit tenetur nulla asperiores eveniet." - } - }, - "posts": { - "deleted": { - "id": "1a", - "text": "Dolorem soluta fugit voluptas sapiente. Unde odit animi ipsa.", - "title": "Officiis repudiandae dolorum atque maxime." - } - }, - "users": { - "contributor": { - "username": "01CNPHPV6WGYZ0PP40RNVMF75Q" - }, - "staff_user": { - "username": "01CNPHPMV71SGF4H810SVEHEEH" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_get_deleted_post[True].json b/factory_data/channels.views.posts_test.test_get_deleted_post[True].json deleted file mode 100644 index d7627a3130..0000000000 --- a/factory_data/channels.views.posts_test.test_get_deleted_post[True].json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Repudiandae doloribus libero ullam natus sunt. Eum vel adipisci ullam incidunt ea. Deleniti officia ducimus praesentium in ad. Id similique doloribus quam deleniti modi hic tempore.\nDicta minus dolorum sunt. Porro quia magni laboriosam odit quis eveniet reiciendis. Modi ratione reprehenderit sint. Vel nemo recusandae animi suscipit asperiores amet. Ullam laborum at animi pariatur amet voluptatem.", - "name": "1535133822_necessitat", - "public_description": "Excepturi quaerat enim dolorum possimus quasi provident odio ea. Quidem iure a sequi non.", - "title": "Doloremque unde mollitia reiciendis." - } - }, - "posts": { - "deleted": { - "id": "19", - "text": "At tempora placeat quasi blanditiis veniam rerum. Vitae adipisci quod non tenetur.", - "title": "Corrupti illo dignissimos quo dolores." - } - }, - "users": { - "contributor": { - "username": "01CNPHPEBP3V0MV2QK7MSF8J29" - }, - "staff_user": { - "username": "01CNPHP8027XRZ6VFFR5NPR886" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_get_post[False].json b/factory_data/channels.views.posts_test.test_get_post[False].json deleted file mode 100644 index f01bc85324..0000000000 --- a/factory_data/channels.views.posts_test.test_get_post[False].json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Ipsam voluptatibus incidunt eius repellendus reprehenderit. Distinctio laborum magni eum necessitatibus ex qui quo. Expedita voluptatem fugiat alias est atque laborum expedita distinctio. Est magnam fugit aliquam sint minus.\nNumquam nam eaque hic sint. Error illo doloremque nesciunt fugiat consequatur aliquid. Aspernatur sunt dolore laudantium deserunt iure magni. Temporibus quasi recusandae sit occaecati sequi labore officiis.", - "name": "1535133862_ipsa", - "public_description": "Cumque totam assumenda perferendis repellendus. Facere eum architecto nisi.", - "title": "Neque voluptatum facilis quidem." - } - }, - "posts": { - "my geat post": { - "id": "1c", - "text": "Optio nemo voluptates praesentium nesciunt. Vero aperiam laborum nihil.", - "title": "Velit ex quasi natus." - } - }, - "users": { - "contributor": { - "username": "01CNPHQN9GRFNS6HFBA7BA952S" - }, - "staff_user": { - "username": "01CNPHQEYJ4WQZQJ8D2Y2W65JA" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_get_post[True].json b/factory_data/channels.views.posts_test.test_get_post[True].json deleted file mode 100644 index e95a84afc2..0000000000 --- a/factory_data/channels.views.posts_test.test_get_post[True].json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Velit animi vel voluptas repudiandae quas esse. Aliquid corrupti odit fuga voluptate pariatur. Veritatis ipsa labore fugiat placeat nobis.\nDignissimos quas assumenda veniam nam optio voluptatibus. Aspernatur qui eaque repellat quos veritatis quis. Soluta eos aspernatur aliquam eveniet occaecati.\nSit vitae distinctio tenetur aspernatur voluptatum. Quidem aperiam consequatur deleniti dolor voluptatum sequi.", - "name": "1535133848_praesentiu", - "public_description": "Dignissimos sunt quibusdam dolore hic dolorem. Laudantium praesentium at consequatur quis vero.", - "title": "Totam commodi veniam nisi ab vero dolore." - } - }, - "posts": { - "my geat post": { - "id": "1b", - "text": "Porro in possimus quaerat vitae. Autem expedita cumque voluptatum deserunt vitae.", - "title": "Fugiat fuga eum et libero." - } - }, - "users": { - "contributor": { - "username": "01CNPHQ8DSXYBKAKS90HA2AMSV" - }, - "staff_user": { - "username": "01CNPHQ23J2GVDPTX7W2H7EMG9" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_get_post_anonymous.json b/factory_data/channels.views.posts_test.test_get_post_anonymous.json deleted file mode 100644 index afa8769e70..0000000000 --- a/factory_data/channels.views.posts_test.test_get_post_anonymous.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Cupiditate inventore dignissimos distinctio velit cumque provident. Nam dolorum eos facilis ex harum.\nMaxime vel quas exercitationem ipsa ab mollitia. Incidunt ad rem accusamus mollitia dolorum doloremque. Vel enim modi quam officia necessitatibus. Doloremque blanditiis dolorem ad quod alias.\nRatione adipisci qui aut voluptates veniam ipsum in. Illo adipisci adipisci eligendi recusandae modi. Et voluptatibus voluptas delectus.", - "name": "1535133901_voluptatib", - "public_description": "Voluptas laboriosam asperiores dignissimos sit iusto. Aperiam iure architecto blanditiis.", - "title": "Possimus necessitatibus itaque nulla." - } - }, - "posts": { - "link_post": { - "id": "1f", - "title": "Earum cupiditate error quasi unde.", - "url": "http://hernandez.com/wp-content/posts/category/terms.htm" - } - }, - "users": { - "staff_user": { - "username": "01CNPHRNTYZAFRR2SMRC4F2VHZ" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_get_post_no_profile.json b/factory_data/channels.views.posts_test.test_get_post_no_profile.json deleted file mode 100644 index d2f9a96e11..0000000000 --- a/factory_data/channels.views.posts_test.test_get_post_no_profile.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Recusandae itaque omnis voluptatibus consectetur. Labore laborum mollitia ipsum deserunt accusantium doloribus iusto.\nRepellat sequi non aliquam asperiores. Voluptates pariatur ipsum aliquid distinctio dignissimos iure. Accusantium accusamus distinctio doloribus maxime error exercitationem. Harum veritatis sint nemo saepe accusantium.", - "name": "1535133875_aliquam", - "public_description": "Eligendi saepe maxime numquam unde debitis. Commodi doloremque repudiandae accusantium.", - "title": "Molestiae ab quia fuga laboriosam earum." - } - }, - "posts": { - "my geat post": { - "id": "1d", - "text": "Molestias neque nulla amet non. Animi autem veniam dolores corrupti.", - "title": "Dolor expedita ipsam blanditiis eum sunt dolorem." - } - }, - "users": { - "contributor": { - "username": "01CNPHR288JC324SFVTDJWWWVG" - }, - "staff_user": { - "username": "01CNPHQVWET8KG6JM9G2F8K0E4" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_get_post_stickied.json b/factory_data/channels.views.posts_test.test_get_post_stickied.json deleted file mode 100644 index 242732c071..0000000000 --- a/factory_data/channels.views.posts_test.test_get_post_stickied.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Odit distinctio beatae placeat maxime facilis assumenda autem. Sed tempora eos iusto libero. Quidem maxime incidunt delectus molestiae quidem expedita.\nRecusandae iusto nesciunt distinctio vel sed a. Excepturi possimus exercitationem numquam consequatur pariatur quos. Necessitatibus laudantium debitis dolor beatae aut minima.\nRatione adipisci nostrum reiciendis libero saepe totam. Quam eos non tempora nemo. Enim quis laborum itaque mollitia pariatur totam molestias odit.", - "name": "1535133888_cupiditate", - "public_description": "Magni ut magni enim facere laborum delectus. Dolores enim tenetur dignissimos sed sit minus fugit.", - "title": "Magnam corporis commodi ut quisquam aliquid est." - } - }, - "posts": { - "just a post": { - "id": "1e", - "text": "Illo sunt iure temporibus rem in magnam. Facere corporis autem provident iure nihil.", - "title": "Illum similique ipsum consectetur eum neque." - } - }, - "users": { - "contributor": { - "username": "01CNPHRF8N3G9RBEA7XZPTD2Q3" - }, - "staff_user": { - "username": "01CNPHR8X14JMW7C4HTFDJYFXY" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_get_removed_post[None-404].json b/factory_data/channels.views.posts_test.test_get_removed_post[None-404].json deleted file mode 100644 index f6e7ec91c1..0000000000 --- a/factory_data/channels.views.posts_test.test_get_removed_post[None-404].json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "She according region difference trial top hot visit. Everything be sing cause air energy.\nSafe occur poor five participant. Company trip wide far rock.\nBig model keep fly want democratic final. Why institution chair laugh bar relate campaign media. Here scene since choose against.\nMe point bad generation week your grow. Employee rise individual film wind mind attorney. Style new evidence goal company near perform.", - "name": "1595950370_11_other", - "public_description": "Operation it check team care raise. Affect population fly thank lot article.", - "title": "Voice thought ground toward door what." - } - }, - "posts": { - "removed": { - "id": "f", - "text": "Because song movement left stay exist individual. Our fact put those thank expert miss.", - "title": "City democratic teach rich major law." - } - }, - "users": { - "contributor": { - "username": "01EEB0W0QH6B392N37G7B8GN1W" - }, - "staff_user": { - "username": "01EEB0VXGN7842ZRP2WGT0QG83" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_get_removed_post[client_user1-404].json b/factory_data/channels.views.posts_test.test_get_removed_post[client_user1-404].json deleted file mode 100644 index c16119da8c..0000000000 --- a/factory_data/channels.views.posts_test.test_get_removed_post[client_user1-404].json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Second language take though market. Artist research their less pay recently.\nCrime rest meet dinner student fire among. Research size treat increase story heart address.\nShould him world though quickly country wind. East present approach. Left decision have study scientist lay.\nWide daughter bank audience. Night nearly affect push attention Mr speak. Face perform forward across.\nUs his history music total ground. Speak drug range how fine decade age.", - "name": "1595950383_12_step", - "public_description": "Address visit right pick least own rather.", - "title": "Opportunity between soon money single material." - } - }, - "posts": { - "removed": { - "id": "g", - "text": "Perhaps oil field even after pay. Nearly though politics show gas. Carry say marriage should.", - "title": "Majority cause mission perhaps on economic." - } - }, - "users": { - "contributor": { - "username": "01EEB0WDHATJM4XCFN402M45YZ" - }, - "staff_user": { - "username": "01EEB0WA8V7A4PFBGK0BF4F1KQ" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_get_removed_post[client_user2-200].json b/factory_data/channels.views.posts_test.test_get_removed_post[client_user2-200].json deleted file mode 100644 index 5e062a32e0..0000000000 --- a/factory_data/channels.views.posts_test.test_get_removed_post[client_user2-200].json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "In but fight question section open whatever company.\nChild most line. Her cultural place gun share quickly.\nStill time week standard dream sit learn standard. And serve minute game structure model.\nRed work range east smile mouth democratic lose. Pattern character young trade recent often. System school mind because agent heavy.\nControl course serious. Sort degree cup.\nStart book animal bit time subject pressure. Example despite before thought.", - "name": "1595950396_13_Republi", - "public_description": "Century will great. Return himself although exactly spend.", - "title": "Record field fish produce realize." - } - }, - "posts": { - "removed": { - "id": "h", - "text": "History rise page conference meeting. Order well hair.\nWrong run tend social.", - "title": "Over five Democrat worker." - } - }, - "users": { - "contributor": { - "username": "01EEB0WTBKN36JS3S8BRMNCC4C" - }, - "staff_user": { - "username": "01EEB0WQ3H0JJ7WC0PD94V59D1" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_get_removed_post[staff_user-200].json b/factory_data/channels.views.posts_test.test_get_removed_post[staff_user-200].json deleted file mode 100644 index 19bab35cd7..0000000000 --- a/factory_data/channels.views.posts_test.test_get_removed_post[staff_user-200].json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Game appear represent require current necessary. House region some.\nCall side carry civil. Write among happy. Action tonight enjoy nice adult suddenly scene.\nMeeting talk let year far entire recognize. Consider sell indicate carry send miss well us.\nNeed affect month box. Record produce respond song let. Tough mouth concern.\nClear claim tree marriage enjoy south. Social team no word.\nBy your recognize.\nMyself provide certainly. Author manager personal century campaign spring simple threat.", - "name": "1685707941_2_suggest", - "public_description": "Management especially war whole. Might among nature today gas.", - "title": "For word method nearly face all for film." - } - }, - "posts": { - "removed": { - "id": "9", - "text": "Or gun various end level. Direction rate through nothing own. Training leg plant.", - "title": "Own line apply support sign share crime." - } - }, - "users": { - "contributor": { - "username": "01H1Y0BK8MKZY6TFWNWKHYXEK4" - }, - "staff_user": { - "username": "01H1Y0BPJPQRG5E7QF9YZKYKR7" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_get_removed_post[user-404].json b/factory_data/channels.views.posts_test.test_get_removed_post[user-404].json deleted file mode 100644 index 3c01a283b8..0000000000 --- a/factory_data/channels.views.posts_test.test_get_removed_post[user-404].json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Phone new himself probably always trip war. Nature rate just class.\nStage mouth poor sister push stock. Compare forget professor old rich skill difficult.\nMiss start defense summer evening. True design picture apply. Thousand population example city.\nWeight only whole budget around born. Change thus attorney hair assume perform old check.\nMuch best toward tonight animal magazine. Course model design establish.", - "name": "1685707927_1_far", - "public_description": "College baby reason. Floor record business anyone business agreement.", - "title": "Source easy place cost." - } - }, - "posts": { - "removed": { - "id": "8", - "text": "Position design paper author. City most source better usually. Movie outside explain budget nice.", - "title": "Rest mean lay. Mean between environmental could." - } - }, - "users": { - "contributor": { - "username": "01H1Y0B3WHKYX2R61K42G005WF" - }, - "staff_user": { - "username": "01H1Y0B8NQSE6456XR8YZ32SPA" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_list_posts[False].json b/factory_data/channels.views.posts_test.test_list_posts[False].json deleted file mode 100644 index b48afa80be..0000000000 --- a/factory_data/channels.views.posts_test.test_list_posts[False].json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Perspiciatis ut cum pariatur culpa vitae. Aperiam excepturi officiis laudantium aliquam. Rem ipsa ratione enim.\nExcepturi dignissimos deserunt quos odio earum. Consequatur dolores nesciunt dolor. Laboriosam doloribus eum quod quidem ut porro maiores.\nReprehenderit voluptates iusto non dicta fuga. Velit non laboriosam non tenetur harum quis explicabo. Praesentium unde doloribus in atque ipsum.", - "name": "1542383420_dolor", - "public_description": "Ipsa minima repellat sunt.", - "title": "Ut amet laudantium iste neque numquam ex libero." - } - }, - "posts": { - "link_post": { - "id": "bd", - "title": "Nemo nobis vitae maxime maiores facere autem.", - "url": "http://campbell.org/posts/app/homepage.php" - }, - "text_post": { - "id": "be", - "text": "Mollitia totam ab doloribus. Eum quod suscipit eius nihil hic quis tempore.", - "title": "Rerum minus occaecati accusantium est." - } - }, - "users": { - "contributor": { - "username": "01CWEKEAG1CFJ4VBJK9C5F9DWV" - }, - "staff_user": { - "username": "01CWEKEDTXEBBVVD2RD7516QM2" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_list_posts[True].json b/factory_data/channels.views.posts_test.test_list_posts[True].json deleted file mode 100644 index adc2f85541..0000000000 --- a/factory_data/channels.views.posts_test.test_list_posts[True].json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Sint rerum eligendi illo rem. Tempora deleniti repellat maiores possimus unde. Facilis consectetur dolorum labore labore magni. Consequuntur autem saepe dolore corporis qui.\nRepellat voluptates dolore alias rerum aliquid. Consequatur atque quas optio similique ullam sequi minus corporis. Mollitia sed dolor voluptates nemo placeat sit. Occaecati sint exercitationem vero fugiat corporis.", - "name": "1535133921_dicta", - "public_description": "In explicabo accusantium temporibus. Voluptate quos consequatur ipsam tempore.", - "title": "Quo id rem reprehenderit beatae." - } - }, - "posts": { - "link_post": { - "id": "1h", - "title": "Perferendis accusamus quo asperiores sunt.", - "url": "https://chapman.com/" - }, - "text_post": { - "id": "1i", - "text": "Sed officia tenetur vel vero dolor voluptatibus repellendus. Ut minus veniam vitae porro at ut sed.", - "title": "Atque vero veritatis quibusdam nobis." - } - }, - "users": { - "contributor": { - "username": "01CNPHSFHDYCDW5NC6W89RWMV9" - }, - "staff_user": { - "username": "01CNPHS95X8CGG3RV7QAA9NPGM" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_list_posts_anonymous.json b/factory_data/channels.views.posts_test.test_list_posts_anonymous.json deleted file mode 100644 index 3a5271a52d..0000000000 --- a/factory_data/channels.views.posts_test.test_list_posts_anonymous.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Ullam possimus voluptate voluptas harum expedita. Recusandae ullam laboriosam voluptatem ea vel error perferendis. Doloremque veniam quaerat quae odit. Vero iusto ullam cupiditate et ducimus consequuntur.\nReiciendis ratione laborum facilis sint. Quibusdam enim repudiandae unde reprehenderit maiores at. Possimus iure nesciunt sed laboriosam fugit delectus rerum sapiente. Rerum ex illo repellendus nisi repellendus consequatur enim tempora.", - "name": "1542381150_et", - "public_description": "Molestiae iure ab nobis iure.", - "title": "Possimus consectetur ex assumenda non." - } - }, - "posts": { - "link_post": { - "id": "b9", - "title": "Recusandae iusto dolores vitae quia corrupti.", - "url": "http://pacheco-wheeler.com/list/search/category/terms/" - } - }, - "users": { - "staff_user": { - "username": "01CWEH94K2VZV9QZAFC2EQKWKM" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_list_posts_none.json b/factory_data/channels.views.posts_test.test_list_posts_none.json deleted file mode 100644 index 30f7ae42f5..0000000000 --- a/factory_data/channels.views.posts_test.test_list_posts_none.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Expedita quisquam quos delectus. Velit suscipit ab magni amet modi.\nTempore placeat veniam dignissimos autem. Est ipsum maiores dolore minima reiciendis quibusdam provident. Dolore doloribus molestias hic temporibus corporis. Quasi facere quam omnis esse.\nSoluta sapiente ipsa voluptatibus sint. Perspiciatis quod est cupiditate expedita at. Nam amet dolorum labore iusto reiciendis. Enim atque repellat dolor accusantium.", - "name": "1535133954_inventore", - "public_description": "Officiis quas doloremque ex recusandae. Eius consequatur aperiam cumque odio reiciendis eius.", - "title": "Sed exercitationem mollitia aliquid quae aliquid." - } - }, - "users": { - "contributor": { - "username": "01CNPHTFDN4EKS392BZ8WJED67" - }, - "staff_user": { - "username": "01CNPHT93ADNADTD7RQMX622SA" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_list_posts_pagination_first_page_no_params.json b/factory_data/channels.views.posts_test.test_list_posts_pagination_first_page_no_params.json deleted file mode 100644 index d1b99ebadd..0000000000 --- a/factory_data/channels.views.posts_test.test_list_posts_pagination_first_page_no_params.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Porro molestiae odit eligendi sint illum sint repellat earum. Aliquid omnis quidem ad recusandae in blanditiis.\nLabore quasi tenetur quae earum eligendi velit. Dolores ad labore asperiores et repellendus. Facere saepe ullam odit laudantium. Expedita ex non iste explicabo.\nIpsum laboriosam dolor suscipit eaque perspiciatis nam dolore eligendi. Molestiae minus odio temporibus repellat quasi cumque quod esse. Ratione eius repellat ipsa dolorum.", - "name": "1542380923_nihil", - "public_description": "Incidunt eaque voluptate ipsum beatae possimus voluptatum.", - "title": "Fugiat rerum accusamus debitis quam minus." - } - }, - "posts": { - "0": { - "id": "9l", - "text": "Ea a vero officia quibusdam facilis autem. Magnam incidunt dolorum natus occaecati corporis hic.", - "title": "Quae nesciunt minus molestias delectus porro." - }, - "1": { - "id": "9m", - "text": "Quidem placeat optio officia. Nostrum optio suscipit nostrum porro.", - "title": "Voluptatem culpa ab voluptatibus accusantium." - }, - "10": { - "id": "9v", - "text": "Necessitatibus ipsa ab adipisci in. Atque alias ratione fuga ex.", - "title": "Veritatis expedita architecto dolor ea." - }, - "11": { - "id": "9w", - "text": "Odio rem ipsum delectus officia quo. Corrupti molestias nobis non laboriosam accusantium sit.", - "title": "Magnam placeat deserunt unde minima rem cumque." - }, - "12": { - "id": "9x", - "text": "Praesentium odit sunt sequi ad aspernatur. Nulla beatae dolorum eos a.", - "title": "Rem pariatur sint vel incidunt in a praesentium." - }, - "13": { - "id": "9y", - "text": "Ducimus eum consectetur eaque natus assumenda perferendis. Ab eius amet distinctio iusto.", - "title": "Quod officiis ullam optio tempore sint." - }, - "14": { - "id": "9z", - "text": "Id beatae cumque occaecati cum deserunt veniam. Vero nisi eveniet magni.", - "title": "Labore nam voluptas ab." - }, - "2": { - "id": "9n", - "text": "Aut quae ipsam omnis nisi tempore. Accusamus praesentium voluptatum ipsum ducimus dolorum.", - "title": "Voluptatem nisi dignissimos excepturi aliquam." - }, - "3": { - "id": "9o", - "text": "Nostrum dolores officiis rem dolor voluptatibus. Temporibus quae quisquam a.", - "title": "Error facere nisi magnam nam." - }, - "4": { - "id": "9p", - "text": "Beatae est veritatis magnam. Illum delectus occaecati libero quis amet natus.", - "title": "Quae magni possimus inventore quam." - }, - "5": { - "id": "9q", - "text": "Deleniti dolore suscipit odit iure illum. Optio excepturi perspiciatis amet officia.", - "title": "A ea minus illum nobis sapiente tempore." - }, - "6": { - "id": "9r", - "text": "Necessitatibus autem ullam nam quasi. Rem atque optio quod ipsam. Quos autem aut officiis optio.", - "title": "Non repellendus quibusdam sint alias." - }, - "7": { - "id": "9s", - "text": "Officiis vitae error velit. Fuga repellendus consectetur sequi fugiat. Minima modi ipsa nam totam.", - "title": "Hic dicta qui voluptas." - }, - "8": { - "id": "9t", - "text": "At magnam blanditiis provident culpa beatae recusandae optio. Harum amet vitae porro quae.", - "title": "Nostrum sint nobis maiores cupiditate." - }, - "9": { - "id": "9u", - "text": "Totam aperiam voluptates ut doloribus. Unde veniam molestiae totam pariatur porro doloribus fugiat.", - "title": "Ipsum quod sit inventore cumque fugiat." - } - }, - "users": { - "contributor": { - "username": "01CWEH23W7DSM2XAT1TV0KT1JP" - }, - "staff_user": { - "username": "01CWEH275GR7P40XCZ0SV20B15" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_list_posts_pagination_first_page_with_params.json b/factory_data/channels.views.posts_test.test_list_posts_pagination_first_page_with_params.json deleted file mode 100644 index 7b4ecefe5c..0000000000 --- a/factory_data/channels.views.posts_test.test_list_posts_pagination_first_page_with_params.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Laborum illum omnis debitis quae rem quasi. Vero assumenda laboriosam minus animi nam accusamus impedit. Sit maiores voluptatem exercitationem recusandae aliquid ipsum aspernatur.\nFugiat ullam dolor cumque quos debitis officia perferendis. Quasi cupiditate autem qui ipsam quas laborum. Laboriosam porro voluptate delectus nihil. At exercitationem quasi soluta architecto labore.\nVitae eveniet ab itaque itaque possimus. Omnis voluptas aliquid blanditiis sequi.", - "name": "1542380981_magni", - "public_description": "Aperiam voluptate necessitatibus blanditiis quos officia saepe debitis.", - "title": "Esse incidunt modi veritatis." - } - }, - "posts": { - "0": { - "id": "a0", - "text": "Sequi sit quis quaerat. Dolor mollitia eaque ipsa enim odit quibusdam.", - "title": "Officia quas eius architecto." - }, - "1": { - "id": "a1", - "text": "Delectus quaerat at modi fuga. Nulla veniam alias neque iste.", - "title": "Libero molestias unde similique quasi." - }, - "10": { - "id": "aa", - "text": "Et soluta eum illum suscipit error quos asperiores. Porro quasi animi odit ut porro fugiat.", - "title": "Distinctio ad et qui eos corrupti impedit." - }, - "11": { - "id": "ab", - "text": "Autem doloremque eligendi id blanditiis. Ipsa sequi rerum unde sed.", - "title": "Quas ratione sed sint debitis." - }, - "12": { - "id": "ac", - "text": "Nesciunt animi enim voluptatum illum. Magnam at sed officia. Saepe occaecati officia corrupti.", - "title": "Odio vitae similique nesciunt labore." - }, - "13": { - "id": "ad", - "text": "Sint libero modi velit numquam. Optio est voluptate enim rerum quae.", - "title": "Repellat non mollitia ducimus vero." - }, - "14": { - "id": "ae", - "text": "Laudantium qui magni minus. Libero architecto vero mollitia sed. Est tempora eius placeat quisquam.", - "title": "Ducimus occaecati magni saepe aliquam odio quos." - }, - "2": { - "id": "a2", - "text": "Doloribus sapiente corrupti quaerat nostrum laborum. Iste eum laboriosam tenetur doloremque.", - "title": "Quos dolor ratione harum tenetur illum inventore." - }, - "3": { - "id": "a3", - "text": "Totam voluptatibus repellat ullam ipsa. Nostrum aperiam id maxime.", - "title": "Ipsam nihil non autem quia itaque." - }, - "4": { - "id": "a4", - "text": "Dolorem eaque a officia ullam tempore omnis nobis. Minus cumque temporibus labore similique animi.", - "title": "Similique molestias et itaque laboriosam quia." - }, - "5": { - "id": "a5", - "text": "Suscipit illo ex rerum. Quas praesentium similique alias ad fuga esse.", - "title": "Eius corporis nemo nobis recusandae." - }, - "6": { - "id": "a6", - "text": "Incidunt ipsa illum accusantium. Debitis eum quam cumque eligendi.", - "title": "Assumenda maiores labore veniam accusantium." - }, - "7": { - "id": "a7", - "text": "Suscipit sequi ea culpa suscipit nisi fugit. Impedit veritatis dicta nemo voluptatum doloribus.", - "title": "Deleniti officiis tempore cumque vero." - }, - "8": { - "id": "a8", - "text": "Voluptatum velit error tempora soluta. Sunt iste consequuntur quod doloribus debitis totam.", - "title": "Quibusdam dolorum error omnis ipsam dolorem." - }, - "9": { - "id": "a9", - "text": "Possimus necessitatibus animi aspernatur qui. Sed velit magnam quidem totam similique.", - "title": "Quasi doloremque mollitia expedita fugit maiores." - } - }, - "users": { - "contributor": { - "username": "01CWEH3W6FCJJ009MBK960S1YB" - }, - "staff_user": { - "username": "01CWEH3ZFZ5Q9DCAYZ8BZ4Z1DJ" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_list_posts_pagination_non_first_page.json b/factory_data/channels.views.posts_test.test_list_posts_pagination_non_first_page.json deleted file mode 100644 index 05c30b519b..0000000000 --- a/factory_data/channels.views.posts_test.test_list_posts_pagination_non_first_page.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Delectus suscipit officiis occaecati earum laudantium laudantium. Ipsam natus quaerat voluptatem ducimus voluptatem quo. Voluptates voluptatum ullam sit id exercitationem.\nIllo ea magnam culpa sunt corporis eos nemo. Totam alias quae recusandae cupiditate totam optio earum. Aliquid iste culpa et modi ducimus sed repellat. Illum sapiente aliquid cum. Aut veritatis commodi cum dolorum reiciendis nostrum est.", - "name": "1542381038_repellat", - "public_description": "Expedita et quo ducimus molestias. Assumenda amet maiores nam totam.", - "title": "Quos repudiandae a repudiandae deserunt." - } - }, - "posts": { - "0": { - "id": "af", - "text": "Occaecati deserunt rem amet incidunt id. Doloribus enim ipsum qui unde dicta temporibus eos.", - "title": "Nesciunt nostrum quidem fugit eveniet eveniet." - }, - "1": { - "id": "ag", - "text": "Consequuntur nisi maiores eligendi voluptatem iste. Dolorem vero sed unde reiciendis aspernatur.", - "title": "Exercitationem fugiat quos voluptatum corrupti." - }, - "10": { - "id": "ap", - "text": "Molestiae neque reiciendis molestiae illum est nam. Mollitia quibusdam rerum at consectetur nisi.", - "title": "Itaque commodi ut iure quia quibusdam veniam." - }, - "11": { - "id": "aq", - "text": "Amet illo delectus fugit odio voluptatibus. Fuga iste autem et aperiam rem distinctio.", - "title": "Ut eius consequuntur cumque cumque." - }, - "12": { - "id": "ar", - "text": "Maiores quaerat repellendus cupiditate nesciunt quae sed incidunt. Dolorum dolorem incidunt error.", - "title": "Unde nemo voluptate velit aliquid." - }, - "13": { - "id": "as", - "text": "Eum quaerat id ducimus tempora. Fugit voluptates aspernatur nam.", - "title": "Incidunt eos sint harum inventore." - }, - "14": { - "id": "at", - "text": "Facere eaque ipsam ex blanditiis. A dolore mollitia officiis nam ab hic occaecati fugiat.", - "title": "Perspiciatis quia possimus ipsum quaerat quis." - }, - "2": { - "id": "ah", - "text": "Error nulla accusamus dicta. Dolorem porro dolore aut soluta quibusdam perferendis tempora nisi.", - "title": "Cum quam expedita cum deserunt explicabo." - }, - "3": { - "id": "ai", - "text": "Omnis provident voluptas voluptates a. Exercitationem soluta est a quaerat quos.", - "title": "Ipsum culpa beatae quam corporis cumque ea." - }, - "4": { - "id": "aj", - "text": "Vitae impedit ducimus occaecati natus. Fugit est porro vel maxime facere ipsum quia.", - "title": "Placeat non corporis illo saepe ab hic." - }, - "5": { - "id": "ak", - "text": "Consequatur qui ex ex dolorum temporibus at. Ratione eligendi nulla ipsam.", - "title": "Est laborum beatae beatae." - }, - "6": { - "id": "al", - "text": "Reprehenderit minus porro veniam. Asperiores corrupti accusantium excepturi eum est est.", - "title": "Sapiente quas officiis nemo facilis." - }, - "7": { - "id": "am", - "text": "Iste dolor quia et molestiae facere ex maiores. Quam velit laborum nisi a maiores quia.", - "title": "Quae sunt reiciendis recusandae pariatur." - }, - "8": { - "id": "an", - "text": "Perspiciatis dolorem cupiditate impedit temporibus. Cupiditate excepturi quae ullam totam dolorum.", - "title": "Adipisci ab odio minima non harum autem officia." - }, - "9": { - "id": "ao", - "text": "Ducimus fugiat est dolor quis suscipit corrupti blanditiis. Quidem beatae fugit occaecati.", - "title": "Dolore facere ipsa neque nam odit id praesentium." - } - }, - "users": { - "contributor": { - "username": "01CWEH5ME12ZJN5NJNP6BAQTVF" - }, - "staff_user": { - "username": "01CWEH5QRJCGX8G9WPTPNTQG2X" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_list_posts_pagination_non_offset_page.json b/factory_data/channels.views.posts_test.test_list_posts_pagination_non_offset_page.json deleted file mode 100644 index f2221b157b..0000000000 --- a/factory_data/channels.views.posts_test.test_list_posts_pagination_non_offset_page.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Iusto illum cumque delectus eos eum facilis error. Non iste deleniti est vitae id inventore. Non quibusdam harum id quia officia reprehenderit.\nDignissimos nam esse esse praesentium temporibus iure vitae. Quia nihil vero libero. Maiores nemo dicta ut sunt praesentium.\nOdit esse officiis facere voluptatem praesentium vero. Beatae deserunt doloremque iure molestias nemo quasi. Earum soluta iure nisi omnis ipsum similique laborum quibusdam. Molestiae accusamus ducimus maxime deserunt officia.", - "name": "1542381096_voluptates", - "public_description": "Officia ipsam iste sint quia sed fuga.", - "title": "Aperiam perferendis laborum dolores eius." - } - }, - "posts": { - "0": { - "id": "au", - "text": "Molestias ea corporis qui magni. Alias maxime vitae quia id ad.", - "title": "Nihil eum debitis iste autem atque at." - }, - "1": { - "id": "av", - "text": "Rerum ut nisi placeat laboriosam sit eos. Temporibus voluptas assumenda est nam.", - "title": "Odit dicta totam odio doloremque." - }, - "10": { - "id": "b4", - "text": "Sapiente occaecati blanditiis aliquam fugit. Deserunt excepturi delectus animi facere iste.", - "title": "Explicabo commodi est similique ad eius saepe." - }, - "11": { - "id": "b5", - "text": "Quas quidem eligendi eos autem alias nisi. Earum ratione sunt tempora rem recusandae.", - "title": "Magni sapiente a corporis." - }, - "12": { - "id": "b6", - "text": "Ex a corrupti nobis porro architecto porro sed. Commodi magni officiis perferendis nihil quia.", - "title": "Ratione accusantium molestiae harum iure optio." - }, - "13": { - "id": "b7", - "text": "Non eius nisi sunt aliquid. Impedit quae itaque non impedit. Voluptas maiores illum cum vero.", - "title": "Alias architecto illo debitis quasi." - }, - "14": { - "id": "b8", - "text": "Cum ex commodi excepturi iusto ea at repudiandae. Quo vitae sequi doloribus at architecto.", - "title": "Eaque nobis corporis sequi nostrum in." - }, - "2": { - "id": "aw", - "text": "Neque suscipit ratione perferendis explicabo. A sapiente occaecati mollitia voluptatem incidunt.", - "title": "Neque amet fugiat vero error nam rem quisquam." - }, - "3": { - "id": "ax", - "text": "Dolorum minus odit inventore necessitatibus rem. Enim nostrum doloremque omnis aut fugit.", - "title": "At impedit voluptas temporibus." - }, - "4": { - "id": "ay", - "text": "Debitis rerum alias culpa quos eos. Impedit sunt aut vitae sit.", - "title": "At aliquid beatae unde maiores quaerat nostrum." - }, - "5": { - "id": "az", - "text": "Corrupti vel temporibus nemo architecto. Maiores qui commodi dolores. Nobis corrupti nemo quo eum.", - "title": "Harum culpa possimus quaerat atque similique." - }, - "6": { - "id": "b0", - "text": "Praesentium quisquam nemo facere asperiores eum. Nesciunt nulla alias debitis vero.", - "title": "Consectetur similique officia magnam temporibus." - }, - "7": { - "id": "b1", - "text": "Deserunt doloribus quaerat dolore. Itaque error hic voluptate maiores deserunt amet.", - "title": "Illo ducimus soluta repellendus sed aliquid." - }, - "8": { - "id": "b2", - "text": "Adipisci vero vel dicta. Ut tempora occaecati eius dicta deleniti nisi.", - "title": "Fugiat aperiam hic perferendis amet labore." - }, - "9": { - "id": "b3", - "text": "Ipsa quisquam autem pariatur non quia. Id aliquid temporibus minus explicabo ipsum dignissimos.", - "title": "Laboriosam a ea culpa unde alias beatae." - } - }, - "users": { - "contributor": { - "username": "01CWEH7CQQJD0C95VKDNGXN434" - }, - "staff_user": { - "username": "01CWEH7FZWFKEE71ZQ4GP047KQ" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_list_posts_sorted[hot].json b/factory_data/channels.views.posts_test.test_list_posts_sorted[hot].json deleted file mode 100644 index 9284a7925a..0000000000 --- a/factory_data/channels.views.posts_test.test_list_posts_sorted[hot].json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Et doloribus assumenda quidem. Occaecati excepturi ratione consequuntur. Repellendus eius maxime reiciendis aspernatur voluptatibus dolores. Architecto facere harum beatae dolorem laborum officiis eius.\nDucimus quaerat voluptatum assumenda dignissimos accusantium. Adipisci omnis delectus sed dolorem facere corporis quasi. Sequi cupiditate quos neque totam ad error. Nihil reprehenderit laboriosam labore nemo.", - "name": "1542380831_sequi", - "public_description": "Atque aspernatur libero vel ullam commodi rem iure.", - "title": "Earum repellat ipsum assumenda." - } - }, - "posts": { - "my 2nd post": { - "id": "96", - "text": "Assumenda eveniet consequatur eos autem quos. Autem architecto iure nesciunt voluptatibus.", - "title": "Dignissimos at repellat explicabo rem earum." - }, - "my 3rd post": { - "id": "97", - "text": "Corrupti at dolorum natus neque molestiae veritatis. Ab ex vero beatae vel quaerat.", - "title": "Sapiente quidem officiis consectetur amet." - }, - "my 4th post": { - "id": "98", - "text": "Quaerat illum explicabo cumque quo hic. Ratione minima officia dolorum blanditiis ex est.", - "title": "Dolorum voluptates quisquam ab totam occaecati." - }, - "my post": { - "id": "95", - "text": "Expedita suscipit quae impedit. Ea totam et saepe. Et odio a voluptate voluptas fugiat quae.", - "title": "Ad magni quis maiores deserunt." - } - }, - "users": { - "contributor": { - "username": "01CWEGZA3NRMPJANA8PPRYS84N" - }, - "staff_user": { - "username": "01CWEGZDD3DHEYPM8GZGZGK8ND" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_list_posts_sorted[new].json b/factory_data/channels.views.posts_test.test_list_posts_sorted[new].json deleted file mode 100644 index 8cc9a07bc1..0000000000 --- a/factory_data/channels.views.posts_test.test_list_posts_sorted[new].json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Hic alias reiciendis nihil consequatur amet. Alias ut ad ea quae harum sint labore itaque. Impedit dolor perspiciatis blanditiis. Fugit quaerat quia modi.\nNostrum vero aliquam optio officia. Soluta neque non non architecto. In assumenda aspernatur quos ipsum cum itaque.", - "name": "1542380877_totam", - "public_description": "Necessitatibus voluptatibus animi officiis tempora autem eligendi repellat.", - "title": "Nihil eos praesentium molestiae." - } - }, - "posts": { - "my 2nd post": { - "id": "9e", - "text": "Beatae minima at delectus. Illo magnam et consequatur nam facere odio ex.", - "title": "Porro odit corporis suscipit eum voluptatibus." - }, - "my 3rd post": { - "id": "9f", - "text": "Quod soluta consequatur nesciunt eos ullam. Molestias temporibus amet adipisci doloremque.", - "title": "Quis amet fugiat non." - }, - "my 4th post": { - "id": "9g", - "text": "Vero id voluptatem dicta ad. Quas et expedita autem sequi quasi ipsum. Magni aspernatur fuga ipsam.", - "title": "Quibusdam accusantium occaecati tempora corrupti." - }, - "my post": { - "id": "9d", - "text": "Debitis fugiat repudiandae iure repellat molestiae. Quod quibusdam illum eveniet perspiciatis.", - "title": "Vel magni vitae nisi vitae sequi rem veniam." - } - }, - "users": { - "contributor": { - "username": "01CWEH0Q0XQ49S7PVDNH0AS5CA" - }, - "staff_user": { - "username": "01CWEH0T9W280DZW73XPA1MB1G" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_list_posts_sorted[top].json b/factory_data/channels.views.posts_test.test_list_posts_sorted[top].json deleted file mode 100644 index bedd362598..0000000000 --- a/factory_data/channels.views.posts_test.test_list_posts_sorted[top].json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Ad vel ut culpa repudiandae. Perspiciatis libero reiciendis exercitationem tenetur enim odit nihil.\nIllo repellat ipsam consequatur possimus enim porro ex. Quaerat libero possimus ut asperiores. Distinctio tempore molestiae minima velit. Officia illum ratione dolorum ipsum.\nCulpa error aperiam doloribus dolores. Nesciunt ut dicta praesentium dolore quos praesentium. Et fugiat voluptate sed aliquam.", - "name": "1542380854_mollitia", - "public_description": "Odit quo eveniet minus vitae quod.", - "title": "Officiis animi tempora aperiam qui quisquam in." - } - }, - "posts": { - "my 2nd post": { - "id": "9a", - "text": "A vel accusamus provident. Corporis dolor labore culpa.", - "title": "At atque magnam earum ratione omnis culpa rem." - }, - "my 3rd post": { - "id": "9b", - "text": "Aspernatur voluptatum distinctio nostrum quos. Beatae tempora quam beatae quaerat.", - "title": "Quia culpa amet quidem illo." - }, - "my 4th post": { - "id": "9c", - "text": "Amet ea excepturi minima neque illo. Nobis maxime suscipit dolor earum voluptas.", - "title": "Laborum quaerat officiis velit explicabo maiores." - }, - "my post": { - "id": "99", - "text": "Natus quasi soluta nisi architecto quo nihil. Labore totam quas nostrum aliquam ex.", - "title": "Occaecati magnam delectus nisi." - } - }, - "users": { - "contributor": { - "username": "01CWEH00N5E0PR2CH2RXFJEVVC" - }, - "staff_user": { - "username": "01CWEH03Y5CRV488MZ25G3E0WC" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_list_posts_stickied.json b/factory_data/channels.views.posts_test.test_list_posts_stickied.json deleted file mode 100644 index a5b4d286a8..0000000000 --- a/factory_data/channels.views.posts_test.test_list_posts_stickied.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Mollitia commodi ut quam aliquam. Beatae quas magnam veritatis numquam laborum sed repellat. Soluta dolor libero nulla ipsa accusamus hic optio. Autem adipisci deserunt ipsam sint vero.\nFugit deleniti amet corporis. Repellendus ab molestias illo. Laboriosam amet corporis ipsa unde mollitia. Qui fuga qui ab iusto laudantium.", - "name": "1542380900_impedit", - "public_description": "Voluptates fugit ab delectus ex saepe veritatis molestias.", - "title": "Repudiandae culpa molestias non libero deleniti." - } - }, - "posts": { - "great post!0": { - "id": "9h", - "text": "Nemo atque dolore aut sed quos. Sint aliquam magnam dolores.", - "title": "Nostrum assumenda optio aspernatur." - }, - "great post!1": { - "id": "9i", - "text": "Minus tempora laborum accusantium necessitatibus vel. Adipisci totam aspernatur iure possimus vero.", - "title": "Asperiores illum doloremque vero." - }, - "great post!2": { - "id": "9j", - "text": "Quidem laboriosam assumenda error laudantium. Nisi amet voluptatibus vel id cum occaecati.", - "title": "Fuga ab qui dignissimos quo nisi odit." - }, - "great post!3": { - "id": "9k", - "text": "Animi deleniti occaecati quasi. Esse nulla provident adipisci minus.", - "title": "Distinctio rem recusandae assumenda modi." - } - }, - "users": { - "contributor": { - "username": "01CWEH1DEM3FW5FFZKHZNZCGCM" - }, - "staff_user": { - "username": "01CWEH1GPXJRG341F2AD1Z297B" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_patch_article_validate_cover_image.json b/factory_data/channels.views.posts_test.test_patch_article_validate_cover_image.json deleted file mode 100644 index da5949e258..0000000000 --- a/factory_data/channels.views.posts_test.test_patch_article_validate_cover_image.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Impedit recusandae et totam. Rem odit iure doloremque cupiditate in. Provident repellat ex ratione minus distinctio eum dicta. Minus aut ad dignissimos sunt nemo odit ex qui.\nVoluptate labore inventore animi. Magni provident possimus molestiae corrupti eos.\nDolores excepturi architecto odio laudantium aliquam ipsum asperiores aliquam. Nesciunt labore reprehenderit tenetur cupiditate impedit consectetur labore error. Labore nostrum consequuntur numquam perspiciatis tempore eius.", - "name": "1545309153_7_optio", - "public_description": "Assumenda libero illum laboriosam aperiam assumenda hic.", - "title": "Eveniet voluptatum maiores inventore in iusto." - } - }, - "users": { - "contributor": { - "username": "01CZ5SMM4HWVZBKX8W7MQFGYVT" - }, - "staff_user": { - "username": "01CZ5SMQDTAK99K3GVEYFDTQY0" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_post_create_post_new_meta.json b/factory_data/channels.views.posts_test.test_post_create_post_new_meta.json deleted file mode 100644 index 2db94eff84..0000000000 --- a/factory_data/channels.views.posts_test.test_post_create_post_new_meta.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Court return break address final act. Bring physical cost set among.\nNumber but follow space pick. Chair heart around once cover once system. Technology program activity receive American nor door.\nMorning have leader travel. I arrive ok item water. Door major ever major his activity decide.\nCommunity work success performance morning participant affect. Should manager card spring.\nProduction clearly network building able message.", - "name": "1595975729_1_special", - "public_description": "Present student voice certainly child social wall shake.", - "title": "Yard beyond final order stock." - } - }, - "users": { - "contributor": { - "username": "01EEBS1SD0TWP40SAQHC1Z8JGQ" - }, - "staff_user": { - "username": "01EEBS1WXZCWYCME136DPP9SZF" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_post_create_post_no_thumbnail.json b/factory_data/channels.views.posts_test.test_post_create_post_no_thumbnail.json deleted file mode 100644 index f45b9703f8..0000000000 --- a/factory_data/channels.views.posts_test.test_post_create_post_no_thumbnail.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Ok scientist politics section political let.\nDifferent wonder agree garden. Of citizen part buy. More themselves painting several go sort measure. Factor rock article trip form walk minute.\nThreat share candidate current late those understand. Explain pressure everything choice tonight base though.\nWonder way building day page. Not indicate possible both table five.\nMake different now claim fall.\nPerhaps by keep lay behind produce computer. My physical letter. Different street support imagine.", - "name": "1595975451_2_military", - "public_description": "Human operation whom house pretty sign. Line career food indicate shoulder.", - "title": "Father green stock return more remember charge." - } - }, - "users": { - "contributor": { - "username": "01EEBRSAAADXC3T1N25DKFD7YK" - }, - "staff_user": { - "username": "01EEBRSDMMKF8PZFBHR3291WER" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_subscribe_post[False-False-0-1].json b/factory_data/channels.views.posts_test.test_subscribe_post[False-False-0-1].json deleted file mode 100644 index 80d114c1c7..0000000000 --- a/factory_data/channels.views.posts_test.test_subscribe_post[False-False-0-1].json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Saepe quae molestiae perferendis deserunt necessitatibus architecto. Est error corporis doloribus distinctio cupiditate quae. Adipisci commodi qui ea deserunt labore. Id vel non quia culpa.\nDolores quasi minima numquam deleniti rem. Minima perferendis quae eveniet deleniti voluptates. Deserunt illum sit vero ipsum officiis quasi id quidem.", - "name": "1535134525_quo", - "public_description": "A iure quia ex sit voluptates. Cupiditate reiciendis ad velit quo perspiciatis.", - "title": "Odit corporis dolor architecto ducimus." - } - }, - "comments": { - "just a comment": { - "children": [], - "comment_id": null, - "id": "3c", - "post_id": "47", - "text": "Deleniti molestiae quas fugiat adipisci ipsam. Totam fugit assumenda neque nemo." - } - }, - "posts": { - "just a post": { - "id": "47", - "text": "Minima dolores natus impedit corporis placeat. Quasi quaerat alias totam nam harum eveniet rerum.", - "title": "Perferendis consequuntur error commodi sint." - } - }, - "users": { - "contributor": { - "username": "01CNPJBX10XSED0SKX3TPVTF8Z" - }, - "staff_user": { - "username": "01CNPJBPNHW3W5FNR2ZGXDEJWK" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_subscribe_post[False-True-1-2].json b/factory_data/channels.views.posts_test.test_subscribe_post[False-True-1-2].json deleted file mode 100644 index 5ef1eb3089..0000000000 --- a/factory_data/channels.views.posts_test.test_subscribe_post[False-True-1-2].json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Quae commodi sapiente rem facilis ipsum veniam. Quibusdam ea id nesciunt dicta commodi. Officiis facilis nihil excepturi impedit impedit dolor atque molestias. Perferendis porro esse placeat temporibus eligendi repudiandae impedit. Iusto ut suscipit omnis iste voluptate ratione tempora.", - "name": "1535134508_facilis", - "public_description": "Amet reprehenderit ab numquam odio. Quia id debitis pariatur. Omnis beatae at odio odio sunt.", - "title": "Doloribus tempora beatae illo quia." - } - }, - "comments": { - "just a comment": { - "children": [], - "comment_id": null, - "id": "3b", - "post_id": "46", - "text": "Aperiam nisi et excepturi molestias quisquam. Mollitia rerum eveniet nobis velit in." - } - }, - "posts": { - "just a post": { - "id": "46", - "text": "Dignissimos dignissimos quas consequatur facilis. Repellat consequuntur earum eligendi quo dolor.", - "title": "Quisquam ipsum dolorum minus officiis." - } - }, - "users": { - "contributor": { - "username": "01CNPJBCZMNXF2SH6REXCMEEPY" - }, - "staff_user": { - "username": "01CNPJB6MV6D858J1RG6KEMYVC" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_subscribe_post[True-False-1-1].json b/factory_data/channels.views.posts_test.test_subscribe_post[True-False-1-1].json deleted file mode 100644 index b4c21ba09d..0000000000 --- a/factory_data/channels.views.posts_test.test_subscribe_post[True-False-1-1].json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Aut recusandae debitis deserunt nesciunt facere perferendis. Sint voluptatum ut voluptatibus fugit provident dolor. Quibusdam architecto consequuntur ipsam alias illum ut quam delectus. Perferendis beatae beatae ullam.\nLaudantium quod adipisci id itaque debitis dolorem assumenda. Quod voluptate perferendis ab recusandae harum enim labore perferendis. Maiores dolorum et labore in cupiditate ea. Corrupti officiis aperiam error voluptatibus.", - "name": "1535134476_labore", - "public_description": "Velit id soluta perferendis. Nam doloremque atque temporibus amet asperiores modi.", - "title": "Harum voluptates unde sunt nisi soluta." - } - }, - "comments": { - "just a comment": { - "children": [], - "comment_id": null, - "id": "39", - "post_id": "44", - "text": "Quam veniam minus tempora dolore consectetur exercitationem. Neque alias nemo asperiores non." - } - }, - "posts": { - "just a post": { - "id": "44", - "text": "Vitae nemo at modi deserunt. Asperiores laborum vero eum aut accusamus voluptas rerum eos.", - "title": "Consectetur voluptatibus eos rerum et." - } - }, - "users": { - "contributor": { - "username": "01CNPJACZ7A3EPJD9YV1KEGQ03" - }, - "staff_user": { - "username": "01CNPJA6NVC06BCEBG0XKZAMHS" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_subscribe_post[True-True-2-2].json b/factory_data/channels.views.posts_test.test_subscribe_post[True-True-2-2].json deleted file mode 100644 index 0aa9b2ed4f..0000000000 --- a/factory_data/channels.views.posts_test.test_subscribe_post[True-True-2-2].json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Quaerat neque cum consequatur animi sequi. Aperiam necessitatibus fugit sint dignissimos. In minima atque aliquid provident ratione error. Itaque rem cumque sint molestias minima aut.\nNemo impedit doloremque eaque odio. Laborum distinctio quia totam ut nesciunt assumenda est. Soluta dicta laudantium doloremque quaerat beatae.", - "name": "1535134492_saepe", - "public_description": "Perferendis eligendi omnis a quidem. Laborum modi itaque qui officia vel.", - "title": "Ipsa cum corporis praesentium fugit tempore vero." - } - }, - "comments": { - "just a comment": { - "children": [], - "comment_id": null, - "id": "3a", - "post_id": "45", - "text": "Modi beatae soluta nihil optio nihil. Voluptas sint molestiae quos cupiditate voluptatibus." - } - }, - "posts": { - "just a post": { - "id": "45", - "text": "Qui totam distinctio dolorum accusantium. Nobis blanditiis aliquid atque est.", - "title": "Provident eius voluptates sequi." - } - }, - "users": { - "contributor": { - "username": "01CNPJAWXK2C51C1MKPJDXXWP1" - }, - "staff_user": { - "username": "01CNPJAPJG5HNFR391J3Y96FAS" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_unsubscribe_post.json b/factory_data/channels.views.posts_test.test_unsubscribe_post.json deleted file mode 100644 index 2c686d4f16..0000000000 --- a/factory_data/channels.views.posts_test.test_unsubscribe_post.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Vitae consectetur officiis distinctio reprehenderit perspiciatis. Culpa repellat ratione voluptates commodi consequatur. Omnis amet exercitationem ratione iure. Porro sunt expedita asperiores labore.\nCulpa quos nisi reprehenderit rerum. Eveniet at perspiciatis nemo. Ullam explicabo a rerum doloribus ut dolores adipisci. Maxime iure inventore occaecati facilis unde. Totam quam in voluptatem molestiae labore.", - "name": "1535134541_et", - "public_description": "Illo praesentium officia quod in doloribus. Sint consequatur maxime dolore id eum.", - "title": "Fuga doloribus consequuntur molestiae dicta." - } - }, - "posts": { - "just a post": { - "id": "48", - "text": "Sit odit tempora excepturi dolores. Neque ipsam itaque occaecati. Ipsam amet labore nulla tempore.", - "title": "Quia minus magnam ipsum magnam nihil." - } - }, - "users": { - "contributor": { - "username": "01CNPJCD0QQBXR9Q1FKGPD92H5" - }, - "staff_user": { - "username": "01CNPJC6NMSMRX7H99V0CSWQQX" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_update_article_cover.json b/factory_data/channels.views.posts_test.test_update_article_cover.json deleted file mode 100644 index a0f0db5a44..0000000000 --- a/factory_data/channels.views.posts_test.test_update_article_cover.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Firm go near human address quite million. Story or third.\nUnit summer agency can religious. Executive social true nearly yes may animal. Together serve run technology catch music.\nLive expert clearly begin future. Entire either simply. Six agent beautiful before doctor partner able.\nPolice yard future offer. Woman reflect home whom.\nTake goal quite task mouth smile.\nGarden total father wind put attorney just word. Trial teach such laugh east management third. Join various girl important media.", - "name": "1595974547_30_blood", - "public_description": "Modern perform voice war center.", - "title": "Institution task heart hour rise." - } - }, - "posts": { - "post": { - "article_content": [ - { - "node": "text", - "value": "Three where responsibility recent visit so. Score record relate push.\nOver southern likely fish sense. Election million role beautiful cover save staff how. Television read history sing." - }, - { - "node": "text", - "value": "Science ask office rate believe. Certainly various this out fly analysis threat.\nSchool board because upon perform arrive change. Many would act popular. President put rather." - }, - { - "node": "text", - "value": "Level raise onto last small.\nLoss than onto most cost world happen treat. According magazine go community buy after huge." - } - ], - "id": "12", - "title": "Want human political stay rich way establish." - } - }, - "users": { - "contributor": { - "username": "01EEBQXQJM45JXKJ82CRSMA5TX" - }, - "staff_user": { - "username": "01EEBQXTSTNDRJGYXXSKMH9CD8" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.posts_test.test_update_article_post.json b/factory_data/channels.views.posts_test.test_update_article_post.json deleted file mode 100644 index 7f3c43933e..0000000000 --- a/factory_data/channels.views.posts_test.test_update_article_post.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Allow list girl ability. Total under try subject rock cell. Training season recent share condition fight fear.\nHeart all real accept citizen. Herself much decade story those. Condition total goal list couple price happen his.\nSeries nothing room style often bank. Question bit ago somebody.\nLose discussion performance tough discussion as well. Under guess decade plan animal.\nInterest local across glass accept. Character plan generation though tend.\nFast share own almost.", - "name": "1595974534_29_and", - "public_description": "Later college health teach step discussion. Reflect drive up western.", - "title": "Eight those should sign watch rock Congress." - } - }, - "posts": { - "post": { - "article_content": [ - { - "node": "text", - "value": "On out create old especially. Appear support task pattern. Meeting from learn.\nProject single customer key. Tree expert teacher. War air notice prevent." - }, - { - "node": "text", - "value": "Whether soldier toward girl relationship.\nStuff within get indeed tax score form his. Heavy along to film. Focus various evidence free lead bill vote." - }, - { - "node": "text", - "value": "Just information glass PM together. Civil figure successful level as subject. Already at might important skin coach. Step now clearly civil particularly." - } - ], - "id": "11", - "title": "Suggest order after mean painting." - } - }, - "users": { - "contributor": { - "username": "01EEBQXARTDD9YGQXE1Z08Y4Y7" - }, - "staff_user": { - "username": "01EEBQXDZPKES5XBPK019CHXPY" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.reports_test.test_list_reports.json b/factory_data/channels.views.reports_test.test_list_reports.json deleted file mode 100644 index 48566d8261..0000000000 --- a/factory_data/channels.views.reports_test.test_list_reports.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Suscipit quas possimus ipsa optio exercitationem explicabo modi. Tempore reprehenderit quibusdam natus harum iusto quidem. Et nulla totam est maxime.\nAsperiores quia doloremque explicabo optio necessitatibus repellat nulla aut. Facilis deserunt suscipit non vel. Quam praesentium alias iusto porro voluptatem itaque quaerat fugit. Hic laboriosam asperiores porro voluptates suscipit neque.", - "name": "1542383541_esse", - "public_description": "Nulla consectetur eius reiciendis alias asperiores.", - "title": "Veniam ratione nam harum qui." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "8b", - "post_id": "bf", - "text": "Itaque placeat dolor fuga ullam voluptatem beatae. Unde cumque ut non." - } - }, - "posts": { - "post": { - "id": "bf", - "text": "Possimus quod inventore minima. Itaque hic ex consectetur accusantium qui minus.", - "title": "Facilis ab atque quae commodi." - } - }, - "users": { - "contributor": { - "username": "01CWEKJ9YE456S8YA76XZ0D4SS" - }, - "staff_user": { - "username": "01CWEKJ3JXRWWGMYEXDEHFQ8CR" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.reports_test.test_list_reports_empty.json b/factory_data/channels.views.reports_test.test_list_reports_empty.json deleted file mode 100644 index ac2b73dd82..0000000000 --- a/factory_data/channels.views.reports_test.test_list_reports_empty.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Sint eius animi consectetur laudantium. Vel quae nobis placeat quam ut. Aperiam iste dicta natus rerum tenetur voluptatum. Aspernatur laudantium dicta pariatur quos asperiores.\nPerspiciatis alias ea veritatis. Rem ab atque nemo molestiae quam. Et voluptatibus aut doloribus. Neque pariatur aliquid reiciendis eius corporis rerum.", - "name": "1535134627_nesciunt", - "public_description": "Nulla nemo beatae sapiente. Non modi magnam provident id ullam.", - "title": "Nihil perferendis molestiae maxime aut." - } - }, - "users": { - "staff_user": { - "username": "01CNPJETS82D74DKDSKSYA66K7" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.reports_test.test_patch_channel_noauth.json b/factory_data/channels.views.reports_test.test_patch_channel_noauth.json deleted file mode 100644 index 53e23171b5..0000000000 --- a/factory_data/channels.views.reports_test.test_patch_channel_noauth.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Provident at id quis inventore veritatis natus eius reprehenderit. A quos optio pariatur odit temporibus. Ullam voluptates sed animi dolore sint vel ipsum. Facilis veniam ea similique omnis.\nRatione unde inventore deleniti dolor. Reiciendis sed quia quod dolore tempore dignissimos rem labore.", - "name": "1535134644_necessitat", - "public_description": "Perferendis odit repudiandae perferendis culpa. Molestias nesciunt debitis ipsam.", - "title": "Doloremque pariatur quaerat molestias aperiam." - } - }, - "users": { - "staff_user": { - "username": "01CNPJFAVR2VPZGJ0MF12229XV" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.reports_test.test_patch_channel_nonstaff.json b/factory_data/channels.views.reports_test.test_patch_channel_nonstaff.json deleted file mode 100644 index 7204e6daf8..0000000000 --- a/factory_data/channels.views.reports_test.test_patch_channel_nonstaff.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Enim enim quod ducimus reiciendis molestiae qui. Nulla eligendi hic nesciunt nisi blanditiis ab nesciunt. Earum quod nesciunt earum sequi.\nAtque libero error et illo. Ut assumenda quas ea. Magni possimus vero maxime molestiae corrupti. Voluptatum recusandae sunt quae vel.\nQuibusdam reprehenderit fugiat quam id rem eaque. Molestiae consequatur iusto id. Voluptatibus accusantium repudiandae rem minima voluptatum. Quae tempore suscipit dolor a eius numquam. Alias esse deserunt ratione libero.", - "name": "1535134637_numquam", - "public_description": "Temporibus suscipit pariatur non eligendi beatae maxime. Labore facilis provident rerum molestiae.", - "title": "Eveniet id vitae maxime ab sit sapiente aliquam." - } - }, - "users": { - "contributor": { - "username": "01CNPJF14YVZQZ3AST8WDYHEZ6" - }, - "staff_user": { - "username": "01CNPJF4DTJH6Q7JS8S99ENZWW" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.reports_test.test_report_anonymous.json b/factory_data/channels.views.reports_test.test_report_anonymous.json deleted file mode 100644 index 9404895de1..0000000000 --- a/factory_data/channels.views.reports_test.test_report_anonymous.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Sed ex odio iste doloribus optio voluptatem. Error doloremque veniam nisi placeat fugit consectetur. Maxime nulla facere sapiente aliquid. Sit iste odit autem error exercitationem sint ad ipsam.\nQuisquam nemo ipsum voluptatem officiis vero tenetur. Ipsa culpa nesciunt cupiditate minima necessitatibus. Non eveniet rem autem suscipit labore occaecati.", - "name": "1535134585_quae", - "public_description": "Cum earum ab quod placeat repellat. Quod sunt rerum pariatur. Nam enim odit at nesciunt.", - "title": "Corrupti atque suscipit ipsa nihil consequatur." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "3e", - "post_id": "4b", - "text": "Aut fuga numquam eum in. Fugit asperiores quaerat quasi itaque. Atque sapiente esse facilis ullam." - } - }, - "posts": { - "post": { - "id": "4b", - "text": "A explicabo dicta magnam a illum blanditiis. Cum eum inventore aut sapiente.", - "title": "Aperiam velit veritatis ab doloremque molestiae." - } - }, - "users": { - "staff_user": { - "username": "01CNPJDH5HS290ZD5KPVBZ4VT7" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.reports_test.test_report_comment.json b/factory_data/channels.views.reports_test.test_report_comment.json deleted file mode 100644 index 38221d6fa0..0000000000 --- a/factory_data/channels.views.reports_test.test_report_comment.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Incidunt iure quibusdam qui quasi earum quas. Laborum eaque tempore nihil quos. Reprehenderit ipsa et quasi necessitatibus repellendus quibusdam exercitationem. Dolore beatae temporibus nemo ipsum asperiores dicta dicta.\nVoluptatum laborum enim amet non rem. Sint reprehenderit aut id officiis culpa. Ipsam perspiciatis exercitationem voluptatem molestias. Recusandae nam porro cum.", - "name": "1535134569_in", - "public_description": "Magnam assumenda minima quisquam porro. Consequuntur pariatur rem quibusdam saepe.", - "title": "Asperiores ut explicabo impedit pariatur." - } - }, - "comments": { - "comment": { - "children": [], - "comment_id": null, - "id": "3d", - "post_id": "4a", - "text": "Fugiat quas deserunt nihil exercitationem eos maxime sed. Fugit nemo accusamus vero accusantium." - } - }, - "posts": { - "post": { - "id": "4a", - "text": "Animi totam ad ullam quas repellat. Amet modi doloremque cum voluptatum temporibus accusamus.", - "title": "Sint sed facilis ea cumque rem quasi." - } - }, - "users": { - "contributor": { - "username": "01CNPJD7M53P1BNXWQC5MJBXH7" - }, - "staff_user": { - "username": "01CNPJD18V7W3WD4K05DKS4P1D" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.reports_test.test_report_post.json b/factory_data/channels.views.reports_test.test_report_post.json deleted file mode 100644 index 6da110e686..0000000000 --- a/factory_data/channels.views.reports_test.test_report_post.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Hic rem earum ipsum. Recusandae iusto non itaque quia. Maxime odio ut vitae enim explicabo.\nMagnam earum esse nemo odio nam corrupti totam. Consequuntur ex accusantium eos placeat neque.\nNumquam tempore optio repudiandae magnam quam rem deleniti. Odit ipsam veritatis animi dolor necessitatibus quae earum sequi. Voluptatum atque fugit perferendis eaque. Ipsum tempore eaque odio corporis.\nOdio error officia tempora corrupti perspiciatis. Sunt ex laborum officiis fugit labore.", - "name": "1535134555_officia", - "public_description": "Numquam quos laborum nostrum at eum maiores. Harum quisquam odio soluta nisi quas.", - "title": "Rem facere facere nobis." - } - }, - "posts": { - "post": { - "id": "49", - "text": "At odio corrupti culpa nam sint architecto. Enim neque optio ab praesentium.", - "title": "Accusamus impedit voluptas deleniti praesentium." - } - }, - "users": { - "contributor": { - "username": "01CNPJCTF7NXVZVNSGRC27ACE9" - }, - "staff_user": { - "username": "01CNPJCM4GJF26RDD1WXD17Q47" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.subscribers_test.test_add_subscriber.json b/factory_data/channels.views.subscribers_test.test_add_subscriber.json deleted file mode 100644 index e8b454f48e..0000000000 --- a/factory_data/channels.views.subscribers_test.test_add_subscriber.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "staff_user": { - "username": "01BYXNKW30Y9AY335MMFEE8E0Y" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.subscribers_test.test_add_subscriber[1].json b/factory_data/channels.views.subscribers_test.test_add_subscriber[1].json deleted file mode 100644 index c89a218ffa..0000000000 --- a/factory_data/channels.views.subscribers_test.test_add_subscriber[1].json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Quam vel aliquid sequi ut enim. Ea voluptatem quasi in. Magni nemo sint maiores. Nihil maiores atque commodi dolorum asperiores atque. Rem quam quos nostrum magnam.\nExercitationem sint voluptatem sit vero. Impedit officiis deleniti quae rem officia asperiores. Itaque excepturi quo beatae quam natus fuga soluta. Tempore fugit placeat eos odit.", - "name": "1542147342_reprehende", - "public_description": "Dolor expedita similique debitis voluptatem facere itaque.", - "title": "Illo perferendis adipisci suscipit modi." - } - }, - "users": { - "contributor": { - "username": "01CW7J9WZT8PN8KSMPS293ZB4E" - }, - "staff_user": { - "username": "01CW7J9SQKAGJEXCZ8GB0V9Z6S" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.subscribers_test.test_add_subscriber[2].json b/factory_data/channels.views.subscribers_test.test_add_subscriber[2].json deleted file mode 100644 index 30e751ab58..0000000000 --- a/factory_data/channels.views.subscribers_test.test_add_subscriber[2].json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Necessitatibus tempore similique nam eos voluptatum asperiores quae. Impedit et distinctio reprehenderit sint consequatur exercitationem dolorem error. Ad animi eveniet alias culpa ab quisquam ut. Animi officia consequatur odio temporibus quo facilis.\nPossimus iste maiores aliquid minima quidem sed praesentium. Iure in doloremque voluptatem expedita excepturi quae. Corrupti deserunt a nobis libero.", - "name": "1542147352_distinctio", - "public_description": "Ex itaque minus culpa consectetur ea esse dignissimos dolorum.", - "title": "Eos dolor illo animi consequuntur." - } - }, - "users": { - "contributor": { - "username": "01CW7JA6QRHJE70J1BR4YZNPSW" - }, - "staff_user": { - "username": "01CW7JA3DECYZ39J99C64CW911" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.subscribers_test.test_add_subscriber_again.json b/factory_data/channels.views.subscribers_test.test_add_subscriber_again.json deleted file mode 100644 index 224ba02172..0000000000 --- a/factory_data/channels.views.subscribers_test.test_add_subscriber_again.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "staff_user": { - "username": "01BYXNKW4B2641RJX8BH91KC9Q" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.subscribers_test.test_add_subscriber_anonymous.json b/factory_data/channels.views.subscribers_test.test_add_subscriber_anonymous.json deleted file mode 100644 index b93a89aa39..0000000000 --- a/factory_data/channels.views.subscribers_test.test_add_subscriber_anonymous.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Mollitia illum quas fugit natus odio harum consequatur. Atque magni accusantium velit quia. Ullam occaecati minima culpa nesciunt veniam praesentium. Id distinctio harum a natus necessitatibus voluptas voluptate.\nCum minus mollitia dolores voluptatum maxime totam est. Vero maxime beatae unde quis dolore provident. Ipsa blanditiis labore nisi odio rem repellendus ut animi.", - "name": "1542147362_repellat", - "public_description": "Facilis odit dolores mollitia itaque ut fugiat.", - "title": "Aperiam vitae officia neque." - } - }, - "users": { - "contributor": { - "username": "01CW7JAGQ7DM3ZGS2X5C1EFTPD" - }, - "staff_user": { - "username": "01CW7JADF3Z85PFAMT9F6PRQK0" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.subscribers_test.test_add_subscriber_forbidden.json b/factory_data/channels.views.subscribers_test.test_add_subscriber_forbidden.json deleted file mode 100644 index ae022a1715..0000000000 --- a/factory_data/channels.views.subscribers_test.test_add_subscriber_forbidden.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Officiis explicabo deserunt aut nesciunt praesentium adipisci optio esse. Libero quidem consectetur iusto. Cumque aspernatur maiores ut voluptate provident aliquid rerum.\nPraesentium amet consequuntur quasi amet neque ipsam esse. Neque veritatis ipsam ullam omnis aliquid. Aut magnam dolorum magnam accusantium.\nEarum ea nostrum atque velit labore. Quis suscipit ullam pariatur voluptas ad ea voluptate. Neque blanditiis doloremque autem corrupti accusantium. Odio adipisci ut blanditiis cum optio.", - "name": "1547499296_115_saepe", - "public_description": "Natus unde eos saepe tempore laudantium nam exercitationem dolores.", - "title": "Repellat ullam quidem sint." - } - }, - "users": { - "contributor": { - "username": "01D172ARDZG7Q2X8M2TEAV3SBB" - }, - "staff_user": { - "username": "01D172AHZRF3Y1F5633EG5AHB7" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.subscribers_test.test_add_subscriber_mod.json b/factory_data/channels.views.subscribers_test.test_add_subscriber_mod.json deleted file mode 100644 index 5088efaf15..0000000000 --- a/factory_data/channels.views.subscribers_test.test_add_subscriber_mod.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Dolorum corporis labore minima dolore. Culpa inventore eum accusamus similique similique voluptates cupiditate.\nConsequuntur dignissimos blanditiis perspiciatis sequi ad. Laudantium incidunt nisi voluptatem eos totam ex. Sapiente cupiditate pariatur deleniti rem voluptate consectetur dolores. Mollitia natus exercitationem sed non quos vel omnis. Illum praesentium mollitia doloribus quam accusantium deleniti debitis.", - "name": "1536938059_natus", - "public_description": "Voluptatibus cupiditate inventore repellat dolores. Eveniet dolore laboriosam autem alias corrupti.", - "title": "Iure consectetur possimus molestias doloremque." - } - }, - "users": { - "new_mod_user": { - "username": "01CQCABD7C0AYE733CKG73FM1Z" - }, - "new_sub_user": { - "username": "01CQCABGEG379XRANA5GVK9VK7" - }, - "staff_user": { - "username": "01CQCAB6P6ZXHVQXM3ZEDBDQZV" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.subscribers_test.test_detail_subscriber.json b/factory_data/channels.views.subscribers_test.test_detail_subscriber.json deleted file mode 100644 index d2aafea5a5..0000000000 --- a/factory_data/channels.views.subscribers_test.test_detail_subscriber.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Vitae placeat inventore ipsum eveniet. Aperiam est placeat molestias quod esse. Debitis nostrum iusto a eius. Modi nihil soluta aspernatur sed.\nFacere ratione quaerat pariatur necessitatibus facere natus sit. Error ab et hic nesciunt pariatur. Maiores ex quas odio occaecati hic expedita sint quae.\nDoloremque culpa dicta blanditiis molestiae doloribus. Saepe laudantium alias error et consequuntur itaque. Id consequuntur culpa voluptates architecto hic.", - "name": "1535134655_odio", - "public_description": "Ad ratione dolore ad porro quia maiores rem asperiores. Nesciunt unde perspiciatis adipisci nam.", - "title": "Quis at soluta perspiciatis amet accusamus." - } - }, - "users": { - "contributor": { - "username": "01CNPJFJ40CQ18CS13JGC2NK40" - }, - "staff_user": { - "username": "01CNPJFNDKRC5JGMB00CZGDWHZ" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.subscribers_test.test_detail_subscriber_anonymous.json b/factory_data/channels.views.subscribers_test.test_detail_subscriber_anonymous.json deleted file mode 100644 index 25e6995e4f..0000000000 --- a/factory_data/channels.views.subscribers_test.test_detail_subscriber_anonymous.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Rerum temporibus sed quibusdam consectetur quisquam occaecati suscipit. Quo tenetur ducimus animi voluptate earum et odio. Reprehenderit magni illo atque impedit nisi incidunt. Rerum cum beatae maiores nihil amet soluta.\nAnimi atque qui quos voluptatum repellat nulla aspernatur. Quae delectus molestiae neque officiis.", - "name": "1542146424_ipsam", - "public_description": "Repudiandae praesentium sapiente dolorum ratione sunt eum.", - "title": "Recusandae quisquam eligendi voluptate enim fuga." - } - }, - "users": { - "contributor": { - "username": "01CW7HDWR6VANCFBMVCB8X3A45" - }, - "staff_user": { - "username": "01CW7HDSF9FAT27TW1ZHS1BZRJ" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.subscribers_test.test_detail_subscriber_missing.json b/factory_data/channels.views.subscribers_test.test_detail_subscriber_missing.json deleted file mode 100644 index 8033d86af2..0000000000 --- a/factory_data/channels.views.subscribers_test.test_detail_subscriber_missing.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Earum perferendis expedita consectetur. Eos facere voluptatibus laudantium alias.\nEnim impedit rerum earum. Vel asperiores debitis eligendi aperiam. Amet nobis vero atque harum consectetur. Facere cum quas reiciendis nesciunt sequi voluptas.\nQuidem impedit voluptatum sit id consectetur. Enim nobis consequatur libero beatae ex consequatur voluptatem.\nTempora totam molestias illo perferendis explicabo. Possimus rerum voluptatum eius odio. Neque eligendi vitae fugiat fugit dolorem.", - "name": "1535134665_vel", - "public_description": "Architecto quibusdam cum iste. Minima beatae quod eaque maiores ab vel qui.", - "title": "Aliquid earum dolorum architecto adipisci." - } - }, - "users": { - "contributor": { - "username": "01CNPJFVWRX89JDWZX9FW5MX6E" - }, - "staff_user": { - "username": "01CNPJFZ49RBAXF9BZBMWVQ9KX" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.subscribers_test.test_list_subscribers.json b/factory_data/channels.views.subscribers_test.test_list_subscribers.json deleted file mode 100644 index 058b373c52..0000000000 --- a/factory_data/channels.views.subscribers_test.test_list_subscribers.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Eligendi optio sunt provident suscipit veniam unde. Repellat saepe id minima molestiae numquam ducimus cum.\nDeserunt esse veniam sapiente numquam eveniet illum facilis. Officiis iste quo quod consequuntur. Iste optio veniam eveniet optio.\nEsse soluta quae dolorum incidunt sequi molestiae. Doloribus delectus officiis molestias ex. Libero cum ea quibusdam asperiores. Accusamus laborum cumque nemo ipsam ea corrupti dolorum.", - "name": "1542396725_sint", - "public_description": "Perspiciatis qui esse dolorem laboriosam.", - "title": "Quae sapiente dolore beatae suscipit." - } - }, - "users": { - "staff_user": { - "username": "01CWF04EQC40Z680Y42KD877BH" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.subscribers_test.test_remove_subscriber.json b/factory_data/channels.views.subscribers_test.test_remove_subscriber.json deleted file mode 100644 index 66d9396b2a..0000000000 --- a/factory_data/channels.views.subscribers_test.test_remove_subscriber.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "staff_user": { - "username": "01BYXNKWGE32QAWMK1DM73FZ83" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.subscribers_test.test_remove_subscriber[1].json b/factory_data/channels.views.subscribers_test.test_remove_subscriber[1].json deleted file mode 100644 index 7241db0319..0000000000 --- a/factory_data/channels.views.subscribers_test.test_remove_subscriber[1].json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Laudantium temporibus numquam similique tempora laboriosam corporis sit. Inventore nam sint provident voluptate. Iure at perspiciatis rem accusamus omnis sit. Eius quas ex dolore corrupti quidem ab.\nSimilique maiores ullam sit minus soluta magnam. Molestiae quasi deleniti non facere doloribus suscipit.\nQuos culpa perferendis quaerat. Eum ad error possimus numquam quod. Molestiae delectus impedit in nesciunt temporibus esse natus fuga.", - "name": "1542205997_distinctio", - "public_description": "Vitae tempora iste repellendus nobis repellat nam illo quisquam.", - "title": "Recusandae temporibus quam vero quas odio porro." - } - }, - "users": { - "contributor": { - "username": "01CW9A7X1G6M1VJPAASQF3WM1A" - }, - "staff_user": { - "username": "01CW9A7SQHT52QBSTCV7BCTSBQ" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.subscribers_test.test_remove_subscriber[2].json b/factory_data/channels.views.subscribers_test.test_remove_subscriber[2].json deleted file mode 100644 index aaccbb2db2..0000000000 --- a/factory_data/channels.views.subscribers_test.test_remove_subscriber[2].json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Illo inventore nulla accusamus rerum iste maiores. Soluta sequi voluptates adipisci vel laudantium. Veniam repellendus dolorem expedita perferendis tempore beatae dignissimos.\nQuasi eligendi delectus animi. Voluptates nulla illum labore occaecati aspernatur eius quidem. Accusamus beatae consequatur rem ullam accusantium reprehenderit ipsam. Doloribus facere quasi placeat vel velit earum.", - "name": "1542206007_et", - "public_description": "Magni maxime delectus pariatur ratione. Eos aut nisi beatae eos.", - "title": "Voluptatum qui hic dignissimos qui distinctio id." - } - }, - "users": { - "contributor": { - "username": "01CW9A86SY9SXA0070K682CE65" - }, - "staff_user": { - "username": "01CW9A83HBFD1TFGVVTM6SJQGX" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.subscribers_test.test_remove_subscriber_again.json b/factory_data/channels.views.subscribers_test.test_remove_subscriber_again.json deleted file mode 100644 index bc4df0139b..0000000000 --- a/factory_data/channels.views.subscribers_test.test_remove_subscriber_again.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "users": { - "staff_user": { - "username": "01BYXNKWHVY9GRCNY7P1YJDMRA" - } - } -} \ No newline at end of file diff --git a/factory_data/channels.views.subscribers_test.test_remove_subscriber_anonymous.json b/factory_data/channels.views.subscribers_test.test_remove_subscriber_anonymous.json deleted file mode 100644 index 8be03ed717..0000000000 --- a/factory_data/channels.views.subscribers_test.test_remove_subscriber_anonymous.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "channels": { - "public_channel": { - "channel_type": "public", - "description": "Perspiciatis adipisci excepturi officia commodi. Iste dicta sit incidunt aperiam unde recusandae necessitatibus at. Vitae omnis at inventore qui cumque aliquam. Et rem explicabo rem quis quia rerum expedita.\nOdio illo in consequuntur. Voluptates libero a beatae corrupti maiores debitis quia similique. Ducimus omnis neque commodi ex eligendi sed expedita et. Ad ullam minus deserunt facilis.", - "name": "1542387391_consequunt", - "public_description": "Doloremque harum recusandae ad officiis ipsum.", - "title": "Deleniti vero magnam dolorum voluptatum." - } - }, - "users": { - "contributor": { - "username": "01CWEQ7M5SQ3GK5G2DQNYJMKFW" - }, - "staff_user": { - "username": "01CWEQ7GVFJT5PM7YXJ0EAMDBR" - } - } -} \ No newline at end of file diff --git a/factory_data/notifications.notifiers.comments_test.test_send_notification[False].json b/factory_data/notifications.notifiers.comments_test.test_send_notification[False].json deleted file mode 100644 index 63275cf8b1..0000000000 --- a/factory_data/notifications.notifiers.comments_test.test_send_notification[False].json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Cum sint eaque quasi ducimus mollitia. Porro facere culpa sunt et ipsum asperiores.\nTempore dolore quae eius praesentium. Nobis nobis non est asperiores mollitia incidunt quas. Officia doloremque rerum qui fugiat corporis repudiandae. Reiciendis maiores placeat tempore ex a non. Nobis sapiente impedit exercitationem.\nVitae blanditiis aperiam molestias iure expedita incidunt. Eos sapiente veniam sed. Ipsam unde harum officia.", - "name": "1535134712_ut", - "public_description": "Non laborum cumque illo similique. Dolor ducimus ullam est illo. Animi ipsam illo modi vel.", - "title": "Quod odit dolores excepturi harum suscipit." - } - }, - "comments": { - "just a comment": { - "children": [], - "comment_id": null, - "id": "3j", - "post_id": "4f", - "text": "Amet quod velit amet beatae suscipit. Labore maxime at omnis tenetur." - } - }, - "posts": { - "just a post": { - "id": "4f", - "text": "Consectetur eaque vero maxime dolore ab. Perspiciatis sunt aspernatur sequi iure.", - "title": "Harum culpa optio unde quia." - } - }, - "users": { - "contributor": { - "username": "01CNPJHM3CJEN8DE4XRQYWTRNT" - }, - "staff_user": { - "username": "01CNPJHDSYVFABBT2MGRTTXJST" - } - } -} \ No newline at end of file diff --git a/factory_data/notifications.notifiers.comments_test.test_send_notification[True].json b/factory_data/notifications.notifiers.comments_test.test_send_notification[True].json deleted file mode 100644 index d1153d442f..0000000000 --- a/factory_data/notifications.notifiers.comments_test.test_send_notification[True].json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Vel consectetur nemo amet nemo nisi nostrum. Veritatis officia nulla voluptate voluptatem adipisci molestias. Enim molestiae porro dolorum exercitationem. Mollitia placeat recusandae eaque rerum cupiditate quo deleniti sed. Reiciendis inventore nostrum repellat placeat sit.\nFuga debitis eius fugiat molestiae. Perspiciatis dolores deleniti corporis minus beatae eveniet.\nDolorem vitae ducimus at aliquid ut quisquam ipsam deleniti. Esse odio totam totam ipsa.", - "name": "1535134693_delectus", - "public_description": "Eveniet fugit neque dolorum unde. Maxime quam ullam excepturi sint distinctio deleniti.", - "title": "Molestiae omnis saepe dolor consectetur." - } - }, - "comments": { - "just a comment": { - "children": [], - "comment_id": null, - "id": "3h", - "post_id": "4e", - "text": "Eveniet ipsa architecto non. Omnis voluptate enim perspiciatis animi." - }, - "reply comment": { - "children": [], - "comment_id": "3h", - "id": "3i", - "post_id": null, - "text": "Unde totam molestiae iure. Tempora deleniti veritatis dolore cupiditate." - } - }, - "posts": { - "just a post": { - "id": "4e", - "text": "Repellendus excepturi voluptatum qui. Perferendis molestias debitis voluptatem corrupti.", - "title": "Velit rem amet maiores quam dolores." - } - }, - "users": { - "contributor": { - "username": "01CNPJH103W906X220J9GHBREV" - }, - "staff_user": { - "username": "01CNPJGTPKPHX5RTX7V6FFHS7F" - } - } -} \ No newline at end of file diff --git a/factory_data/notifications.notifiers.moderator_posts_test.test_send_notification.json b/factory_data/notifications.notifiers.moderator_posts_test.test_send_notification.json deleted file mode 100644 index 1d2e607725..0000000000 --- a/factory_data/notifications.notifiers.moderator_posts_test.test_send_notification.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "channels": { - "private_channel": { - "channel_type": "private", - "description": "Thus risk example west area Mrs. Guess rest message. Develop woman security still chance huge.\nRemain late development keep far thought. Design form letter somebody discussion. At small account edge magazine own.\nAll day foreign once foot lot. Be chance result. Onto visit big produce.\nBefore leave continue reason discuss city day. Cell grow environment course personal act. Detail nice teacher set hold.\nRecent try word open. Test per staff situation whole rate.", - "name": "1605535440_0_result", - "public_description": "The assume beautiful state research brother.", - "title": "Mission college nearly work." - } - }, - "posts": { - "just a post": { - "id": "2q", - "text": "Pull leader whom include also. Source event success else training laugh ball summer.", - "title": "Minute black difficult walk different." - } - }, - "users": { - "contributor": { - "username": "01EQ8NXAQS3AZF79GKMKQ29QJZ" - }, - "staff_user": { - "username": "01EQ8NX4C1HWYMFQFKT949BPET" - } - } -} \ No newline at end of file diff --git a/open_discussions/features.py b/open_discussions/features.py index 04fdcf7453..a53e5eed2d 100644 --- a/open_discussions/features.py +++ b/open_discussions/features.py @@ -12,7 +12,6 @@ HOT_POST_REPAIR = "HOT_POST_REPAIR" PODCAST_APIS = "PODCAST_APIS" PODCAST_SEARCH = "PODCAST_SEARCH" -SPAM_EXEMPTIONS = "SPAM_EXEMPTIONS" USER_LIST_SEARCH = "USER_LIST_SEARCH" diff --git a/open_discussions/permissions.py b/open_discussions/permissions.py index 4332d67e0f..8bcb4579ae 100644 --- a/open_discussions/permissions.py +++ b/open_discussions/permissions.py @@ -1,6 +1,4 @@ """Custom permissions""" -from prawcore.exceptions import Forbidden as PrawForbidden -from prawcore.exceptions import Redirect as PrawRedirect from rest_framework import permissions from open_discussions import features @@ -32,19 +30,11 @@ def is_moderator(request, view): """ user_api = request.channel_api channel_name = view.kwargs.get("channel_name", None) - try: - return ( - channel_name - and not request.user.is_anonymous - and user_api.is_moderator(channel_name, request.user.username) - ) - except PrawForbidden: - # User was forbidden to list moderators so they are most certainly not one - return False - except PrawRedirect: - # if a redirect occurred, that means the user doesn't have any permissions - # for the subreddit and most definitely is not a moderator - return False + return ( + channel_name + and not request.user.is_anonymous + and user_api.is_moderator(channel_name, request.user.username) + ) def is_readonly(request): diff --git a/poetry.lock b/poetry.lock index 2b17e59b86..f8e14d46f4 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1827,20 +1827,6 @@ qtconsole = ["qtconsole"] test = ["pytest (<7.1)", "pytest-asyncio", "testpath"] test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.21)", "pandas", "pytest (<7.1)", "pytest-asyncio", "testpath", "trio"] -[[package]] -name = "isodate" -version = "0.6.1" -description = "An ISO 8601 date/time/duration parser and formatter" -optional = false -python-versions = "*" -files = [ - {file = "isodate-0.6.1-py2.py3-none-any.whl", hash = "sha256:0751eece944162659049d35f4f549ed815792b38793f07cf73381c1c87cbed96"}, - {file = "isodate-0.6.1.tar.gz", hash = "sha256:48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9"}, -] - -[package.dependencies] -six = "*" - [[package]] name = "isort" version = "5.12.0" @@ -2238,24 +2224,6 @@ files = [ {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, ] -[[package]] -name = "mit-moira" -version = "0.0.4" -description = "" -optional = false -python-versions = "*" -files = [] -develop = false - -[package.dependencies] -zeep = "*" - -[package.source] -type = "git" -url = "https://github.com/mitodl/mit-moira" -reference = "v0.0.4" -resolved_reference = "0b73483f2bad49327b77a3eb94a4a9a602ef26ce" - [[package]] name = "moto" version = "4.1.13" @@ -3382,20 +3350,6 @@ requests = ">=2.0.0" [package.extras] rsa = ["oauthlib[signedtoken] (>=3.0.0)"] -[[package]] -name = "requests-toolbelt" -version = "1.0.0" -description = "A utility belt for advanced users of python-requests" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, - {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, -] - -[package.dependencies] -requests = ">=2.0.1,<3.0.0" - [[package]] name = "responses" version = "0.14.0" @@ -4222,33 +4176,6 @@ files = [ {file = "xmltodict-0.13.0.tar.gz", hash = "sha256:341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56"}, ] -[[package]] -name = "zeep" -version = "4.2.1" -description = "A Python SOAP client" -optional = false -python-versions = ">=3.7" -files = [ - {file = "zeep-4.2.1-py3-none-any.whl", hash = "sha256:6754feb4c34a4b6d65fbc359252bf6654dcce3937bf1d95aae4402a60a8f5939"}, - {file = "zeep-4.2.1.tar.gz", hash = "sha256:72093acfdb1d8360ed400869b73fbf1882b95c4287f798084c42ee0c1ff0e425"}, -] - -[package.dependencies] -attrs = ">=17.2.0" -isodate = ">=0.5.4" -lxml = ">=4.6.0" -platformdirs = ">=1.4.0" -pytz = "*" -requests = ">=2.7.0" -requests-file = ">=1.5.1" -requests-toolbelt = ">=0.7.1" - -[package.extras] -async = ["httpx (>=0.15.0)"] -docs = ["sphinx (>=1.4.0)"] -test = ["coverage[toml] (==5.2.1)", "flake8 (==3.8.3)", "flake8-blind-except (==0.1.1)", "flake8-debugger (==3.2.1)", "flake8-imports (==0.1.1)", "freezegun (==0.3.15)", "isort (==5.3.2)", "pretend (==1.0.9)", "pytest (==6.2.5)", "pytest-asyncio", "pytest-cov (==2.8.1)", "pytest-httpx", "requests-mock (>=0.7.0)"] -xmlsec = ["xmlsec (>=0.6.1)"] - [[package]] name = "zipp" version = "3.16.0" @@ -4267,4 +4194,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = "3.11.4" -content-hash = "4658768302bdf69d9b79b84d927f4152c33ce9e2e632abb8b4d0e28a0697ead8" +content-hash = "3bd103b739135ca38eaacff8596a8b54dffde2244f856efab5b74c171e2d3607" diff --git a/profiles/views.py b/profiles/views.py index 756a27808e..cf940311d6 100644 --- a/profiles/views.py +++ b/profiles/views.py @@ -7,8 +7,6 @@ from rest_framework import viewsets, mixins from rest_framework.permissions import IsAuthenticated -from rest_framework.views import APIView -from rest_framework.response import Response from cairosvg import svg2png # pylint:disable=no-name-in-module diff --git a/pyproject.toml b/pyproject.toml index 85763d858a..3fe3c7ceac 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -65,7 +65,6 @@ drf-extensions = "^0.7.1" drf-jwt = "^1.19.2" drf-spectacular = "^0.26.2" feedparser = "^6.0.10" -mit-moira = {git = "https://github.com/mitodl/mit-moira", tag = "v0.0.4"} google-api-python-client = "^2.89.0" html5lib = "^1.1" importlib_metadata = "^6.6.0" diff --git a/search/management/commands/recreate_index.py b/search/management/commands/recreate_index.py index 42196e90b2..c1e6b4568e 100644 --- a/search/management/commands/recreate_index.py +++ b/search/management/commands/recreate_index.py @@ -26,7 +26,7 @@ def add_arguments(self, parser): super().add_arguments(parser) def handle(self, *args, **options): - """Index the comments and posts for the channels the user is subscribed to""" + """Index all VALID_OBJECT_TYPES""" if options["all"]: task = start_recreate_index.delay(list(VALID_OBJECT_TYPES)) self.stdout.write( diff --git a/search/tasks_test.py b/search/tasks_test.py index 8506b136a1..32c2722dda 100644 --- a/search/tasks_test.py +++ b/search/tasks_test.py @@ -6,7 +6,6 @@ from django.conf import settings from opensearchpy.exceptions import ConnectionError as ESConnectionError from opensearchpy.exceptions import ConnectionTimeout, RequestError -from prawcore.exceptions import NotFound from course_catalog.constants import RESOURCE_FILE_PLATFORMS, PlatformType, PrivacyLevel from course_catalog.factories import ( @@ -66,7 +65,6 @@ deindex_document, deindex_run_content_files, finish_recreate_index, - increment_document_integer_field, index_course_content_files, index_courses, index_run_content_files, @@ -74,8 +72,6 @@ index_videos, start_recreate_index, start_update_index, - update_document_with_partial, - update_field_values_by_query, upsert_content_file, upsert_course, upsert_podcast, @@ -207,7 +203,7 @@ def test_upsert_podcast_episode_task(mocked_api): ) -@pytest.mark.parametrize("error", [KeyError, NotFound]) +@pytest.mark.parametrize("error", [KeyError]) def test_wrap_retry_exception(error): """wrap_retry_exception should raise RetryException when other exceptions are raised""" with assert_not_raises(): diff --git a/search/views.py b/search/views.py index 3829d6f430..e2e4d21876 100644 --- a/search/views.py +++ b/search/views.py @@ -33,7 +33,7 @@ def handle_exception(self, exc): @method_decorator(blocked_ip_exempt, name="dispatch") class SearchView(ESView): """ - View for executing searches of posts, comments, profiles, learning resources + View for executing searches of profiles, learning resources """ permission_classes = () diff --git a/search/views_test.py b/search/views_test.py index 4525ec18af..735c4497e8 100644 --- a/search/views_test.py +++ b/search/views_test.py @@ -6,7 +6,6 @@ from django.contrib.auth.models import AnonymousUser from django.urls import reverse from opensearchpy.exceptions import TransportError -from rest_framework.status import HTTP_405_METHOD_NOT_ALLOWED from course_catalog.factories import CourseFactory from search.constants import COURSE_TYPE @@ -19,51 +18,6 @@ "total": 20, "max_score": 1.0, "hits": [ - { - "_index": "discussions_local_comment_0acffefbb1984d10b73afddee53830b7", - "_type": "_doc", - "_id": "c_9", - "_score": 1.0, - "_source": { - "author_id": "01CH3ZD02DMXGQ19Q9JJAGPW3C", - "author_name": "Leah Meowmeow", - "text": "comment", - "score": 1, - "created": "2018-10-12T21:09:16+00:00", - "removed": False, - "deleted": False, - "comment_id": "9", - "parent_comment_id": None, - "object_type": "comment", - "channel_title": "my_mod", - "channel_name": "text", - "post_id": "1i", - "post_title": "a new post with title in the name", - }, - }, - { - "_index": "discussions_local_post_8d59996f4d594c12b1ed34b7a44024c2", - "_type": "_doc", - "_id": "p_1g", - "_score": 1.0, - "_source": { - "author_id": "01CMG7CXTPXVP5NQ0RDAZZMRVP", - "author_name": "Name", - "channel_name": "xaviers", - "channel_title": "No channel for xaviers", - "text": "", - "score": 1, - "created": "2018-09-11T18:58:16+00:00", - "num_comments": 1, - "removed": False, - "deleted": False, - "post_id": "1g", - "post_title": "new post for reporting", - "post_link_url": None, - "post_link_thumbnail": None, - "object_type": "post", - }, - }, ], }, } From 8812da0d22a5967879c4ab767bbf46d63cf2b325 Mon Sep 17 00:00:00 2001 From: Collin Preston Date: Wed, 30 Aug 2023 11:24:20 -0400 Subject: [PATCH 03/20] Format --- search/views_test.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/search/views_test.py b/search/views_test.py index 735c4497e8..10e8362c83 100644 --- a/search/views_test.py +++ b/search/views_test.py @@ -17,8 +17,7 @@ "hits": { "total": 20, "max_score": 1.0, - "hits": [ - ], + "hits": [], }, } From 212c237ea599bb80ad4648e58324d2ea4c5ccf5c Mon Sep 17 00:00:00 2001 From: Collin Preston Date: Wed, 30 Aug 2023 11:30:58 -0400 Subject: [PATCH 04/20] pylint needs --- discussions/factories.py | 4 +--- open_discussions/settings.py | 1 - search/api.py | 2 +- search/indexing_api_test.py | 2 +- search/serializers_test.py | 1 - 5 files changed, 3 insertions(+), 7 deletions(-) diff --git a/discussions/factories.py b/discussions/factories.py index 0b9cc02095..91c30cece8 100644 --- a/discussions/factories.py +++ b/discussions/factories.py @@ -1,9 +1,7 @@ """Discussions factories""" import factory from factory.django import DjangoModelFactory -from factory.fuzzy import FuzzyChoice, FuzzyText -import faker -from open_discussions.utils import now_in_utc +from factory.fuzzy import FuzzyChoice from discussions import api from discussions.constants import ChannelTypes diff --git a/open_discussions/settings.py b/open_discussions/settings.py index 054a068b76..114cd91fa9 100644 --- a/open_discussions/settings.py +++ b/open_discussions/settings.py @@ -23,7 +23,6 @@ get_any, get_bool, get_int, - get_key, get_list_of_str, get_string, ) diff --git a/search/api.py b/search/api.py index 8f8976644d..68ce8c0d38 100644 --- a/search/api.py +++ b/search/api.py @@ -226,7 +226,7 @@ def relevant_indexes(query): return map(get_default_alias_name, object_types) -def execute_search(*, user, query): +def execute_search(*, query): """ Execute a search based on the query diff --git a/search/indexing_api_test.py b/search/indexing_api_test.py index c0d5997d26..d1efe76289 100644 --- a/search/indexing_api_test.py +++ b/search/indexing_api_test.py @@ -12,12 +12,12 @@ CourseFactory, LearningResourceRunFactory, ) -from search.connection import get_default_alias_name from course_catalog.models import ContentFile from open_discussions.factories import UserFactory from open_discussions.utils import chunks from search import indexing_api from search.api import gen_course_id +from search.connection import get_default_alias_name from search.constants import ( GLOBAL_DOC_TYPE, PROFILE_TYPE, diff --git a/search/serializers_test.py b/search/serializers_test.py index 00f3f762b2..f1c85ee2d0 100644 --- a/search/serializers_test.py +++ b/search/serializers_test.py @@ -44,7 +44,6 @@ def test_es_profile_serializer(mocker, user): """ Test that OSProfileSerializer correctly serializes a profile object """ - return_value = [("channel01", datetime.now()), ("channel02", datetime.now())] serialized = serializers.OSProfileSerializer().serialize(user.profile) assert serialized == { "object_type": constants.PROFILE_TYPE, From 397a493ea1d6cb63daf38fd7750628afea43ecc8 Mon Sep 17 00:00:00 2001 From: Collin Preston Date: Wed, 30 Aug 2023 11:42:46 -0400 Subject: [PATCH 05/20] More pylint stuff --- search/api_test.py | 2 +- search/serializers_test.py | 1 - search/views.py | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/search/api_test.py b/search/api_test.py index 2014c19981..e1b0506eda 100644 --- a/search/api_test.py +++ b/search/api_test.py @@ -110,7 +110,7 @@ def test_execute_search_with_suggestion( "suggest": RAW_SUGGESTIONS, } - assert execute_search(user=user, query=query) == { + assert execute_search(query=query) == { "hits": {"total": 3}, "suggest": expected_suggest, } diff --git a/search/serializers_test.py b/search/serializers_test.py index f1c85ee2d0..7436b15048 100644 --- a/search/serializers_test.py +++ b/search/serializers_test.py @@ -1,6 +1,5 @@ """Tests for opensearch serializers""" import json -from datetime import datetime # pylint: disable=redefined-outer-name,unused-argument from functools import reduce diff --git a/search/views.py b/search/views.py index e2e4d21876..bb9082f489 100644 --- a/search/views.py +++ b/search/views.py @@ -44,7 +44,7 @@ def post(self, request, *args, **kwargs): if is_learning_query(query): response = execute_learn_search(user=request.user, query=request.data) else: - response = execute_search(user=request.user, query=request.data) + response = execute_search(query=request.data) return Response(response) From 07de010189645d1ee4838ba0d8a46d844d988709 Mon Sep 17 00:00:00 2001 From: Collin Preston Date: Wed, 30 Aug 2023 11:47:37 -0400 Subject: [PATCH 06/20] Please be the last pylint thing --- search/api_test.py | 1 - 1 file changed, 1 deletion(-) diff --git a/search/api_test.py b/search/api_test.py index e1b0506eda..10647990b8 100644 --- a/search/api_test.py +++ b/search/api_test.py @@ -93,7 +93,6 @@ def test_execute_search_with_suggestion( opensearch, suggest_min_hits, max_suggestions, settings ): """execute_search should execute an OpenSearch search suggestions""" - user = AnonymousUser() query = {"a": "query"} settings.OPENSEARCH_MAX_SUGGEST_HITS = suggest_min_hits From 0deacbd49d6f8ad2f3c3bd2c5c3107025455cbf6 Mon Sep 17 00:00:00 2001 From: Collin Preston Date: Wed, 30 Aug 2023 12:07:52 -0400 Subject: [PATCH 07/20] Fix search test --- search/views_test.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/search/views_test.py b/search/views_test.py index 10e8362c83..0b2c0f65a8 100644 --- a/search/views_test.py +++ b/search/views_test.py @@ -43,7 +43,7 @@ def test_search_es_exception(mocker, client, search_view, status_code, raise_err if not raise_error: resp = client.post(search_view.url, query) assert resp.status_code == status_code - search_mock.assert_called_once_with(user=AnonymousUser(), query=query) + search_mock.assert_called_once_with(query=query) log_mock.assert_called_once_with("Received a 4xx error from OpenSearch") else: with pytest.raises(TransportError): @@ -58,7 +58,7 @@ def test_search(mocker, client, search_view): query = {"query": {"match": {"title": "Search"}}} resp = client.post(search_view.url, query) assert resp.json() == FAKE_SEARCH_RESPONSE - search_mock.assert_called_once_with(user=AnonymousUser(), query=query) + search_mock.assert_called_once_with(query=query) def test_learn_search(mocker, client, search_view): From 944e5d8b6a11fe7606c6a909eb226c37c0453a1b Mon Sep 17 00:00:00 2001 From: Collin Preston Date: Wed, 30 Aug 2023 13:26:01 -0400 Subject: [PATCH 08/20] Remove akismet, TOS, any remaining comments --- .env.example | 1 - .github/workflows/ci.yml | 1 - Procfile | 6 ++-- app.json | 6 +--- docker-compose.yml | 5 ++- fixtures/common.py | 7 ----- mail/forms.py | 2 -- mail/views.py | 60 ------------------------------------ open_discussions/settings.py | 8 ----- poetry.lock | 16 +--------- profiles/api.py | 1 - profiles/api_test.py | 4 --- pyproject.toml | 1 - pytest.ini | 1 - 14 files changed, 7 insertions(+), 112 deletions(-) diff --git a/.env.example b/.env.example index 0df38745d0..79ead83769 100644 --- a/.env.example +++ b/.env.example @@ -6,7 +6,6 @@ MITOPEN_BASE_URL=http://od.odl.local:8063 MITOPEN_COOKIE_NAME=discussions MITOPEN_COOKIE_DOMAIN=odl.local MITOPEN_HOSTNAME=od.odl.local -MITOPEN_MAX_COMMENT_DEPTH=6 MITOPEN_JWT_SECRET= MITOPEN_USE_S3=False INDEXING_API_USERNAME=mitodl diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 983a93a469..18a1802510 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -85,7 +85,6 @@ jobs: CELERY_BROKER_URL: redis://localhost:6379/4 CELERY_RESULT_BACKEND: redis://localhost:6379/4 TIKA_CLIENT_ONLY: 'True' - AKISMET_IS_TESTING: 'True' MITOPEN_BASE_URL: http://localhost:8063/ MAILGUN_KEY: fake_mailgun_key MAILGUN_SENDER_DOMAIN: other.fake.site diff --git a/Procfile b/Procfile index a8fe4e75cc..614bf0e6ee 100644 --- a/Procfile +++ b/Procfile @@ -1,5 +1,5 @@ release: bash scripts/heroku-release-phase.sh web: bin/start-nginx bin/start-pgbouncer newrelic-admin run-program uwsgi uwsgi.ini -worker: bin/start-pgbouncer newrelic-admin run-program celery -A open_discussions.celery:app worker -Q spam,default --concurrency=2 -B -l $MITOPEN_LOG_LEVEL -extra_worker_2x: bin/start-pgbouncer newrelic-admin run-program celery -A open_discussions.celery:app worker -Q spam,digest_emails,edx_content,default --concurrency=2 -l $MITOPEN_LOG_LEVEL -extra_worker_performance: bin/start-pgbouncer newrelic-admin run-program celery -A open_discussions.celery:app worker -Q spam,digest_emails,edx_content,default -l $MITOPEN_LOG_LEVEL +worker: bin/start-pgbouncer newrelic-admin run-program celery -A open_discussions.celery:app worker -Q default --concurrency=2 -B -l $MITOPEN_LOG_LEVEL +extra_worker_2x: bin/start-pgbouncer newrelic-admin run-program celery -A open_discussions.celery:app worker -Q edx_content,default --concurrency=2 -l $MITOPEN_LOG_LEVEL +extra_worker_performance: bin/start-pgbouncer newrelic-admin run-program celery -A open_discussions.celery:app worker -Q edx_content,default -l $MITOPEN_LOG_LEVEL diff --git a/app.json b/app.json index b16e76639f..87e4bf3c67 100644 --- a/app.json +++ b/app.json @@ -366,11 +366,7 @@ "required": false }, "MITOPEN_TITLE": { - "description": "Title of the open discussions site", - "required": false - }, - "MITOPEN_TOS_URL": { - "description": "URL to the Terms of Service", + "description": "Title of the MIT Open site", "required": false }, "MITOPEN_SUPPORT_EMAIL": { diff --git a/docker-compose.yml b/docker-compose.yml index fd209ccb15..d6eec8bb05 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,7 +17,6 @@ x-environment: TIKA_SERVER_ENDPOINT: ${TIKA_SERVER_ENDPOINT:-http://tika:9998/} TIKA_CLIENT_ONLY: 'True' - AKISMET_IS_TESTING: 'True' services: db: @@ -107,8 +106,8 @@ services: command: > /bin/bash -c ' sleep 3; - celery -A open_discussions.celery:app worker -Q spam,digest_emails,default -B -l ${MITOPEN_LOG_LEVEL:-INFO} & - celery -A open_discussions.celery:app worker -Q spam,digest_emails,edx_content,default -l ${MITOPEN_LOG_LEVEL:-INFO}' + celery -A open_discussions.celery:app worker -Q default -B -l ${MITOPEN_LOG_LEVEL:-INFO} & + celery -A open_discussions.celery:app worker -Q edx_content,default -l ${MITOPEN_LOG_LEVEL:-INFO}' links: - db - opensearch-node-mitopen diff --git a/fixtures/common.py b/fixtures/common.py index e8c920cafa..6f1c2f4918 100644 --- a/fixtures/common.py +++ b/fixtures/common.py @@ -102,10 +102,3 @@ def mocked_responses(): """Mock responses fixture""" with responses.RequestsMock() as rsps: yield rsps - - -@pytest.fixture(autouse=True) -def default_settings(settings): - """Default settings for tests""" - settings.AKISMET_API_KEY = None - settings.AKISMET_BLOG_URL = None diff --git a/mail/forms.py b/mail/forms.py index b0f5524eca..a9af00f8ed 100644 --- a/mail/forms.py +++ b/mail/forms.py @@ -9,7 +9,5 @@ class EmailDebuggerForm(forms.Form): choices=( ("verification", "Verify Email"), ("password_reset", "Password Reset"), - ("frontpage", "Frontpage"), - ("comments", "Comments"), ) ) diff --git a/mail/views.py b/mail/views.py index 86a93070cf..ec42e662e1 100644 --- a/mail/views.py +++ b/mail/views.py @@ -43,66 +43,6 @@ def post(self, request): "site_name": settings.MITOPEN_TITLE, } - # static, dummy data - if email_type == "comments": - context.update( - { - "post": SimpleNamespace( - id="abc", - title="Batman Rules!", - slug="batman_rules", - channel_name="channel_name", - channel_title="Favorite Superheros", - ), - "comment": SimpleNamespace( - id="def", text="Your post is really awesome!" - ), - } - ) - elif email_type == "frontpage": - context.update( - { - "posts": [ - SimpleNamespace( - id="abc", - author_name="Steve Brown", - author_headline="Physics Professor", - author_id="njksdfg", - title="Batman Rules!", - url="http://example.com/batman.jpg", - url_domain="example.com", - slug="batman_rules", - created="2018-09-19T18:50:32+00:00", - channel_name="channel_name", - channel_title="Favorite Superheros", - ), - SimpleNamespace( - id="def", - author_name="Casey Adams", - author_headline="Graduate Student", - author_id="ghjkl", - title="I, however, do not concur", - slug="i_however_do_not_concur", - created="2018-09-19T18:50:32+00:00", - channel_name="channel_name", - channel_title="Favorite Superheros", - ), - ], - "episodes": [ - SimpleNamespace( - title="Pasta is tasty!", - last_modified="2018-09-19T18:50:32+00:00", - podcast_title="cooking podcast", - ), - SimpleNamespace( - title="Superman is better", - last_modified="2018-09-19T18:50:32+00:00", - podcast_title="Favorite Superheros", - ), - ], - } - ) - subject, text_body, html_body = api.render_email_templates(email_type, context) return JsonResponse( diff --git a/open_discussions/settings.py b/open_discussions/settings.py index 114cd91fa9..879fcca512 100644 --- a/open_discussions/settings.py +++ b/open_discussions/settings.py @@ -65,9 +65,6 @@ if not SITE_BASE_URL: raise ImproperlyConfigured("MITOPEN_BASE_URL is not set") MITOPEN_TITLE = get_string("MITOPEN_TITLE", "MIT Open") -MITOPEN_TOS_URL = get_string( - "MITOPEN_TOS_URL", urljoin(SITE_BASE_URL, "/terms-and-conditions/") -) WEBPACK_LOADER = { "INFINITE_CORRIDOR": { @@ -613,11 +610,6 @@ def get_all_config_keys(): MIT_WS_CERTIFICATE_FILE = os.path.join(STATIC_ROOT, "mit_x509.cert") MIT_WS_PRIVATE_KEY_FILE = os.path.join(STATIC_ROOT, "mit_x509.key") -AKISMET_API_KEY = get_string("AKISMET_API_KEY", None) -AKISMET_BLOG_URL = get_string("AKISMET_BLOG_URL", None) -AKISMET_IS_TESTING = get_string("AKISMET_IS_TESTING", False) -SPAM_EXEMPT_EMAILS = get_list_of_str("SPAM_EXEMPT_EMAILS", ["[@\\.]mit\\.edu"]) - RSS_FEED_EPISODE_LIMIT = get_int("RSS_FEED_EPISODE_LIMIT", 100) RSS_FEED_CACHE_MINUTES = get_int("RSS_FEED_CACHE_MINUTES", 15) diff --git a/poetry.lock b/poetry.lock index f8e14d46f4..ca889fdc79 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,19 +1,5 @@ # This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. -[[package]] -name = "akismet" -version = "1.2.1" -description = "A Python interface to the Akismet spam-filtering API." -optional = false -python-versions = ">=3.7" -files = [ - {file = "akismet-1.2.1-py3-none-any.whl", hash = "sha256:49f128a22c3049c94e727db797ffbd01048bf3d47dd6195c888e0bc5e964d4ea"}, - {file = "akismet-1.2.1.tar.gz", hash = "sha256:f3790489ea091d43a14717f1f6b1a0a86af2ac235d10b13742ee0ea064ff8ea7"}, -] - -[package.dependencies] -requests = "*" - [[package]] name = "amqp" version = "5.1.1" @@ -4194,4 +4180,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = "3.11.4" -content-hash = "3bd103b739135ca38eaacff8596a8b54dffde2244f856efab5b74c171e2d3607" +content-hash = "f212edc6e879c8ac062b30842e07dc0f557498711f22c6ff0b980c37c93a5051" diff --git a/profiles/api.py b/profiles/api.py index 20a2fc30e4..e712c7e438 100644 --- a/profiles/api.py +++ b/profiles/api.py @@ -45,7 +45,6 @@ def _after_profile_created_or_updated(): Operations that should be run after the profile create or update is committed """ search_index_helpers.upsert_profile(profile.id) - search_index_helpers.update_author_posts_comments(profile.id) # this will either get called when the outermost transaction commits or otherwise immediately # this avoids race conditions where the async tasks may not see the record or the updated values diff --git a/profiles/api_test.py b/profiles/api_test.py index ca31bfdf2d..43318e3b5d 100644 --- a/profiles/api_test.py +++ b/profiles/api_test.py @@ -51,7 +51,6 @@ def test_after_profile_created_or_updated(mocker, user): after_profile_created_or_updated(user.profile) mock_search_tasks.upsert_profile.assert_not_called() - mock_search_tasks.update_author_posts_comments.assert_not_called() mock_transaction.on_commit.assert_called_once() @@ -60,9 +59,6 @@ def test_after_profile_created_or_updated(mocker, user): on_commit() mock_search_tasks.upsert_profile.assert_called_once_with(user.profile.id) - mock_search_tasks.update_author_posts_comments.assert_called_once_with( - user.profile.id - ) @pytest.mark.parametrize( diff --git a/pyproject.toml b/pyproject.toml index 3fe3c7ceac..8d97bb8163 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,7 +34,6 @@ authors = ["MIT ODL"] [tool.poetry.dependencies] python = "3.11.4" -akismet = "^1.1" attrs = "^23.1.0" base36 = "^0.1.1" beautifulsoup4 = "^4.8.2" diff --git a/pytest.ini b/pytest.ini index b933a13834..ed8c16d522 100644 --- a/pytest.ini +++ b/pytest.ini @@ -6,7 +6,6 @@ markers = # In addition to existing env variables env = - AKISMET_IS_TESTING=True CELERY_TASK_ALWAYS_EAGER=True DEBUG=False OCW_WEBHOOK_KEY=fake_key From 437aae609316b95e0c24a846aade0ba7d963e83d Mon Sep 17 00:00:00 2001 From: Collin Preston Date: Wed, 30 Aug 2023 13:29:03 -0400 Subject: [PATCH 09/20] Remove more reddit posts stuff --- mail/templates/frontpage/body.html | 126 --------------------- mail/templates/frontpage/subject.txt | 1 - open_discussions/features.py | 1 - search/management/commands/update_index.py | 2 +- 4 files changed, 1 insertion(+), 129 deletions(-) delete mode 100644 mail/templates/frontpage/body.html delete mode 100644 mail/templates/frontpage/subject.txt diff --git a/mail/templates/frontpage/body.html b/mail/templates/frontpage/body.html deleted file mode 100644 index 894c709e55..0000000000 --- a/mail/templates/frontpage/body.html +++ /dev/null @@ -1,126 +0,0 @@ -{% extends "email_base.html" %} -{% load humanize %} -{% load timeago %} - -{% block content %} - - -{% if posts %} - - - - - - -
-

Top Stories for You

-
- - - - -{% for post in posts %} - - - - - - - -
- - -

- - {{ post.title }} {% if post.url_domain %}({{ post.url_domain }}){% endif %} - -

-

{# NOTE: this next line is intentionally long so it renders correctly in plaintext #} - {{ post.author_name }}{% if post.author_headline %} — {{ post.author_headline }}{% endif %} -
- {{ post.created|parse_iso|naturaltime }} in {{ post.channel_title }} -

-
- - - - -{% endfor %} - - - - - - - -
- More Stories -
- - - - - -

- - -{% endif %} -{% if episodes %} - - - - - - - -
-

Recent Podcast Episodes

-
- - - - -{% for episode in episodes %} - - - - - - - -
- - -

- {{ episode.title }} -

-

{# NOTE: this next line is intentionally long so it renders correctly in plaintext #} - {{ episode.last_modified|parse_iso|date:"M j, Y" }} - {{ episode.podcast_title }} -

-
- - - - -{% endfor %} - - - - - - - -
- More Episodes -
- - - - - -

- - -{% endif %} -{% endblock %} - diff --git a/mail/templates/frontpage/subject.txt b/mail/templates/frontpage/subject.txt deleted file mode 100644 index 6bdb4193d1..0000000000 --- a/mail/templates/frontpage/subject.txt +++ /dev/null @@ -1 +0,0 @@ -[{{ site_name }}] Top Stories for You diff --git a/open_discussions/features.py b/open_discussions/features.py index a53e5eed2d..a163b72ab1 100644 --- a/open_discussions/features.py +++ b/open_discussions/features.py @@ -7,7 +7,6 @@ ARTICLE_UI = "ARTICLE_UI" COURSE_UI = "COURSE_UI" COURSE_FILE_SEARCH = "COURSE_FILE_SEARCH" -RELATED_POSTS_UI = "RELATED_POSTS_UI" LIVESTREAM_UI = "LIVESTREAM_UI" HOT_POST_REPAIR = "HOT_POST_REPAIR" PODCAST_APIS = "PODCAST_APIS" diff --git a/search/management/commands/update_index.py b/search/management/commands/update_index.py index 6be959da74..57196af903 100644 --- a/search/management/commands/update_index.py +++ b/search/management/commands/update_index.py @@ -47,7 +47,7 @@ def add_arguments(self, parser): super().add_arguments(parser) def handle(self, *args, **options): - """Index the comments and posts for the channels the user is subscribed to""" + """Index Courses""" if options["all"]: task = start_update_index.delay(valid_object_types, options["platform"]) From ad5bf231739c15b1a624c6b0030eab8306826c7f Mon Sep 17 00:00:00 2001 From: Collin Preston Date: Wed, 30 Aug 2023 13:39:22 -0400 Subject: [PATCH 10/20] Remove some more, lint fix --- app.json | 2 +- mail/forms.py | 7 +------ mail/views.py | 1 - 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/app.json b/app.json index 87e4bf3c67..4e946fc5fe 100644 --- a/app.json +++ b/app.json @@ -173,7 +173,7 @@ "required": false }, "INDEXING_API_USERNAME": { - "description": "Reddit username used for indexing" + "description": "Username used for indexing" }, "INDEXING_ERROR_RETRIES": { "description": "Number of times to retry an indexing operation on failure", diff --git a/mail/forms.py b/mail/forms.py index a9af00f8ed..a2e058c952 100644 --- a/mail/forms.py +++ b/mail/forms.py @@ -5,9 +5,4 @@ class EmailDebuggerForm(forms.Form): """Form for email debugger""" - email_type = forms.ChoiceField( - choices=( - ("verification", "Verify Email"), - ("password_reset", "Password Reset"), - ) - ) + email_type = forms.ChoiceField(choices=()) diff --git a/mail/views.py b/mail/views.py index ec42e662e1..9cc4fff602 100644 --- a/mail/views.py +++ b/mail/views.py @@ -1,5 +1,4 @@ """Mail views""" -from types import SimpleNamespace from django.conf import settings from django.http import JsonResponse From 9652bd1db3bb8bdb6053fc7b49b70f613df0f7fc Mon Sep 17 00:00:00 2001 From: Collin Preston Date: Wed, 30 Aug 2023 14:16:12 -0400 Subject: [PATCH 11/20] Delete timeago.py --- mail/templatetags/timeago.py | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 mail/templatetags/timeago.py diff --git a/mail/templatetags/timeago.py b/mail/templatetags/timeago.py deleted file mode 100644 index c9682365db..0000000000 --- a/mail/templatetags/timeago.py +++ /dev/null @@ -1,19 +0,0 @@ -"""Custom template tags for email""" -from dateutil.parser import parse -from django import template - -register = template.Library() - - -@register.filter -def parse_iso(value): - """ - Parses an iso datetime string into a datetime object - - Args: - value (str): datetime str - - Returns: - datetime: the parsed datetime - """ - return parse(value) From c82525c268c50313417b477c075dad0725f1104f Mon Sep 17 00:00:00 2001 From: Collin Preston Date: Wed, 30 Aug 2023 14:35:22 -0400 Subject: [PATCH 12/20] Remove subscription references --- mail/templates/email_base.html | 20 ------------- open_discussions/authentication_test.py | 32 ++++++--------------- open_discussions/settings.py | 4 +++ open_discussions/urls.py | 6 ---- profiles/management/commands/retire_user.py | 12 -------- search/connection.py | 8 +++--- search/indexing_api.py | 16 +++++------ search/tasks_test.py | 2 -- 8 files changed, 25 insertions(+), 75 deletions(-) diff --git a/mail/templates/email_base.html b/mail/templates/email_base.html index 639e23a1c8..7148185396 100644 --- a/mail/templates/email_base.html +++ b/mail/templates/email_base.html @@ -268,26 +268,6 @@

oML1q^|l1!lgu-5j?fL3PIo2kDg40E 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 z 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 z%0AfkUNq39h9n8#Nr1(^ty^tnF$&_X3T3lB_TKkcTU`}Zg-bSg>YS}prJKDvj4Z3y z{_L?ovu}R;-#J$d9hw-nw?A~Z4b4);VV_J-&O*aAyYBG7O9}xJtzN@;VWSBr zH-9PMbrX;%ca(AfYCv}0^7i|AJpGx5jk}1uX{Q3OoMela!UJK`MH;_ff_y!(dB48D1gClY&SEA>*T?H2Q3J zRRk}=g`UwDzwlLi<=hz>XKtn^jccOGaAouYhNYXvGq3&iCqD)K25rj!{FeRf+267; zStzboB^Irkmqwo$yyZLs=b7m+=#9|mRXB2u1Sotr$^dmm@Nm=9Jjn=6D`eO--mSBD zrYZ9)&{?1gPzz-tMF1}TdlA)(SVUT*(%8m05-@ahbr9_BWF0_OIdFPja)#PZS}!FR zF?d=>UwVk;aqzyyv0 zuhGyI_Mi45K~n_-9Nzdqm7RNS)*`6|H{t3s%~s1K2D^G12;idh0MI4up-Cvzh{3vu z&T*Y>>j>G4uZ-9nPCrazQsWRZ7F% z4PFdq+FttIqTPGjVT{+S@Kd`G-5=s!>HH^9O0C7w*X?19E&SCTg=pL|QECuQB@S>Q zOd=Pggq%->iNvIqQv52k35{(nL5geN-foh$LEFA%D?Vq|Ir5{&hpcPI0eH*vmd~J< zAp-v2{A!pz3Wb6oDFwa7pt|J9c&pKdo?nQ8`jPw*SO-A8y)=+T2;e(AOFyWy345rANah zX;fe2;Dwy!T(GD=kjxnkpy(0j!xQx|l@fEubEg>*3R#v8exb&BOyJ5u?MSa7-9_T9 z4s#u-4Vtesl)*#}=|Bx)iRqGDA3!4=_f&|GeViu2xpIM~;5w$K6@@9A_o2EoWRbZwn()A*P?C|h zenl8Trr?%dX#l15zmQ>L*D_3tEPP7DOhJ|d$YDA_-pLJ z#~!<%F!>C@5)F@3!hUn?1u9>3`XjA6PY}F8AYNEPDGMaEu8!te_EmsqkmkR29JfFe z*-|x<7nfjHIj2#|$yja9zU<{D0wwC7)?b|Yd_FtEYhd5=>yI>o(y`|Otl~KKB>fwuNC5`1kD~<4`Ph{5Qm;+Tpo@!vg_*A3t)U}O@1r)RiXeTKRnDeMZBVDv`pSKxG5uouelOq?y?{;s@3a z1pSp0XY6Vij3!%Pd#Y#_hAz;1W(}E-0eVf3I-i3-;#}~N{6ElJu19`g1?07c>r>@k%03)E_7?kt7%87P zVvR=1N>G34Wrvrd$k;C0BX53`vExvkR;lKanB$44oWi5VM~q#A`mzzQAN=QMu;o6d z4pB}eGQ^&Up+BrD)TSSYn@-F|2*#e2|5u+G0HDsMi)EmWu^%<|duDuuSLEQ~x1*kP z6;1Op_B&0%hxghfe)0P4H0W|;Gh-8|7%@$nYyHK~pRf=A<%g^dRkbzxTt<0rwG2$^ z?>}v`H28h(nb+)=oqY`S>Ht8Pv1gxu$${7-&r|L3V+*d5n{s&8l^VWlC z)lY=++t5X*eky2oE}ED~M%nNDHk44#9g!UWq^bZ(6TV6cNa_*vy!A~F<`isQ#}E~^ z2!;rrCXS@Ih%}jB5+cVoaTiHD_2P@j;{*tL2$0!~K6Nw_jn7b8R%pA92XJ9G(WS;I za!c+8xEu^HI}hU_1MZ-2MG$f{{LG=uEWCax7#Fd;2k5FxCh0XQU@?@$AqLyolBSRe&@;BM}BJ#>AgyZJZ%Kzzsd>00=+`%mAe3**Q71E!Zj1J`IAnQ}aFH-V4Wa;xrj>W1e*qzP8fjR} zUmSadk)SuSFif;$vSmElZ(sSRFWJ_{X8Yw+&)D~V^dtCc>@}`2fiqMPQ4qxNfUGUj zq?4k8YwT{m|_Z!v- zc`XnaRbI63)R92l9G`Xt7w9wHgeW>?XH32 zhhhtd_sH#t+#fARks(FUL1~so2OoyEwzh!15{9xjf-Qt4Xb)c5&$yHnBo`$Z3 zNZfGJemJPL>()lVyGj}Q^>b;vVQU)(qLc}E=W!f9f>65skFLUjqcm1fj!H|M%_YYq z6oW=dl7IlgLSeB=v{hW=0=*0=O8cc&QHOk8WeLq;C=P&{^>o)_7cw{-k{zzU9sb+zz&8Gq3`r3tRcjt(G{WzixRBw;Mq=D z5s5T*k;asig)>EzlvB3zdZx;i&y&0f`QjPzWpYqDgK9hz%|}B7G>AfSg`#bFxkjDo zG}4KF_@^FJ3pUR;fh#DKc!_?LJT}$|R6XVH{9$oePs*lp9)6HgP`MluTM2^a6qEMy z8P%Igslvs25jbZ->lH-nUN`l~saGi&$B}#3AM5b?4NA=_{UcIwQJ+KxEnmzYpG)$> z#7eJ!-mQrYyoYPgV^3ytQ5_}jlhPwJ28}OXXTKW_l|DWrkFmjSZ}U!>GBxbzIm(8B zwF5p#(PIf45yJi|34j|*^pe>S?-#&?H7R6j?Z)~%`@EXZAd!{rh;aT0z6})b>S)G| zNKVCz82D3a^$Z$8dK+59IDynAXL}j?nUI|#_LP@^?Anz%zC-KJH9$qVaZinv!{>bt zZm$Q0m>NE(0{(LU1!xiT1j(qxXkSR-M|LPbuh8*JJGw$#J8Q`E-L|WYN);ZM`#bjh zYupFTPc*(h|Er5gUADoeW!MmBSrkHzQU|_)I}ehGgOp-}thqY(10c+9N8rDFJpT-; z3LEsGXsVmOM?TMkI+ZlGx56DAJ3B)1AUlE554IpoMXZskT#f`tws|QAolhFuP@+mJ zH>~eEB)xJPCbS3@k0s1j;$sN9xr6{JJxQcq0_?+LDlQ>7-^E1)aA?A3NlwITj}y>e z9!DuFTg!CM27I&Mo_YQ(wu8^U&B3T8hKEp7k z$CpU}O05HsV{v}U+P3Yttqk>m9?f%RFH+sqKpX|miVtd`tNF{;Nz$nX;M0mG*|=3_@9071MCAeeOJ4Rr$8d@<1~jlz?og;9{%OK-*SpzA+oTZ&Q`8R zfS}wpo(~)DY`dN+&y0sfBtjK{{n6A)Q|Q%x`ZFp(y=k7m0qtz)N)_cb01U@@Y0#}v zb#;SF&Yb)lc0_2Tk|zNvuByZJNdGy6c6^w?I72X}pj$mabAXQxOl?%tGXG@5V>Fv? z-DO={ciMC~W#9ki=ftYV|0w~6#>S4*{uYSi!A`qGo`ga6Q2v~fuDiEPj=jV?xjAAU z^>ir4lDSf_$9d)7lxXXJPOF-rUi@RlGccg}S6++X)O&O<`cNU_L!*<{)mCQRP=UKb z%XW5x$+q+^q%g2*VwBAwzTaF^t|zUSh+l5V8nKrHI7toUKXq+Ne$-c@XQ2wde(or< z{ETSGC6-D69CW7Z*5}D5bHBQG(bGiZ@w3;Z9yZT4?%n-Hi_W}k9rb?eZfe55^E~+9 z003rZ2Y!tBLp*$UhFN#rqq#zXvV^T&GNo7_n4KV8S>JCp&sKk;+@acmS(cLHcRS{KOj zIofP)f07}7`tzUX;T71Qzvlz+mB?Ii5MTb><4(6(6X@n*(~P~Qd`A#F&F2gZ4A8CK zX1CsQ*XFu&cx4duY*ac@gM+?Dh=7_kg$k?VStzj=kNa=m`d=0(tLMNFoU*BiQQb!7 zHx4|GS)aw4s-mDZxi&Tk?IvL#fB)N%FQUXwNl_{Rn^giFE$gf%yHI^S+2R;MJZL2x z-+%bjs_fQKoFwFvQ-R3 z-tV8U_J$n&6F-N(K_!I`XRWpONE|5D#_6<&O6Z*SyWdHJ-24ox8V&GlPa{{gg|(Z2 zrc{CC)Touv&EC_|YX9eZAjV0R00T@jirC&=89Q>Y37#5bLg_fZ@gUU!#O4z#9?+jb z0+4NX@#RID4jK2ls~fa6N=bFxkW;qH*XoemN!i19V^E8mp(Ush3!20FY4+h&l9wLG zIUX6rQSXCGxjqWzVxGxvS-V8zR;Xex)PyC_C=fOVm)v{gAV>@-G;3h#1sVq#9zihw zv!i2n>I}&f6X$>wFiyn;HP{6PM?`4K)vzC_@hsu>y_D|!bWPV2$S=pK4p8c@g72xO z))a_Ldv6f_CzP8Il#}QfjVnFYv17&l=jTi9BIUU>H4o^2uy^tPAn-T0vID7 z=%*0p5vob>3`kCBph+fT1l*Wm=s2V32QRM|P%ezyb-M^qXphKbX@H@cu|WllM~N|~ zff!nc8+VUp@n&^ENjWqQ0(&p0q`(9v&YBP=BsWKZtpG{Ca#{8v_CtHY>tl)~$aa?M z#UCb!=CY-{m&y!11c{g&8UYuLpc@!!hZ1qtHVAHHzld4*TwS}IngU=YwggC2OOjbo zc8oj>dxARb7T2O*qHN@m@B~3J*Qi+dz4f57i=59*p1m5(ghq>&5dgAG#%W~sl6Zrj z2hrADOAm8~pzJ|sa*7)u(|-C~_*CqR6n6Mt8uk2WHXzMv;8$-b<6^%CsK;xe z-;k7$tnp6nMTskkF$0mhw$^RZ999_6!3gg%&R?(;gz2(jXFx5nk(yQ#=P;`@+}7G; zv1x+WWVJ$JbkeDsK=aaIlLU=P_(k?D>k6+r2s*r|X3*6M`}}{u$4;FN+b@1avtKb3 zC(z^tnz4K&Km`QWA!r$ri+k;LRASVaNYKIqWXKcAGylm~G!o!z=uI}qG{yRWm4%>M zQR3~}fig^lq=4@&pn+GQO>()&E`tW&cCZiUj=B-3>(t^JAPK^ZHOw9$xm|?jwh(2a zY_J~w^P+8QZ-d%IC1|^bXCYfz6(VfH_5d;fBD$);3gfdYOB?M9$X$d9q0=;O3lz=i z83EX6_JJnzO7pgj>eYpFg8*a%=$wmvyRp&u6%R@4GLS0;H7fyOO+w94^XBN(gaO9F z6>fF(zTHrhE?>AxgEY!NVaW`3+tKG<$A_VHPSbJ_QJ7KXur=h(58V2fML7qu3PPo9(f}J zSajYC(c4Ck9@M;}xsl!(n%I!Pi^6sND%6fVuA{NBo+P?jC)xRU@svfAQpHHVTW4;w z%E0;o#_Zm{4RwV9d-%-{G3xpm5N5`4<7*}f$iDiu@6lN4x9g#W^z>{Y(IuGUXZnoI z7y}2!J?ZS~-}2e3qFNOKL`uR|zPcDAmVqa|Mo&%y)WXL4S{uH4#fBG_?45t|UK;dM z_KT-}WHW=W6Q>YY;hUuzq&!wi7!FY2?Cbknyv29PKMB-RtfOB!DzFNiUGpHxo{O6{ zf8?$~agqGEqi(X^`njsG3J6sNOGArQPs1EYc~{GDAngU z->vmyZTXxO)l;WzMojAis1Vo?=lA7QA?KDejxBVFGHavfr$jrcQaPU!=e?dc-TwwA zioyq?+|r2w67gK}DKMrVDF z5_~qlv*13y%RLGHEyD(J|I91(P_)^2G8hIN0cFi4A3Bg6Vb&IB;Xcj%Tp#Hktc($t zthwq`(H>Ct+0xbN5a$ih=X~@qKl1Va4w6#i zI9e)~M5BvNVosM(0&4QrfBhHhXlt?8UO8!>MOh;c1Fq5FQi2e&rV5CX0OBhGUv(FQ zFyR}&`Zv8qO%h9P(94uU3 zC#4WF(_Vs0Xigxifj|P}g$a|OEJt5Kp`-xr;p{BP5R(Q$gTgdi&4(EU zjdDrGJ3xYo+!IZcYLt|ob}_-l=)?s_n_7(_uUB5}bfM2)7~p;}l5kMRmOy%!>OraF zwx?ZK^!DlD^qZk_u030CkWApy;9 zP)daFsJ)`;oKh`H(Z#Nm9+p-kQ#4S*N_q;t6yKkwsAdN zK6`$%VM+XM-Kz)wcR@iZ77w%#Q@OSZy=e_iT*go91$hMLLCX3b8c7q$8S@uyu_u2s zK@f!=d_@RnMj4r8sJ6KZgn0xy2902hmhNirBamPud#KgUo`s9+Ehb^38blRk4KAuf z@uk9B4~TGaQJg^u2kdtzPGGkQsKS>lMCrZ%>JU2Om8=DcQ)1q>Ztb8ka0-N) z#xwL3TU(lut|LN)7O)KRt0t=&_?GQk^6Zb`N&B+X$aBshSypC0{L!R^Xil7>%8~`K zUrj98TOL9qIdKU))Ck(ipHoqrj4j)9&-3t-JWFhZC?oQTn`ksaQ(@c=9%|;=87VxK zpjoVf>RBm145}f@5aGxiNjga(&8>@2M|=S$uA!%!q%tu~1t%{9e-$~o@)|EqVspq+ zR**QOdCo}kRVD&2!hO|Xrb2>-96?Ob52YyqACv~e`NcT`FX%Q@1BSbgeEf1kf|m6 z<2OIT^AQD+gvd2;bLQBS@)6p*D^wr9^Mjw;0svEp=C8hvt@yu9B@w+qK1Ft3afsy9 zRC$$(Mjgrydv^8MuYdiFJ^Hq{+rY?0`}q%_VMP2%gb}d$04#dW0V-q1)LQXW!wuDTPPoXoQuX%FJbGwoVk{kdQfJwOXmjc)_dvm|a{3K4@1+`p-9GbpU*CL9V zQ;XvL4i)By9^UtdUoMd#C{%@2ddhQD2>O~wth0&%L%HoXmukhP6B7|TswYY@g9}di z05{>3_0u(Gsg4OGa3Ch@EkogAJ+9*q>!SNm%p@&ly+^CZO1VH>*G}D+m#U|ZR;hFL z002M$Nkl{^9M1vDyb2)oAhg-%LAEaT4`Kj0aBNaZkVWArm63I7+LFjHyS8*QY~p6;EVLEW z{MCPTloB#d4=))YD^&2RAt)}`!m%~g)F87mfuRCTNgvS;C z&(HiF9jJA1MQb+?KlheLVEmI`J`YlP+}{0`hZ$Yl2?t6^$mTC~{OSQ~Pfd;tQ;uu1 zfBfgKBZU7lTaQ4GYg3@kGX-(jJizk$_ug{^w5|f4S2KsU$~_xB2W`d(GJ7XaoMzKQ z2e{>s_4aIWB}xrH3C|(-g9F!n>X+<7sDVZ^5OGmr@;GdN`?voMWV?!k$wuWc508vE z9$gWeEDuERFF*cgAP=|M;N{Eq$uE3?HO6ogK%{ssjwhziW{<5g`c?8xDk8@i!yN>@ zE=O5Ijfpv4Bfh2%f|O#E&}kj63|z1++gjKYP&}&8e5TAfg0``rfL_K;!v#b`X{>MH zD`9LA|w|{B8DiT_VhNu8=WJ_ z4bVIR`bAJx6JqZ`k14CBv>KeTiD8;Anuh&_`@4MId;G6~maF(%i8=NN}a#I_is-kZwm{Y-6 z+*u)zevstc1|8ivW5QeBLof^oA;bzxNHWJs;P3o1v{}A|fJL+t`5?(5isS4LEO70P z*iE3EVBJ)eQ<+iQ77jbyXgSpl0`vfZnvi6Do+vk}_~>2)D!3$pHFHOi`;pViuB*BT zryt4#?;?rhep$Em6%92Y0EhP>{pdBCD~pkgN>aL40yjP~K8x;vn9c&jLf&)c=h z8BjFOlOhB{0KK(U% zH@u!btPjI%`bV&1QIbGpvsTJMW)o=fVqdF4UQx{{!FDZ1W??;Qk}WDl0g`IAXBPB& z5k-KO7J6EyX3>4+JV7C7t%dx;@Do)KWTzHpQYe$O*udx&XV1#%6KQFt#5_5V&T~6j zx)US^G^e9+EIV3pqAUf_^9pa-9}>|*?;`>hjwCokSaD@ba?)=a|AGe zJfiCr;X^|t#yJw%8p=jT_TPzW$Qat@tEj91faDlAj&H3gEQRvnw{sURfYvv<-W50M z9-qLXI9nc2QcXk}AaGh@uYd8YU!%%P{}2IrXJ;ot6z7Grp>rp#U@4pEjrmaV3W8pH z+gl$Zd5CgP3Ank}EX*24@ZG;;n3EdjopvzqUxPa<1*$)N_#S+`r0h7moC{YGmT_Pg zyJ>zT6GDX*_$n}yMsair&OK*V-1!XmoMza|mhKLMGoG(FkG$i(3@e(o7k>PG z8yPr6l*Ey+)R#%7dXone{vlj!HlKuW(Wh36xE46My+BMc&->-P06p+ftd%1hJ zw)(yl*QG%viqk#VI>lX%i$DUQwGe$uy#?+Xc&*H`q3+!}+b62zDEQ2BOtcYIR8VuXOQfb6jx z^rDa<7m_{_M>fdf7ZSCu^5zYAUG1%HcJVS(dnkR2u&u^C@mm^dFt%7_Er)&y`u5Uf zG&G8A6cc`wVb;~vBGatC)wL@?~nl`xWv2mOOpR`1$z7SZIxfE0< zK&r&~ZKLT!tTb%|?u+jMja*2e<`JjUmgXxQk+P@_4yG2qrX21rh7k4y8$?00xMc-) z8AGV+&Er68IEfBZLtPDr8Z?20Pf)(vjuehI7|b7c2xgGs(Lqa*1Z;Av`AF7aEs1mF zvx-YS@Kkr%2R`;UHqXKP)Z<^WA3X63jDNX(^Xp%-M;>|*W7y`LiYO{7;}6rYa0R3I z)bp?MnFzt(xEGY9)*Uu&t~l2r)KeMrY8+i{9D%4B7YDCd?~Xp}qw{%dcQe67BXVGS zP%O9(Lt1E$zU6+q`OpEo@cKENOBij^5$oNy)%tpS?8iU)DM-ko-E#P#-GA3%f+skK zJbUrER?whk%i^SQ`k=(s7_K%-Vi z*7C8(9;SitQ&tUE^0D{6&t5)t9&Rdu1lKI?oi?nv)CtN(nwGUjDOqUXVr-be+3$2> z)!eAkl8mE*^DF)RNSsAzh=B_}Ifmm%G5LhWo>vWM(Fj_laH(U6ovSQe zT*{G7&?EqQyv}|}(O|X|!yyxZKKQ2louhDpy0!)giqJrs`Qc&?E`p@6xpe0{>!Lm@BX`bX#{HEJ8<=GC8PfsCvyVUuNJB zLq=3eFJ{O=E+6!GN)1LiyKsJmteik{JWDB%rbnJj9=xvExkVcOP#Q@ z2|Q2ESUwGevLPv&ToOohNmft|Awq*!ITsoeyuxdXDG`@r?B?fI2;x_f&hptUH&=n| zz`=~<(H&h1Qb`#ag^f_{H4w86!#ro`=A+clK79{lLjiDHqQqsOwdaOransCStt&s z2DO~%4x4lddPez~c+bVyA)Es?FpX1YYqFLy(0r8aNgn(~4zJMWoNp7INMp1U%QD_L zTCPpBv@}UJ1zzkC;Q>!47Vr zNl_6>!oMbXO%rHJiqz?+0wm;U+O;$`nnXrQ5o?@Te_l1;Lp2DLbA1E3vtrOw&Rh|} zKpFdVXxwKPE<~VV6oE1_h>KurnV}Rp8lqDm&D(d@+9(KHVG+Rt$+S1WlF6F$b~nl~ z7cNF@8G4)gY1B+AT~`nG__}Q!cJG}u2hmvg!t?!5r}9WxIp^p_3nlAf&_@yUtpf+A zK+F6jY8zBXwm3OUFTDUdhj-ppWK$z?+qbpPcJBcIQBRI^aG{j!@9MQdM$Wf3fG%wm z!i6lyCKJFR<<);73Xi$Uh(E1=Y8YG71}MQmpQ|9LjU~{uvNQ#jISH^B3ONFTLXCyi z+**X)jM~sZ1UdmDzH!EbL-@`Z{9U-DS@u$4S(5Ws2mpk9Df?%39?7}+Iai(@C1A!O z5@aQzWGuTzvw`7pS4B|J>Opd0aV5&Rfu~LatYK$G38>&eVmlz0wY+Dp5GX*zb;f~)u!?Rw7N|it{WE_NjVs^}qy?hK+iz&_~l|8h% zOX#B#?Wq#mqS4^JJDTkDYgaImmC*hc?KHzNMnL`MW|r{d2~hM?Ok};{s;N@O>1^*L z>Bk0KJjZ>ZFwzc~0ti;j@G~W7i}*G#DpCqy4_$u)szp2O=Nc^GzS2?Iz0y^hcs7})-C8er3 z!FNo<yh)Lz}7kih=?7lfc$2V$Xe4(*RU?PZ~-BXAYlNNJY+{iBRdI>QJ_7 z7h@f$GpRoViXL>$e0q1*@!JXPkdR=_tq75rQO?0OaHf#Lqf^)go*MVe51OZmq zMB>7a&5_u1FXgB;<%zaNO0ooXNN7R-$f#YJ!v2#`Dq#z--e~~AbLnJEIHpe2Z)Ls@cy{VSk*nR1VWh?-%s%KhhUiO0$PTbh&4R7 z#Mk1k*i1sAbs-frHHasNujQ5*`zREc7b$ZJviQRjpqzd(2p+}~L9Gsi$`zZ0coZZ+ zzDPdgA>77S)7kI{0Ue*4z%lc5Sst<-K2w^8%BCw(ktl^TB?QyUff2KCjKC;Cd8!=o zb(KL~w>~$hOhyRgJW@M196Ufq1iFS%6h^wTj3NMZ20q0F;`s!IqAAp32tN21e}N|F z_4Xg%{=R+gOaJ1^3lBehn|7v>g~Qe zZ-vte@xQg%?!N5^Mhe-Qx)9D{7e?fIC>ag*^PfLyFTQr(9)09~-n)wudL?QW6Z`8(2FI=PlDtT_p#r|uF?6eCV5L>lyWq#CP<_TWEfEqL4bq9 z$AmWcj6z$(tUu9%LnPT=By`PCl}cGpGG~mr52KdH{> z=Z!7ZR#!}T5I1c4JM@C1!~%TaOE$yz~WxAxGKbD4mE zKqm%5JWI1%&a;g}55JIRt(gUBR+F@VTnSlPTqv~}c#vUG+Ng$CfMk187-|Br1WE_@ z-pK?iG?t?=1#Sdi1jIt@)lin8RArRbqjXgZZ479V6N{GOKcPda=xlHnlq?j|oTY|} zRT?PbtOd=^wr|Icpx#$VxN7a8yL)kDLm*4YEmbn$g2c0TUkgDD+~<-I!OAR@5CszA z@WACI&JXBP4MR3apvJ~f z>u5fRekZ8!YBPfg>Z#b2LZunQAyt4*6XXzx?Z2+cd^9Kaf*9U$SR?E)i+RhoZD#>I zbb^~&5^&I0X}Y@J3eJ~;SS$@^kTv5u`_#AxqRKXNv@s1ANNai<=x!3*Am^k1RAUvr zL%$U6>U`u8=*a*|UTcH32AJU&XNjOx&Nv$8{XT+CY@U+r97b*C+c+GC$4}UM9dZFMwpM)pp zV?FqLhV{@esdRb~Zm@!JniL6AWIM$-Ts3+y))*~Kg1QRdmI8$NN^G`A)h!MS1vC0Tel*Cjv!cpz2Lg%>O z!qbJedqzod@)HzvIokd_Llov;QY>8Rr9Lt z>T4pPEkP}UAOsZsiz;iQDl%#A#;^!$wv1G#5u(LwxFAvk44MitL)ARQ2dr6Q{ZlE%@$aKPm zSpWl)YCn5lRKPF+#5(T}hzm>5vPPm4C-6v7@U6??ge_sKy8)A?(O&iwa7{6>aftwO129E1 z2#Oh=lMg4nvKjyfI*q2;N{MM`@+9C3y;@LLdT3S@n0NZj>n<@|;cT$5Am(PH^cRI` z;*C&!Yp5t?%H3{jYU_k1cEM3yR`|K=jlkA&Fu3;3#z+Bn`uw4xVH>!31zW{1AS%jI zck1r#g(f#B*d{9Q_4S`^d+(_&67F&bRpNQUM9z*EC0>5a2MM zv*cwBM12rPx*9r%8r0=$g&M0uG%+#d0H^M5lvY4rPQ3Ii)pWCW{K@;RWBW~L^!I~; za$foDBC7q8N>o);c3oC#0Y1JOIi18Me-{|WU))|$T&HTiltTn|_(?=0<+=h_yB@mG zI-grqm;k6;#ST!#SYU_=@tam>iw5x8HxW?IeLM#l9V<;&S}bBy5TxJy@;S z!p(S9%31nqhj^1f1u)TkmW|W&Vxj_Ut$<7n8~3Uh)YsnB@yQff zQW?V4g}k^BqI3bJSPd!>pM`sLnWEmTOaN2Brs;7UQw14vB#Qi1zG;CNukwP>4+qwB zcQLXJ9bh4h>%6{NI9egb&DNeFRd2@Wkcmn1L~iYo0>A)Wk)gH5K)L$534k#l`&Sk!|_Uj2tjZ(1X%==%AAUVSw<5dwD-K{{WvL~ z{on^bwG+qB+Ti?zz55M^?V}%fH%9kP48kU{zM_J%H=m>Og_45mih7$F8nA(hQJlu4 z`Bvub1MmA2(CQi+xNwCsS=cUJxJ>qa)-GPTNGEhZWzta_A00!xbCM>th&}b>Gxil! zJbv-qEB4iIe9wONy| z8&%h$3V^smLMTg+f6-tPNw;Y{=tuwS-(sN7v8nQH1V`c}IV!C|K%WEg(ksWU36lb!tfLr1R$3hc;dBNZoSKu({&Hx%W20dWYFf#V9dlDpPHV=xHB|H2b5q! z+R=3c0Ny|nWEG_W(6z}Cp`Pf#f^x4ciPOlfgg?{(y@g`p&EkN%l5Xn^$;Y2Mop@Lmw*&xFad8{L7et!jDR`^Us4G| zSvAdRLUlm@h!bh_P_WEe@meQ;#&bww)U`h~z0;553liXJ+UPn7j0E$iko8)n>wQaa zi8a-Nnt=#kxPmdFOg=gmw@dta8F?+=T8Ppq&y$3?q?~dorT)n&Dm?^ND@$H$@2uhM z(mBufYY@mffn61igmX+lj4u&NIG!RG>F}`#&=*F06-AfdF!f)i$Tt#j@ zOLc$*M-IaU#8g!L*ctUb1o#X`;S%O%?e05!oi==_YgCjZB=2Q^?&wU~ z;ho42PRwEc1xa{Z($rSDfsaYrrHi2T>-p@HMSJKDny_%7FCCAe{Nn*!SYlF|IM~JZ zD%Fr{g9JdV>ngH!>!4@5cXZfkG^9tS;ygR-P8?@TfOBY1Cy4DezKaB##QMy&u#E!r zj(}FhLE=ZR(Fj=Lv)3;6qh6D;MVf2#S^L(uaRT&468}Zpd0mLcFr0WL`;H!ofwS}=Mt}g=;Kgn}1!L1P_5#%h>ELa3usnPQbC|~pst)lhLz;UP} znv$mYFT=S=LPrRKP|k*zZP%{dG#YY7p)}4#SSx5Eo&s@D30m1dYFJIs_!lABE+_C^ zS%NA>;vS)S(v6wsZWm``&K4)IZ4s)o95P-{10o=SxUp$C&oLUJ<)1`HT$qPez{Pm7 zajIk$1hWiA;w)B!JlC``);yH3>kqZ!Grg42I+_&No>xw)$7lRMZ2tegAewu`gI{qxK5xjm=-jw+ftdfE3jR1+hZB zH&`Q4JmmlCpmweh1ZD`L<)7!N?#|&<6r@&iUr#^%OPX~r*<&Ai7iuZD5s-7%u3aHH zr8kFUUX-JJvY5G`#qQOLGhMy&wFTQqd(igghL) z)(k=8$@9bZ`h{yYiorX5d4Lhfqc%7(!<402kokE=k%plSOxl?XgLYwP3}lk#PC0un zPo(|?$dwWV=_E^OU~5+!C8dC|Fkbicg+b_*MI9amYY6RF5NYMm5B@W?^a}W7^x8#JR$yveV zJs~c;_8cJdFT@yPTzRVE?+LZ@v1gJ588SjDw>|&DQFb(I>k&5*WdI!73J6b}@7Mq( z7TPKlQfES0e2O5TT6Bzw1Z7SXAP6ABQL<{jL)_XVrE?$XubS*ikQ2M-ezZi3X1EVj zKAwO-%4@T5Pa}&|SV(WLQRZHW)2#BQeRlbjj4>Vi3PhneL{)NQVr3Y*MouD|9Mlx3 zE+IRgMzRYhTtkB-W0s@Tw6C`vlxcw^2ZO->lzf&~sd<>`k#V36oLGX)K92H-AHHdl z`^>Df*Ln681PU9JwWn#qk_@B=BQlSJi_^$AI~`~5FtMtF{Y{g`Itg%FO}oA2ty}H7 z<~iHB1GJ6(Jv9x*1IM(Cla8Vx9q=Px$39A;mQYihwec~GF^hLh8{ zbvYT=6v*#t#MuA^adK4HIN9QL5>5dex{yuV%yZ%_X{@y#q8z{Emb_3<#N`&pRHN>_ z@MDAQIaTp6XRHY}M>oTteO`i25@jXQa&~+r?-x3zl+AK!<+%6@`iD;DA`29lXlrw38~02vomAjWazHfWezvcap9*4Ea*T9%WT$8BtoB$-4h zLX~il%1{^zLx72Eb4)gDYG}1l5V$a7jYFmNc5Na?u*_>F=-c4E6(t~uaC*HUt2(n9 z4=#!$PletBsxHVM*j?r+twXc)LM-W?(^0h?NT3Q>S zQZVtBfFi_{M9Dx_u>VxiotP@5fqU||njN62c1li*Kxg?E z&Sa4TB8vc%^c_iTe40cjk05aa&|+qKfoAJQ{5PR3jhMfC@o7gPdhzwaXW; zS|$-8b|G2BzSNaa8R5C**cV#YMU<()sPV%D!6Y~(fJ6csJ;Wm^RBHT;5HA4CNHVUy zu>|TS&9Gx@0EmGKUgzOCL`aS+`7BikqyUqG7w=^#4d25T=zo3!^DJxN#qP+wtPumK zvL-tw=~GE?%2rhK9#zX+Lcx1qr79jL(eP4vSQwvxGN`_$Nvf65_DHbHp!(+1z#rz{ z)sPtnEoV7hkDL6fY;S_3LsVfQ=t-JKA+OjS2YcMV|K$0T_S_4n?Y8T7+JU|XlyX4U z(Kmnc`0Lo|LTm5tu>Qeo*4`6>wg9-K5JPuFq97p*Q4$r;o;gQVwx@%bPa-dIC5H4a^TaD0Txx*4f}g3*~MI!JFj#Ll)&-CIUqi`%aTbsdGdtIsuZva1<`*( zpoL_Lrr;1`oco!J12|pCBz?cCA|Bu`m^AVVlxnvUt0PM($B)-7;& zFfe*O|8r;vj$%hoi{mTn`@pAhdU^Kimud9i1B5bh0q*l1VO~v&IF{Xr*SEBgE%8gi zrV#PxU%rgDaF0M=#)gMZLaABh2xT4bc%Lpz zaUxg`Y7?PeSpv@o%CtTHna@C}*#a8C5D`iW>WpP^p~v_crV%ArAy^{ljDQq}dCmDV z=k2G@9EZb1O@KhTt|rgE@y&1X7CB9v7R37~PO3oHrC+S65a&v098t<#S|dG@&wchE z30&qdl9b+feS#oiU<6@#N@j&c8KnJo+T)-7XUi2ypLnoQ%sU)cm$8h-2jRIiU zOX8p_0HPd&5nF<5F7#5Ir{6yRTZi6A5u^~w4+R&BHq_){8G>(uAwGfROsFGBB=_zV z7796b?AJ6-OTA@d*8ZY6X&B0LMXN^J)Lm9=B%PwQp>?{-=)#+GT6$Dg)})w z%zX!;Qb-@W4CLzs`#nWqTncwFFGvCq1f2rmPy($9V`>x;a!I<3qKazG8Mu%8(4USVDF`wSn%vW~(|&jCB?b(5oubFW0(7C6(s@)7;xzf< zgjZ2d;VRj$oLd}=y8bIz*JTDnG&hHMo|D$vNmC1z0w3sWegQIXgz7SelC%^BO9pqH zKv2C7LQ%XjiBnhMc34ykH@dD~DjU_3kgT z+R6onYP8X}QUX8q0$fe(1}YG9tVvHx4NY%ToWpu_#e1kGjk?A~O^jQCdw=<20|8^! zwr|ac))Tbxt0`+}YXWh;W*tpXuD*I$hmpt`nda($stI^r}@ik(7XL=9A37a(<5D1m`fE zN3TjTsB#SXN~$(d^xMmk+$sV&hcCZQg;z~aLRY1;n?$EtN&flol zuzyu>W!DJW*O6tEoM{QcWhAn|XI9w^XSyDrG{xVG0Uz4CTB%@O#V+ajiI)$U0rf)) zAXVjc);~XO)gW)=*Hoja@KKSjYp#b9GHdavl+A)(Y7}{ny-#5tWEXVYRfR#`=|f0i zqgSXb=tu^FTr2jl7(R6$`p`kZjuC~l86hfL2PZ^tx#8HtP7;Sf&{O+p#$5``QvbI>+A#g^Hcq( zrAKIxJ(sY1?zxBIQ3GgyL*p#2;&t*(1dBAg$MGAoJD09rwPQz*@pn-Li{MnZto{7SpSi}!>F_K)Nrx;4 zXc*xcq1xwAQ`azzPf@Zfa4lc{62GHLunVyHZpAjzkk)(!#Zsyub+)xa9~pKP#n$FV z>_HliIjSzu`yPG!JD`&=9P7p7)_?Ms_$^Utv5(kr@5X>SzcB@Dw1bdsLs*B`7hxl?^WcgNfzeuwd+W1>H=n zY{0g#wY1eG7E(ONGB=t=&*49!O~7WAuy1YB116Ysjw9{<`;Y z+1c&ZK;WRSy}9<2DKd5iSSs^I$l3|vIUuDpb1_7Ki|3x)1C&U13dfSeIjdaQ-rh-e zJ?s!VMdL0I<=Faw z?DKYxX0dLv?uXv^2D|y@!<4Zo)v_+!mUDa(_g4q6$n~3AgXrJ#fEVZxS4sZW*Ur*4 zJqhuDgNB-I@Q&)>g09*F_aC+cySnTzKJXrU;J!Dq<^;kRza&9rimXZ~s(z{YLwu?{ zex8FH{K7LY*weo~LE{8jJP6g6t!?)Ieev&2146{%DT9)+831CMSqlZqDql-4T5BvR zBNiBWy&pTYL>cDQD}y-h07@!DaMh6xBlFy~tDWY)ZNEx;bg1t6)Ocm8>IDqcahZK>`ItK#`@NU2uPu6jE~Q7Q0MqA@t##x;cT$) zD%4%h{kn2Ij?PQ6rDo1eX5tiOZeabJ=|(uiFd6=_SZKU|`=>VPrMO|3PvVLW@FhydUL=B*-z(xo4jHn91p9>%zR?NESh#k7_ z1{)k8xMqE*Lb3aG40#>NMhU3UksEJ>hA}~4K?BhoC|G@=-G6tUb@mN&w#(t$@u(71e}TZJ0y(^5%9f(awcw)Ap3;OD6k~~M@v~lOuW!1q=*v)aTcvYPDsib>;R4% zXOI9SO+c!tmTCCRN+t_v>dEjtL>kJ`;H5@m*PO^cQUg*BhpDC{DLQzh41(mIDki#q z4M54GF%hyH-%lNgKwBFEh9l2R_aj`B0Gh-=HeHS?4Zxw`g<31s7r48eK>;KjQNCZz z((KhGR5=LJxCDl2fNWEyS9w2=ayG69y9q}yKp+@^n+pxbP=Tnd*}yKAkz9g260|H+ zo-grKTj44SLe1^)SSRh;OfBQJuR*)22Hj;JFm^jmvJj(@F+!Ch>7}`_jK)`}Dju44 zCMJule>NW!lZt__lmLx0LV%S<=emC&V=tbXLs|`A!9WrvY{mW_YztcE`?{%s^do@> zEsBP>vC&y*13^1~b{#|*K!K9+I*pPE`b~6x(`%9{+~ht=2@2){pav7$_P5zp8UlmC zQkTp$H87B=4Ib|nl7U*3A^M}XJe7pwtX>G#mxOfm>WI~Y7`C?2kAP2`0(})#vV^_i zCrgPEe9PxaNh5{rk)*3CcWfoXXevm^4tfC~+PmA?Gg@=?o`8^ILqe6%mk5*t&>Iw7 zEip7jphO9%YnsZWY#|##j~%Mjn7hwK_}QXcYFccLAfbXpc98_P22?Kx&=jMZlLQ&e zupbs@rQ_|l@;VY}&R`*G7_ER4YZ(1io_~NnR!9)ELbcWpN*ct;);ExdLI0_%*MO2n zn)ViH7>)3q3_)pZvVwY_jSoD}9RGwQkqiV;)`l)LI0nn|h(>3iz8Lx&I8Blq9qrm413HJM$QgW?iX=ZgL0 zspkN~pcpncfZUe3o*$h`VR%mH0Kd06!~^Juj9nB<1&~cmEyORPw=()2ps}r`mFh@@ zrqe}aXS+xa>#)zSLj62pci(-;4&DBCq)2z$rL(874eL;Pm?kN^!gE(3D==)5 z#(;eis;k82FF7hw6^(LBG|pb2LL*Rympb38$QR%e7sjwkGk3#5cqkj zkYX}mlR(Y$pkxUh78s%_p=xqeHCr5IeV_Wf)`($FpPc|8gj$FFZzA}vXUJC{62j#S z@mVM46U#HVwt&hL625?}NzUzm0FbU?%L447Jo@4kyUtPxZ)~F(nES+nVR5*#m?Gd1TIZVX_?ggOKMN;hOK`p{a0JM`tSZC^&ht2Dro2JQucZ8t z$AZf!XtN4y^brs*bKvkZj%Qp-)=eh~&VuG8F3iJcR&jvU7^lEo=x-hiA6fY4Dtc4e)0N%Ms zZ34Fy1*V zg3uG8&UqN*d=e&i4ZJ2rz%9{sm6?M4E;W!MMEfN_q$EwjG%-8@2(m)FPYqz=!O6*c zNsOv!8k@K_Ox8}L3K^{eC?Ub(TT8mGE`(E%qw?dxSK#M^^pF$TU;X8uLr0**1{&7^ z7jGO|%-sAk0~*k_C0k#i^s3Rd%L%yWLsy)UoC9T-mamqs6b)2ehmr*)hDtQF#~iZ9 zGg5^`=(P}j9|t?ZX9<;-5{weKyKh^vHYC2nvnl6X$~hP7sWLlxYMf^Z?~wz$PSR0| z)K+|%00Lv()Z7dgI6}rv#e_9Z@tHxieN{s1>L@{)Yu4WX?q=JLCT#E420H-K)I}p! z2o;yTb({?l`nH}Hg6t^!F^$GD0kWsm&i5lHxk7Tq^DUt-VF8K1Bt}dV_SCJflBKxc zM5MN{>>;6u(AZZ^c~mq9CB6*Gn83*{6xf+bf?Sfrt}Vu>anK+dD4DHFP$Opp(nSC| zAD!gimHk)4GaW|KY!!qHS_pKP!XTaFj3MSpgUn&<8O5tfi#4clED?CkOwhzb&`g{| zskjn~5xhq@Y^%JsfR6t1D(G6pYqtMj1r0}8_D>jNt^kq7E|6L2+6M?&q~n=J+ggKC zl!T`VI5}zr6KpM>CwJ?9aWtF>mxP=~Vrv><24hc%%{A7u?|B9UjA_ob2adb==t8Wu zA7o3@>2Y@+yg5Jtf**B%E6C>PaaIUGd7VHRAH5N{6wV1jH1?sG05ihg7iZro!El{I zqa6+dO+$c#%D#CZAwDQ2auOP6tRE@L9z_x0uKpzhU7zyiVD`^*jjN_<+nU=p4UWs zAfX5V-jo8Q2*_9>xXkiBp(YYH?Ed(aQK^%C_gOOt^f=S>7GimJ=Ipo|F4SH*Y;QW) zXs;e0WZG&u99|mlFk_R@IaZ-W6>8W9Ad450E+6JmdG!VmaUZtEI1H_ODL~C0!yTN14HO)wA zPLR-1k-#pgobIZVIK(7&Isjdg8^oVc>gT~HMC;)-YHUoP^Pa`##0c0`RZ-CABLJ6) z5NBUJakdjagyBZeq15m`HH2ambc~)I6(+hyNAm_Y10aY-M$x5GBr3HuSZaNz_}nah zdy=3(3%#Hcq)-jV36eW%E!I_=Pp<=mVF<2OJyumraY2kgR}~%kmp!}c2<*q1Ham-5 z)mikoWPNLAkL?ElyD)f#IRMA4yR)4@xsG+jrtm)3*a%oCN?s9(z^ymm1SPc=U$Ed3 zQl66a)z{jg z?q!W@&F6RNf{WG?2iz5?>%N~vSL@|aZG5ic57B^Sr8P~q7(s#pY`m;`;QtbJ9srJ> z)ww>>6ltW<^xk{f-mA;n>%Q)oVuv0=AV46OU}9PfAtdD9n?MKz3#qCu z-gjqqr)zqjkwzM6bf5Q|%e`Z-cRWS<|L_04Q{MBQ_fWN)#pW#X+P)kwl`0fxh#jk` zY^WNNg8ug1U%qV5ogA_^sfN`ff^h2wl9Ebn72KiUy>b|37;GNMbrHVOuPPwx$D=aO zo||t-WpQ9a9A-`^4<<%a0K6Vk(EtEI07*naRAYb%OtL^t?|t{(bohe2aLBb_;$B4{ zQ4=ybBdcZ#l?{bV${<(a{2iy62fzF#7*gKo$f*wZw~$_)IzPdBH9Tg=i{YT=afnLE z4uqU6Zy=Ao_Rd-J=hOAgMpZRZyez@LYvn% z*!v!Q7hFsf%$_P0{rJyCXyoQ1?q-}UV(I!-`6}qYW3W0o%lJ%-fmJ7G9e*Ifa0;AbM2zPwi z_S}9Q@^}w8L#*bcWsWC7g5y7GZwp-mkz?(}?N#|oDDUV0;$bpdj4OLqj9Xfhz(f7$xH`q*)|X$UdE+M8!St*>gWjN5?(aDNfh| zd(Ia?oj?H%_PCa^QYH;aFYS8<E->GB;b(YQ?{yreU8pyjTlb%Put3t)z*(xVe^W4=n6n-B|c9n z5nwbf^#dyLla$8uNit^%)s4Sd+ymnLY8T#&s>7z z2_j1}8>STI0U<0bX@xh>IVS2X&a1H_ZyzSxW&lkHx(k}GJ_5=`MiOffLmJIU{%lD_ zqS`=^E82-Bul4lev_W;_1fscA4x(Jo6hWUKWZs)bz=IK-CSZw@yj^=uD>~sR8w3Tr zbZW}#8md9I!rU9qfPgWW1HThW80M3}n6e=2x8xbI)|IR5;Qmf4tEDQSwFK1|rjnFE zN-oJzjm%uuXjWAzkgkZ%49saM{HVmnx_fAVt7`OsYJ||KhAx0kY?QsAMBIb(Cq#gD z0!@f#%$DWeI1dDa*lW%N87k%pQ{}k4C-XyhYjJebPX7Ga2A9HFuux zFP|v|l!+J=0@h>6+fQJNeMqr>oY84yBTGvg2}Tug;5?AFONVaa0TGc*op{h$Ak`{q zaAeqDBxv4prw}A&bcAHb16nSwv3Sq2ad-%~cTFR`*(-j^pdRG<7AgN{W)dLtS{_YC zl}B3D3ZO_Nv<3>~#RXSIPXLf?Jh#gpHj-ifpReibJVIVq zGL8(6prMszVsEG^lpvMBU&$G1kfpPCOBey%**$6p4|v%(1f{%3d1Dbnbn@-U@fq8) zse~XY-430FdI7>iS_IE_2=r5DJ_LeA0z@(yL3=iqHfo!_C4GWhnwJVc@31PFQfAcoCb$QSHq_Byn{5;RX5V* z-(E>o>6|s!Zv?SA$tG*G<0p?1&;@L2l%NxiX)*F$qazyd1G)>*T=a`{?5J#CJ`)y0 zIP}wDDk=n5s!+)0HN(xEMV>AjTAdn!`+JA+G4Pp@z_X-}X?X;aJfsSmoNH>!>?~YO zJ<|y1Pc*G03B&H48?Cbgo@YY?XnsHYvz%al05o?Rv<(^(c3IC}$wC_RuBtM=PXH*J z9>5QW*ju?i0Sr+4=GC;T!!t*(3PWD70AWC$zwMYl_7?k%Cn{9X4FlpwyaYj6oZ}Ln z?V2ss_QKPL36A+b)Uu?ei?R;np-@gh_OW*}RDJ3iDnU~(fGjU3nI#n@stZ|8+Af1< zD&MNaPnFmxRgzE$X*~GSCEWjTcnq71v|-aKTT{B0XS__oJA3XJyxmD#v3?VNJ8HXj z?WO_-@{b`9P$=IhUr|xcefRZRBPj1EjmrD>y-uLa@SfojC<}$Q@6d6ml@0ch55J$m zF#*thhTW`Ok3U_a%HhGNNKSPa)bio4JYw6ah@m=u{{q3;2(J`*m{P-lX5~jG{dCq`pEg|9y$<>z8jH!Mv0bC1I_a&vOU^<7&&8AJwwyL$509qBa z2z22~_UvJNM=pwG%rhCI5nQq6yVtLPmP3L7I3NIX0RZp!uf9pF6k>FEsja3t(eur3 zemf;v1(6t>UNla5MiJBtJUCHZq#oMFt($mYDl-Vy(M6Hz&th2kTn$)rs2Fs0ciV4& z`xFsNEy;mEvs0M(7F?61H4C41qwFWEo-@P~+oi!h$F&wk>=HX81-4}bL2sAOE_ znsEq}8>P@7w0RL@t6*71TKB5;U?I6qNaqBIZlTy)>hM?Bu{N0WghQZvW00Y~^ZmzM zNh-zl2^|*lo`JK^0`<@sOrZcmViauV6qniS2WjX7kx#+(S)?@j*-w2GPWC2u;N&dy ztQ1HpNab>t*PpM63p=kQ1S2QJ`SXwb6$p1F&jM!%dLxe2`F`$?=a37xFNyQ{{=fV$ zg0c{q^+mY3kGm#E56)P8UvarbQ3*oqmw}&~RTCl&E<_7stp|^LtbU2q?zrB$h%!BT3VmRa@MClez{^gFj@qlcob%>Ff4`Hv=bR`-JK`+n5 z8ADYJ_z;geMDifok&;vKp0nWM-h2PucIEP$l$0oQfu2@Z7lOi}F$-6+m;_=B#}TEB z2@Y@mT&{z_^p3mkrrE04P7=tk+qTP29N0^Mf8IX%p)c7J`+kQubidOzjX_;tXc)+L z7JA@Cwzlae`_+H^C&{FjMkiEjKnFYekQ{2tu#Hf0F858?(fy!6d~Xp0e*eyTyU;Ug zBV_85a#Is16-LHt7a{pH?$&(!no6cB*4aC6^jdLcF4U8g_T^7MY+wD>4;iRK^9LN| z_NEYP!@Z0~ZI-jD=AZzLXL(YIOZ8CL?O z#2A^j#X1$yJ|{s*TL^qI`1yp+g-{LxV#yAA(3BNY?MBTyh5ioNO*>0L z78h*@e(^|$5MQck(NYFufb79foChUSKow=}vvH2IQ!4$6u0#+CUNDZfdMrhluM8v?&Cp#1_ESqKiE!C`kS{RsYq}&Ni{0rskJxWI>mj` z_W(*Os>RB+YOZeG?QU2Bl06gO0KPB5=Qb1PfAL5Wjhr z=N-h3<~rvut#*>rYq#PrItUiwd}cFcbD+}&{OzsC!T}a&V9z^mpXO@H( zPcx84@?_FfW@FRHE9-v8uIugMxzqN(_detlB`$XK613&gzk@%!aGB(z&u+hOkDcou zvV3e`T|*-(NGtKTRMt3qGsts#xF5}}2oDZJdnV!sU%8`Knm@IrGa4UXE1 zvQc6vxcir@&6~@)WDjb5Hl~T^&a=cfKwRVb*7IL%H(wY1c7_q)gZR-j-YdfXS!B;B zRt&*35EDSEMQd8C_!>5abrjib1e+mxOC~?#D)rnaFUEcn$SL-KheWQ(ofFx~3~aTe zeKk>4Jt(pdlT<8|ImOr#DmYYowf~gh%B+jFtD$yF(D^XLRQUu*GUV-{o3XFN4bU)t z`1n4%3c{>CuxVSn?cclK8rQemb~46Xg6Met!-b`OdXP7oW$a}eTNm; z>v3SXxNvN$3wBg0eCg@uDLuW8EYF=7+7z3q6hqF2;G(#14%-s*;$Oo-aKk+K3#ZSx z*ZAENzqi$^>IhhLkT{GyOuPbze%3ns#+H9shm!AS(}5gf<9k6Ey?D)rYA6S+xKLM) z8QIJrSv=A*1XY6|whqU2n@HIh8;5}Qj_oU5IaZ`|sZVrV#o1#-Hf`BrukPIkayv>8 z!|Ulau~;i8-It-+oC0ebePEKU@o zR#mCZBF9e>zyn(DlqRraLo3sh5fC+Eo@7FqQIZWOw=zN3v8fK>{U@ z%!izVhBJf*8T*P6SA(5`P7S=*QHYArTrHp(W+*(&0Rvg{!MpAPau?gZJ9kzVSVfSF+qiP(rE;>)VShmmsmMDbG5fNObj1Bl*>2oyZAp+_BwW zKEyxA6?-qDatBAi@+#0#-$ps;JDdf7I*INAs$(u3=_!)& z9BjZm4qH5K@os&{bdf6a`_RM!1WmJJIQ9^{R(_81?-XhwNq$%y#}gMu;MY=UC9zWD zX)?u-2uf`Y%~RIi1|0>B+7X;|#0M?D}PDFQ{=5HEXQAc6-()lYzg{pT1!*6Kl6;pSu78nrAsEb4V&mjW_2z;m-3$HI22_aioU^ z^>mOiXjwc*KL~6(a*Bfln+0XrB!EyoIv3!@s{D!uI!NvCkN}gEmB7W7JJM(uF);-F zr{f%b225S_dZX61Dc?>V9RNfswg7T$nzEXmM->F5o%Eh$GzLXMYY9Tm=YOzoQk9a{ zZy}(=;J_rdCO}{;U`K0=EoLwHv)PLT_$slhF?O86P#GjS8ZR6oX&(g1)H5#NHIkzJ zv9M_bc%qi%=Ax5chRh<(!<7|f?0?jod$ zy~d8!vzEPOW6;1$@Ienn44R56G}rEEv$x(j&F~5;W(52`UPsl%0D+l+q7rd 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≶vpx;$3AiB3g<=%r?~RE7sXLt=x>WWtMQ2;eCTq6 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 z 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 mV@lgq zxMjFgq#(*NRQirlSe%xnfP7s%7I2x-sG_{!BYauSn&I;XWE0BVfq3bl7=f(?_n1FHg0?&@&Ne0oDuQ9_?Q(YTMyeqwi37f2UkO0u zqyl^I6&z@-7Ujz41ty-iPi=sp$Y8*5zknw6YuCyaN)GS#yZsu#m9o6gywSegv?YS(&f^=tAJ+rDbHNbu(H_9q>47F?7E_` zfWL7MGTeOXDu==#X-zPv4EG(!C}W+2SJTqSWVknJe2AS>(Wur~75f@x{KF5=r#)i6 z?tgsZ*1#@?k8k}d4c~r5h90cVH6;M%0yM?y5tja=t%dZ1>%Az5 zGpv}@rG1ulTm_Mqoj}uzOE+tELQ5}S&}c@kBmGk1lB53 z2cfnKJ(K~J<#qsBIhs4E77Y4@}+DAx=X2IGkjO!eyu08|SgRH>s^D6=wvu?ml6 z>$=J+CC`Kl1NXbK#q^54^qpc0%cci2S17JKCMtLWQv(Kt6_TimqqHLL@Xz$F%2(xF zfN|(k;2J!HG6b`_w)l)hZv7l{@saaJ+VYz7(3Mr+;&^IN_E1)e&-5rz9(qr>lkslv z^M0R|&gB`rB6yhe83r=?LSvQZrCsY5^vnt8f`$u0v6g1tI4r*yI;Shaw;5jxV9kBe zPTp7ikN?Sk{_!Tur+@FGtGHbZrvLNL{yI$%KL1`{XS&qi7EHJeX4Qa|ssaHqGxjna z5lnQhw=LaeTix=*t#pQbuBCw9-ML8ybSL(TH!pKvb8Gtg1y(kKhraur%WRoBnJ&Tj zYspcnAiIhHULrlmTkJEBfrF*7@^oSFH2y_w-A#asO9ox|JY&d!5VIvDx6du$_k4)P z*xX7AIvE>tcKrUM^v1QTX_6(9?w+nR2N>z@>YcAl!Cx=1SCBvSWE3 zp=1=XR^@tv5*Aqk6f`;LcD#h+MBrx-p_T-#ku_+Wi&!xQ!wLiMbAoIm$YS}D2Lxg= zOof|DhRjTYmGKH#orr=oT~o9qxy%`iT)`scSc_NBB$;6; z+|H%HawgdN;wrm>E)ghGNV8aP4eBi-Fh&|3$BOPM(fx-b1c%i?fAwi(bQYn4MU~27 z&`K>RcLl7X-;B&s|E)AaAYLs@X%fqEC05xFuV0G5Hr+n7B3-<4nm#Q}eGSDZ+&k$f z?+&F#6uD70SJDlki(sBf{Gl7M; z0mus2hFgEbv=bJtD#j0y1b`R(GOwA#W(i?U8nBG3PAoT9(N8l$ce?;Wx3ks)C-BxM zI5us8IGSqN(GTU>on`moHxAED?WIzw0qyxb&6fMB;M^vwIbhw>!v*1{(cI7NRRo&s1feFR(zc>$@Z zu~ZOr0oAaH{s5mHi1>zb(ey#XsydppXF9{w=y9H|k0Xx8c zaQ^!a`GX3JzXO0%Ui1}oDoD}Tp&>=^V!wF5e85akw$aZV)Mh+EAoS{9o~6p9ScD%S zCw#d+;lW3!o9|WNTMzk+Z4}7n{L_phzB9&y@elsU?@UR`c;ONCsfFe?0p5&Q@D#0Z z@+0dkNRcnO%x=A`tF9!{soSpGR(Yv)v#*p}@=5`a^~_d)=`+Sjguqc7U$4bc2~}a0h2Cn1%LkRu%!h@QDp@LR(8A z^$@FZp|dtUx%W+4B#!FRxxUB}hLi~)N(a;L@F4!NuX8_jw&q;XBWMhcZFK<6hZ(h9&@g zO!9Vw!5$#5qqQmR=t6-Xq45Weq$Hc4#|MvkFJmdGVZN$h7UQdG_6?W3hp}2u5rBL7 zY%jjfFH;T7#a`UQ%J^(_Dpq_B3D%h>7wRfN^U^?L`uz4VSvQE3$3oQD*Oxx|`ffVc z*OdNu=GYlP@)l{%ZcVSGby7pMV|DKC>Pmm{bP55vn}*tI(%td3R6w|V^LRd%Krp&px}8u3tC}kYvRR_lq&M@1BO93IzU*Eu{1hJ{nA0 zv-@cR3-1;|(sL*xjh&t81zVQyF#jB@`BhW{gh)wAHU8LURWJ`S)(ry21Ud&SogZ1Z z(;aDwb_r~E0g5z(-5A+0!xUG5UcuP*Mg|I8aWLK5E~ezJmWH&nvYXb6s?!;)TkZ7S zCX9X$p=Ihqm2rj15f)LfD&s-m_FyZka%2GEyyWW~m4E45s^6i)Q<@M2D^x?+L1QtO zydQKx6$#d>PYUoA@^u%%@cX(*xwQ^R0oZQsFwR&hOrfR#%YwJuolUUH>nLN*en&~z z#ZW=w<%-|61S_O@3FDZ#O*qHp4<#xA zeAk+%@YYf#Xw*_{$}q>v`?P+!iX@Uz)#R1lnk!52XK@H;seT+{{(I-)>&5;TwON5x$k!6 zV0U#AnTEv`a4ygf5Y00N=dE*nk9qZCVm95nbvOM-zyG(=@bd{2U3_{QTT^>E4Q1EE zGTekJpy@+gh~&349=x-h`uhg3L^HR^!ZAZ0`nP%nc^ix+>;pHGPJ^$RhxXqR8&FlU z0NQrd$a$$DL}Ov52)#0x ziT-`;Mc0!=nWHb@d=tiWq0d(hNB{jj5D6$R+f(Zfx-e%8&-cctIPy%Xj27 z6TZf;%J+SiX}y)x@&fsY%7b%9no}{8zN8uHQW_KA2==XqiyBM{LRfq?z#r{6q)v6iQI2b=L(E~MebjWoMV!3_2q{z{`WOE}H9u(`rs zTA5f(o%m0R;(rN1uVgcp^F0dXu{4jcc@vBDBdo@K9Tp8?2fBe_K0*O3CVg(C;=KNFF?U7Uu)|pV_afcOU=-_ z+Ahyo-W*`iO=z^z$lMhMYKRi26GTSoGPzouK){KpX6#{Ec9+_+j5s^@Yakpa_{Yhn z&{E(ynXI*k!d6R+6T`9;TD~*;Zg7?F&A_#7a}wwM{qVtqNZzk6vG->_i*zr8I|@+6ZV6QOqz%w zR)Piv-9|y%?uJI@9STw#JHDCLX~|U%mN&KLnI)ne@G(IuNkkdUt%A6LX#xW&i+S*3 zYy|qivV*XA>(a&a>8;O68QDps`Ua_+_S5*}GC7)29`R{y1$cZpvxhr_L3;!<@!SBw zYG!INo$GHWHeol-Y!V1{P?BZ=IqrZ^P<06+jqL_t*S z)sq@?i#UrJED)zqs<+94agZL*ko^D`i#___%<2C0r+0?aN93LU9G5Y0KlDW2c~*L6 z@b#U=onvX;<;Sx0l=;8S^|8e*Tvhhd2!6D)>x?}-=I4}Ag!{l4R_+=4TL!LML^G-E zmPuo`#auSTXrBP+VnEvvX*3tsR>(C^_5|8df&0VNi-Q;xNcqQdEygV}1d*+Rve}R| z==#XzX@vM&o$RVQKNEmF=#cCB@@*qUt7;3eJiJK&V=2OVj!KwPjjE+p>79A3i-Oj> zS%iKS7GM3D=dqX{!+Z5dj`5UHLxwesv2XbIvD z!K46m&IOo7aH_;RrxdaZEnQ0Ddojzy{Aw35TXCv>j!_T}T}-$IdbGvjp1HhnSngxS$`jyi8av)j2M7a?rss?FuEHe(xHzN6}Ms9{`?D>*~r$5n~Y+`@i!C|LEhxBCN4?I{$g&)I2+4;iP}{47+&Y<}iV!_y}Mu z^IMx=VFLnQie+OK>(z78R4rkW*~5~sNx=uCWGcg=a+>AfpWb?!mayc`vZQICl}pUG z$HsUO{Xn7;kddju)oOK)B|m)^a0Ax(~trwbQ`0L?8B$^q8s?ri(;omGHG z3;xoktXoe5JzZqwXap3@viz~0`Um<$NDQ-t-Gk3kf#u_NEO%R2*Y_c^0j%z(#;bO_ zSuA$dSiQ}+TZf;ZOj4%r1d)IQK%SFOV}e5j5*xlkbRY&HOsONbJNjK_YKV0~8M zqXs7Eb>hlU6i`~YW!YK}X6ai&_AVA=ujRWOS%yJ|xrNwI%Wy(xse>|WfL8Ho09GSG zn;zChCU0sXEdsixSe8t~^1UV?v`te?u_PPjBP!6#^+-9Guq}Pb1Q6a z<}IAynnFRwuYzD3v!xW7E#;vk7&xhbv(8z7C5VQ@2^ZUS%79rgG>z}Vevli zp8(!hZAKJ3OBeC1Og;m-N3_N9YGEw2!r0&QmFD zcOAOdYNx`rK?Vp@$l3N$lu%a*nz06d{>9x0d{S_k=X?QBS_IRJC3T)VV0;ve*3B2X zxNKAq$=w@d~7soS4fV?{d0&i@srP&b#4VK+{Xy0o!EU|9j7Iv+>jR7l46KpN+ zuB5ef`1DFMD6R}c%!3sa*aFe?1y;UFutF}fvgH`Kwe%@`7VA*kH3sn%wcRd~zn zDk}oa$6Yooslf6&KxUGs&!^HPAi0UMdP#F<{?{D^QCN@>;_%8U=HUVs-FoO|6=7Mz zT+toD%^&ueBZq86vQ5Q~@W)j()k?F6NvgA!w0(WuX#y*~(crOT9@Z^EQ7Pl6C08q& z<9`frHHDWJqfLSu4eBffSmQFuA>Hc_h*g?*haW2b!^UM~LJAv`OUeLDK(oKhZMY`F z2!VyK_$F;P-?ST+6f?fkyK-LZ&Jn;=OKe!iLm-lU22f8^!!1N*y^Jzkzsxqd$b!dw zR$(UHY84VJDo0A;(fZKt={kWDS48_u!^heCw0dQ(0X}B{m=-Xt;bp9BuER?NW0}vc za}*!wC@%xM@(eREn6ua|>NioKoX0BbBw3&hW*5kSumV-eT4;e;o3oc zZLXft&dl>qer|EkAKA0TIkqfw1k4peV;1Uaug}_zo4I)BNrsACdRPJpcn& zH&!va)Uk>x5RgU%r}7DTp#7(1Ue_yEh5{^6mLS%9<-wkd@AQ#lrZS07iHwo_Awr=G}vF(xrVvrlE2_uqmA#6@#Woua}@-^ zqe_f`MY`i{Q6F9t*Hx~Z#{rb7gLMtp5Bgg@%Jl{_G4S>PVpJop3$9%yGOxA3Ea;t; z2R9%px6NErCOCel7-vW<=&~3dVIa3aOvBeQsWEGyEnPm%4eeI))n@VmP>RWzQJiNb zmjb>)-X}8b{@#z@PQUo%Cb`RtF{-tbxdvno(5@d%l$i~vfrImHS7hBfXgE!c%w21l4QW3E)V33v)EYfUfcl*mU z3CO;F@f>Yn6@&Na*IdB(Vj0!QUg=Q~>a`lOjua7CxsRgk7*`cq9CX}H%$ma3G1tm4 zsAv?5@uN@6;Wdttc*8knUn<`%Up%07IFupIsGMu*m0ziB=_{;qY1t9m5OcyD?Z&4#A^2XSqS^oKtSwMgeXZ+o0`o>X<2ul*OEP z&N{E8OUti9xtE`btz40n&MZ4C3quM9Aa{+`FI?OdfyT70nmH-mX^c?MGs zI}WL>7GN3%42}b++ahSuJkpI=RPkAaeT`7Vh`>#P7(>U1JXFp`~C5rMUu zpcc&VO>!bowiag(%aC}qg65wxUx`Wra`MYCt(W!oCB8%A3zr%04HD;ECK$5MD1$4J z?uu*qA@leBCA=>`YaOa0;y1Gl>*sCxE-AVTQKlhgVAgloKKsGvtV2ZEa?amQ{=6R6 zRnVa?uoFc~y7kfxLgDTEH<`?8l)9)q|N58s)itHXnR(oBHdykXV;g#M|Bg?hFz%!$ zkDsT3{_b@9#R$PoEW=Y5Q+93Ocl+e|C}Rv6LE|edO^=LB(4R-?{!{#QS(>|l_Yn-S zDost`M+~5CYQl8~I&o54C({(U`m#o_QVl}UG+T(7)QBQTOVgbP&sc>Z3kdYE&b=G2 z6w=|R%K*_O6wvMTj0`vLu))wB%DMZTrCdnj7Y}FgEuKp%p3m4!WDX1RT~Q?5P?Ns>MmH`Y^Xc-X z?(_lv#DDtPXXz)Tej6cshdJ4s+Q|e$4(Yex1EtLAm$L{ctf%LD8mKqRoRnwAglYiD zkKVtSe*XEFsgoTCzfXLH+hSJ&41W9l%anx`nK3G-fA#^$-tRK|0o!TU)nYFJ;K-~S zQ83;(-by7Zx$;Ny-+iPxWfC)m+EDs&brTOKBG}PJ%4*@VUHdR=URshT2h8Hct ze~z#o?XyFlj8BXG0YQpKf>MB86_%MI{*DpOYbbcDDBEuG(ukaWHo+I=z|tysdNqp%`7>HES$YxhAc{^(n6aY;vyTu43x9rxEYL*N6N@NG1TrJ1Cn+a<6P#VhVzwkkY zR}0WJZz{B$uNo>8oGQ2aQHM2E7Yzo?9KI_kEZ(O8G^pG$cXNt8mK5CV%DGxg_LCz5 z4z0gw1r4s=#uBK%w;4e;NH?f*pt;=nPPG7AT6mFRfT1Sl;t}pY+8K+(cbYurDEs!c z{iEV#+qHmcP4aN8fiW$_)(=*2lmKU!dp$t&2 z0p$W%`JD1a{%AgUd8;x?g+%bS$(%8mJeH!NSwV`cnlMAkV$9*!maF?lkQ{(+hxsV- zj=Ixl(I(nsFJ$0IHA15Th6Jv=d5-jGf7uVAaB$Uj+8*5q{7?GP7{dP{Cn%8X)PeS> zNa*)&dAdDBHV9WPDN{wD$)xj(&%a1N_}=>jC@!U&cOJ9Z+eO?}nQP>F zuSTgZ!#%_HyNjutwfK^=xU31Rw~h&nW`5U}ZKTWX#5Sz~1_9EDDsV&t%Kr{ve2@1M ztjJ2E%F7lszXxACB;c@(O<69StxsLN=jPW>8H?T2-N#O@ti+i%nCZn#;1DC&zqFm1 zrY$Pe?Rb|1#A8*5yTmBm8oa4YP|7(Kqc9%GE1(;d5sP(=M{Apgf2TB?Ru8vtqF>oVfJC`Dd`^_zQD%%rUV(28xjR@8p7O{T$&x&4Zc^xxLFw+Ef-9u=`4^iA=Vw}0^Qx2_DOzP9?v-THe! zc^_Y(*;I^^`{L?m`t9>w>3i1)LvVKkbXS+rcuH2&@4kOJ`~uhUBmC|g7qHYYiLm6H zBfZrx{^lluhCAsW|G{@tCq}>iu6DM=ZDsdCf^$gQ)W9UDVTq!StuM`Ux(P@8lWOy=Om)gy|VLoZi{|=g<()&Cl3K^Y$9ulGI`4a-YwpLR%|& zk%ti&_USRebAS|Pm8l1MG?PIG%X39Y}`*n%)&N)!NP|_5@HU@nG1m!2^6`%0@B4b;raPRB1tkrUasb7I}}^Py{Rj zaNCnx`uwhSPhM)B1Vfo6p8jVP4j98zv@Li$8C} znHUR!kg~JJ9f_I8Rn0BwM?d_n)QU_PW99pZokqX9H;kpaD1G;XYw0il`erJxZzmRv zY#Z}a5nm-9C}U3UKzGWT4J_SmW&eDhIe7?}FRf>jxZU(#H-?;pP3E^LDA{ZXKB26$ zk6dBhC9b8Rsg*qaY)_8s$EkfX12vyPzL%y;-OLr_&a;QZWKhB&2;CSzunpjLES#%h zg{D6%7?(!kJ?8JQw}@7BbPOEIIO?aMLy*4>#FIPWy&PHgR|3s=^Ugd~udEwSnTS5tFJhZ&h58ukbjZ^Pk{_lpphe zIywiXR~0Vla33D0`l%r-Q(mRL?653ByoN;;0_BBu(cQ^;7_>E45TslNMM+CdP_Pfw*0e4tB<+5L+p?58iM!&PJ-LD56L z=P7pZnIOM2`J+e^Q^iEb>W6E{D%vAZu~L}0yn}Q!)i5BfS2Bvu?(TH&#@7&Sa~hw< z_nP;(jcz>wjFn78b5V}GAnKp{%mU)XRx{Sew1Du6-E-(vtw(}xEg@6 zk$A7~5R7_czPIr;{&CXAyP&w7L1j$S`4D6mev_6Vkn_{`2J!PQzx(ICK6es0`vULF zpUJP~_j%ptyvI7&FL_yB^EuCXzklB2pU>FNa{R!Yc2-jhg7@1_1+f0Y%cKcv!e`fM zXAr4dxVN+NA>C|{llJNT8|m`3Yw2J8*&nC3uUty!&z;3;-$I|myjUq{q`XdoH#Zn3 z$6e4;z^Y${aO@lCi@Ma29#G48S9b?NcU2J>Ds9Mg^wl>FqZ<`80fbE@X#aNtB3Dqp z3?}X1uK?&UX22AQ1(ZVl)9Rb*NqKo{prpz(36 z)V~nqfd~y{FS2fZIMTKDC1% zF@Zs>EnhxANKRwo9$@+%Y_w8b#+KV;(7?o-CRS0Hrd9yEZ0}4!+9Yl^d$hHTc~}8J zb>j{;=?gcE_5J$vWa1^8p|l_<+++cI13v8GJ_1&R*HorCS0H%*_S7hDD>ad4z6Ksp z&fL}KP#?yai@0i;pZH840nn_-Rq@U$K*kc_x*UuB64`{-5u6M9VnUmHx>YdE>v&N+ zMhGoOr`Tn$4ZttWR$?_3%9J6bwPv$}NNR$PN&v^zw55jNJ~wSJ^H2?zvLoiL8&jPn zR>YK<>xMCbqrjb(j5v5PP}OyC=@-#YVIHz6(Q z`f*OOg}Cksy2rUK_coc76b$>j&U3&sbZkt;z5x*(E!Bvi8cam` zXYTK_N`!!};5{lFWdy8R)+PMp|1Y-QGsy1rI`cc7b3g|)I->zJa+={J4rjS?eU1{nb@=ZMnQv^T94x`NR5ytGrufX|=o3?urT&MN*`OqsfE8AZMVv(K+Xw zqkq5m&Xpipm&Bm^;@*FF|L=R==RD^*=S%}6jBWz+7*p3f=Z1~arfEk7dddpipk&0W zSYHC-U7`Yl(>&&_YpVnahjvboCwNZamkUbl7rU>{gzJV+kmO0Ymd^>?y)NyDthvWg z>fom9@XMHM(=9#eb!fW;V@f&PV3oxskjPrtL%wprv5H`HEq_-;v2QF?3XyXtu033tm@?X}NB8|`N^_ii+Wya)D0-*+sX^L{r0kI&EPvtS?@L+m|glTGI@5AQTd zSX_YSc^wySn6XmdOdVn(YdHXXosT9kg^}%C91b5ThK)4{u(ob`WnHr8fD7g@_HKA6 zjj!WhkGa&v6vJ#Jx zBtfR{$>54>d`9kdGQ^2_=Y4IXb4~Iv?b*yprJ5;M!|(GyZN>(3$m4mhN;lj?Ws3#E zX>PIFBp7wXZK~uv@w+K9!hM+wlFxXF2l8;5ye`izZcfjSXXUY({+VmlE-)ENxGv9U zbjEAc5pZtGjC+sDU=H|_>xM(7wPX(f??v*~za{Iq03wT@gKw_Om*>}%?r^_(|Kfl8 zU*0mYuA8v*r=yf!^GYxZ%``|DCTuuKd6pH!Wjri50wnLSaD#F7+!t)HBFtT@(GpH4ay)u_=mC>(90wfkn-a zF{)oopbcyQY>dNL;oxC3BHn%XZoKgP394HR5o+3xu713-p;_1=HtY6Q7=n$&0Jf9l zXM#@-=l%G~XYt0DznC8Q5^P>Ex;GOM)@BIn7!(-@2Kj$@NfA-&eWsjHrj{oj;`+N4g*`K|(?9Z8R z|NY}Z|K`4`arLQ4f$E7#b#z0Kmg>WN4Pq z3m-;2IzZ!-Qh=M@{Rled7MS5FBpo|!Xq8Br_;dn+kB7!#mFJ?p^EmCa=jbA+*N&Ez z4Q`zf<|>b724}aOdpw}J#Vpl2#_42Q-AWS8!gy5I9FD>HnJ9r(Jagt;G}74QhqoVK zKT2YJ6*&V;#~ObM5%n#wE^E+T*P@4b0iLjL0Pz-dXb z8#srtIGmr2k#$>yR6K+>&;)d^*_Vl`Rpf~jqvhYn0TZ)ntMjNzV!dS7y=AYI zR#<^)g;2g)>;s(lJpSeqn8$9++6Tsl>y_u!HVB4g+qDrX49>O7_+yUJdi6PS2bqnW zV+eY76IfN}shl9gqzOp02ZBcJfk~%T5k2sywc=DB7x;(ROvpnT@cIl-Lcr~Tf6jRn>45o|6XE6qcm zpZl0#PW`GNCozfqyts-(#B=t!?*qQX6M`m>yF=2hYpEVAQA8$iYVD0Z+2vViN4<`1 zFp1Btq46B^gZj`*%vIKj`rbU8FF&)gl^?f}jK2QrOO&Ksjla3o6<>J%r9^g&K6!|I z^l4l;cbvJiAAN&8aTao6MwS|>UwcbaNo+E`hR#mSMl)i)KdUOvZnsX>qI?b8R{kUo$p;4^FeE3sHt(qu%2 zslG+jt)#gfCV^-wW4?_u;e0cq;M|c}O%hq0a-Uyv+_+D{wRr)SQnVzd&(ZnizLEjL z)wQ)=YJdE@8BE?ErWI`QQiv3qKg;Bno4 z*3a!?m+dqv5EqxG_2GW_IsWqclRSy%=zMqHXv@3@4v_ZsBq#YCC~IqyWBU1=&HY#e6FlQdl*gpE=21bZBO5b%7A zI;|5-GQ+?>|3U{fVtWCqQ}N~JPRD1DM|hCsyf;NviFp|7BZOB;wA-P~3me1RpWcJ* z>qJjHNCSg5>Zs;LXFC-G@Fos0P&J_Abz})gT3XN&Q>lY$0*f;phj~fewVe1HGS0^^bcB{)Uk#%g?}Q-%zC50PWTCU4(Wv^~KYaOK zW-(+KV1M^Kp3k2>w&(QwzOu)7_V4VmpMCGy^Z5Qh_HWO=|Ln2<;dlMr>qz&{b-B4@ z7fCYg{CnnD2l3>=1KOwd#0~0gE~1UkgXw$WrJsT2pNs-(8M{cP_*uiY08lJNsxUP< z%5x{XpGGCv^0ZMVEf>f2c{mpS5tLZ%K7_N4rJd1=9m0jrs9;TIbEtPXtIe#Koh82+z=#dnR7*?4X`?z~pqKjQRUi&M|b_ zOmyMFldky1pLrF>pXM#IJpYQ^c>VcP@!(buV^bPmefc=|ya=lcfW=6UPZ8eSTZxl^ z&&%XDOwLRthEnH!aA<;>$(7LwgT4v)dEs;uomcJlcQ_iVFwE#0Up!4W$G*|{r*B;3 zS&{!RIgcGY6^+Qqrg8jh>klOz=`sX>dgHSvko%CMAsNtAxJxyWgZTQTQ_)A#rVVoT z0WBMgFu2t@(N5yxgV9Bj8MouxNYQ%9>A*q&&H)%0^;tl}={Ams4j$h z+&n;0)&tj;3y#&!3dYoCCqTn@s;S3pP0>Z>n`2_j?iH&e6i~PPU@2OOW>6`Y@t}h& zbJdQGj3(c~esKJPTq7>d+uRftNEIbu#l7zWONRk6eYw_30N>8fQnjvt&{VDs7TA0p z6BKupny|MhBXJ!iRyt!D(uQg1*>JMCHU$NCZi9*C9xT(BaxS$D%;N(G!d<(L&bM^c>Zbh_oHS30~YK(#!hWCNHBIyR(K(^fAp5VJoj9 zrwKw~2I8*?NnY;$T2wb2Wjz(g`Bsv`2fB#-k*s*KouUmymYp9sc1M;zjEeSiFqNZbK9;oW zyqD$xIK%xnRsF%a)e)8jc5V1=%F4B}vyXjO)77EhSxgmZ!Fz+z^3VOVx4!-6OEEyA zl-Z_59Q2!CI2}luIniGH+8Zw*mY4Nm(=0P$uLHvvLIXxrhbb#6~g(L(Q|H3l9>F=K55-)dmTRNH%Kmv@1zU zM3+w+?@6-dx9D)z6JPn_OKd{b(L1>iId=YH^Lxm~`}_;fB~9h@>>O>tm(X6H1pHv| z0UQS~CnqRRrExH1=OSOm!_#|6+5LnTr`bT8nwr=osxqDt171nuQIc)2kh1`3mqEXA z_kJ>Br%#;(gw!S=T1(QPp_?_?WhRXP*@-wyBb27rwzNnOcyKZ&8j5v+7Dk0fk~RQk z9ReslJSUr{4*D{;K@WL&#-hvTs^mQwnzubb)=^K|1p9^HK-+#ga2SSM^149X}u0?gkA zBppO(46M%}Q4p{$!w{^)-cB!U#Q?^p41>K&jr8WGW*C%xIt|Xn!O9{T;8pPfa;o!` z=$obd+ziff3lV_F18B$r;B)J9BqswNs13ipnj3cpN8)H5`enO{;^Nn^hAT;+c{(~1 zooo>0XcXW6^lrRHRI3>Y%dMv)@x>0x{BizINvOO)g54@}XKIQhBy_1I4J|Oq%S6VC zDAz{|@Gm|G)4fKOkhS<7^w@^>Kbs)g7)N_{ah`VFl_WgVoPsh}1=zkt9H#~(GKDax zgH#A=ZK#3K9!DFw7Qgw%^KqZNiL2DEZUFQSVngmf8Hlr|PSI9;7KRxx0uY!&&)8Ou z205pkDn&RUXupRkh1Ug>Zi&H0Sf^pCmTUq5X9&v*nrv=R3vnwY(<2XA^O;0nV(GmT&~$B zHJ8t~5Mfy1nzsmTQ(*$8E_a8dZdf_xFU!=mJ=I!E-TxsfyPz>I1-OzlD9|xHE3jNg zPcEx#<&iB}A|_;^KpOjP0+05q44{_eHL&eQU6dRoi45boiOw`nXF$JRV8nNrmjR z?Gh{|@WIb{43g}+NqX}92?X+A!{o`{!xjn_Jx&1;n-ntVIcd`}3@Xk!`-wKh(7U!l z0PiyrL<@-gtnX?)Tj}5qsBrjLv)RYqC&gB`cQUg8#Z&w*( z+c&X{{hWwj{q-+J?}Nu=Gn7ViM@LkWz*z)eYlzHwQS}A_2~im0Bogb3`~leuJG(^uF`h2BjzTiV&Lf*y6eSgYH#A&O5$>B z699LE1rBG?csbnW7)TKigj2R-n52w){N3RKb18&zTTq| z3HP@|#L4)w-gN@~+d1eyrn8nD9On? z*RIb-84idt$nvtV(=ikI#qYU1|2+OSp;cY>-#&lNErzp`qz+ng;yI7!_Z&K3g7VaC zjtgTX)0#4pV01YjJ1Fkb-Z|G?d$|B^=Yf$4e-|_x@kz2K#=^!lI_la)HTs^zn>H%! z-&TT2j{JZ5yZ`-Lc?j2A01I_xfajMkGO4%YCT(|b(b%AejcjOQCDt*_$7slKmyK{1 zP1_;LFufU-+2CTX zStB(9Sh0QhGAu!NUw>RgGkXM3A#n1`E_N9~4V;rl2GL0{>n4Ym)+8w(l!j#ipp(2b z?%ju>G4Oh15uJnrYkwZ-?@yXgt(y}$t0_*#ne${O4NNu}L8It*JfD9*`+F8p zYMeZeudK#7{qoFz{BCAKX27-g_v|YRQlEYAAO8I8cl`O;-~H^fzx%W2%ziHW^RvhN z$IhAk-n0LfJ#J=9GP*3ot8PShulzJ_KYolhlFglsc&M+3vFkxHR~EOgT?fGKQJ(F6 zoGhdYY*3$m`qOy*%U_Nk|L6}%GJTmvYbG;`iT`;{0khYtckFmM#y+pi=A==8U1Skz z+?`w5=z!1N&-&eA=9neg>;z}`OOvDanENR)1W;i^j9eCc3Y#)c)`0e0H8^fQXMgwQ zJkYqgktPWUn_bJ{BPrsOVd`?@6d<~odwufgah$(!A<3w&UcHHgT5C^6LYl)pQS zcCH3};1<@{W*SSBS*m3|_w{r~Gr0r{3o8JSh!@YDi0}XSqqunC5*yT7iu@RDse`RH z1YA&DowU%CXq#iiwR$YMALQ-&}tX0 z#A-o3A2VjT{(B~pm8nK)I* zMmz_zC1bY&t5VD}%|jo&%`?x<+oY6c2^|=Tl-1i zv4v{XxgYj7tEcF!6n)N63%n0-J_Pg1JCru%0oHN|HM`aY0dDf{HLl5w1S7MVTZiB5 z{%S!c=l9=~n&~iaQ4OQK6qX(@1Pk)FHbJ`}5u+{fxyS_SAeFLKj2`&A8<6%}9kkcy z#_xW&g2R=*&qlw@9Ffs8Sx(?TBP5iM*wN-_j5vT=!3oFMyBD!% zX-D}nF}{L*8}Jk*5HI#OlDNmYC^PSD?N^&+46mY8*Q`KWQgAL zl^BKN+rD&0{G+`zvD9&KZ{{stnaUkro1ZD+d8kcKtSIMmUsY~U$UJm@0Hgd8^Qt7V zqDnVBZyIMDC#&Zikc+_Z^Q?6is9Z!;Ex(Yt%yM!)%6olDFeN1J(UkBB1QXMBx7V0joD>oLR3 za?j=+NuHRzDK$>V=XG zS!#c_2~2W|c+Pw*G2qSx8FHH{S!sh0q;u)qc^>yepSg20?f?Akb$9^ZQyP_vuEqK8 z@25`JOAXre(Prc zB&_ii6nb7>6j0a-Wv=+GHa+-Be3+mSRG{(DQ^>`bQ>UfH3Hb2T{+aHVwF3CMMa?NPSqE z7%T!N7YT=+J>DLTFwI@vqtV{pn9A;qj84SaGbaH7U2*h88F`*qiH4iQA4z<#uUcF zaN7z-$b^K2naSh{&djJ&&4i&0+q`q!k#GRW_Rm*1!&pIqXK)Gx&ssw-_J2^J7}hpT*#_iLznKM(L&cV*5yo z&2bP+C)SAT)srnPM^gzyC%_d*C+CTUI6Bl%f+Ce20MmDGz8}}FeL(wZoX>ZDkP>;} zN~p3zNjd73j`sD@R=%F+gJXoz(X<(@a2`(5$VNGXW;9%vFQ``8yXynVL;{iQ%C7McprII6CugE`0Pe6n&=f8Ep<}%uPYwIZr371IosLB z@c?_=!<)!8db^)QM|%TOuf2E?Fh9q!&K_-zd;sBVmoCJ;t|6F+rFex7pOb+4bEi)s zy_tjQX^t~TYU5tdaC98+h#a)uE&T5GXn6Qs=h3J-P;N!T1Q?%VM@jmdr0gJeXaR}N zOH@`FfO#$K?TnNA)oLr!aOjXq7*gV%V ziT1Iz0CGz!S<{%cO&p9S5-YbM5Vio9Ic%mo*vyM(S{Tb^*eXCB>wlH{;k(rAE+j1N z`jG|FLT<9@=5t@ZXO)8znL+jn->-yuQ@-QzwqTqEasr_pF2pdi)o`p3kg3}6ceYCg z(S+^Brh3*Q8qsZZtbilIb}r!GynzG8+v+5n0tl{U9f^^086!H|fL86JAgq9Aut`ZX z*>=~ZQi+t<#hxedT_Zu)HJynVQRWYOU(DLbAu6$H#DMWl`g!(%to?N#;d0XVtP|_c zIsyC_a3I?ZxZ*PlL`Y3G%{uy-#6j+#b?l!CNGU&;(F79_X6*`uiz&HjV+*TlX#Qo* ztSTjl)`6Ds)h2tMRE2}_Hz8BoBa4_yjxr_!{?u#+9lB#`WhWVa!Hm}`K+5HMQ(bcQ z4x_8GjCO%67VPk|$MSFY94pS444A_HtP_td%GE|DhMnuGLP}{DOhLaSPSV%%zKLGe zo=$+Cc_X9fxNFmeDeAWQEA1-+bgxx8NeaPptqJgP4QhuargVgM2|<(s-gNph&B|~L zxNo1I(F>i(^xrXo002M$Nklp0fN@o6MQQg;#GnW8yVDe|XN*eh-{C6nu9H4(Kl8t$B(oh9M>*h!>qlwV^ln)6k_ zI5(6YCjz)nQaMt^>yNRi`^aP)xlj8En0&{&XM7w>+nzgTJ>D)=OqA?dcGTyw%z7)s zt~jwW^Vsk5te9UO!#OVDnVee2&7U1dotKmgz_U&aKl9N2PG?bv$T{k>G@r)#?9bZM zVxn5USS73_Y+br0&dEITS?b(-JWK=M0q5|aWC`#vj2e{z(48U0k^%f}xlOylns_Mq zO>2_46dIM=v8LEKTHL99Ls0Z`p=@88bRw!9_IR5IdKc%j6VboCv`bcwYT>tb23|uu0 z4``Iaq~62J+Q7(dVDJSpJCq@6giX`f^pkj41E9`JPeV_Hh0SDM1F+T+hSgv$lf1Km z7g&WCIQoQ!94z=UK*jVV6PNmq4sO^-D`;fI7UarQ((l8oKC!Zm}(b3Ul zSe)QffODCxv`F}n6TtWVtdmmknIwfbLN%NLaMtwqmd5@QU zc|MQp`<~D9`pUlVzhz!B(3xxhyZ17``|sRVdS$Qi^I!koU(a6Ov&ZoL|NjfG6u|LE zfAk-syJv_5kH^WoKY9GQ7=YzGdF*uD@A_*%)OO60%(X~+X0psMy0b(%>SAUR9W;rb z-}u&d;=>QF(y*r*jp|<9zWH8U{rJ6j{pDB5Y(A92%xSZsjjPwB9y28ea!s;W#0ArH z(_pzN%7Uy>$-wFcAH4f#m{YDdyCCy!+0-2UKj*ar1Oc z5Juai6y&+n$6?ynFlrb*o~a>WwW;eE-CX8wK`!A}*5E$OaU)De=Lz)wRO~o?@&xw? z3&nuC&u<@%c0l?lvf|AORcNB0B~JH({YjGJOmsU z!@Ow#`$s2P1Js+ocsd^R4^sYViDW%$y(9CO27p$=Bvz2fXD7WwY@WCJd!wO(jUHKq zz;kkZHm>#1tO$THGBrm>!^L=aa4`YUQdrI>=n#j7sLReXH1hS8bI0OtH+5S1-}6l! zaii}^?7}t)7?)YM0=Fs>%1+c4#0m7w%g7`eNt#rXXhPCaY~nb{&(%c7c3_8^sGhRF zG99N#=E*6mq$R3foR=4VN&N-a>}Ow z(d-fhMf-8C5vd&Gw-5MUoi?$Mssyy|Za^w`z~)}bhET(pEdxet(G#;v1D=u2Fh_T> zw+DGJvoOcb3ARH(5M&1lj~lS)V;t{D6^)V#06BtG=3!0_b#khuK4r2ph~bVagQDKD#UTmjSTF0Bp&D5~30LFj`h_0n#QSV|NKD0`qaz zR^WVhn@GeqbF&6Q=QP!72GMyQkhfCGGq6jYY@W5Bt;~?NPj#$(#;|aX%o`8<0Bvk3 z*Q#CDW^3nUpak9SjEGj!^;j?1aJsgTrOf;%5(Q|`Hp{jq3&zhnWa&M|Br$9}Z<)8l z$b`0Fxc6Z%WdW60XwMT+#?e)ZA)wW^YDYc0z|%d0AF&-Gf)PO!%V1SDv4GAv~# zsWYRE)-ezqq|T9iKTC4R#A}58UrOZSGumzS>}5nc_ISRV?8$9kN+faD5#PxRu1E}drgAoc_d%Z%o#Ax9PoYxKkgfjMM@Us zcY(eynQ-lz_uxx1N&srEMhUF1iKy-?>dTdJxEIJcdtZ*}5)!ovY?6#Oo)N?vT6?~5 z^k@g?Qc}oX%DmVI$Q1eZq%kCh16?ao{$MG~(-D|9Vulb&?=> zKb~H{L1m$NYU`6nLCH*skELatDb}}+jQ6G^H#NM+^0*`Rwy*}qOK%eW~!m-tXu>+~6lX7rw$qDQDSWDfgh0)m^oO16g$+W;# z&LP*Je@UtWYK6o3B4dVSUPUl~r+(D`)e>~jhl~pqMYQUnUV4M z(#w}(6+PwEo44ZS7cXJA~JEewZxun}0Wlc!HGAnVlTwHFjElqxmYL|!FxT9-6FViT@EK(Y zS)HGY@2<(YTKDqJfjVmyfl#2Z7&&Bt@ z_j~9;X|0WZ`0Tk>0$&QMD@r??FL@iGmL zs!61)0KiPA%=JfoL-G16l)L=+POJl>zee+vKAN38=zc)y%d_M|%wZ5K2=A{`_qYzA zbr9YCE7e8k=t3M% zaS@ietLq640F8lQa3=x5=g>>{jxNN&%rrADhlIRB?j0s>Ge1t@6m&EYiNX$@Y*wO$ z0WC%bg45m7)JlX5wiULs2F>t1Ow#573{gan{s0FnM=%r zHk|W`fx$R`lB6DNV{nJ9=!GO=JyCZ1yWe$%DkLS;I?!&IMp`&(wEFz671$5SOO{>_53iR)DNMiPw8~MyNB^F!ATnYii zHgj0pUW?;^SKAZAtFk%4S_3d;jfw$y>P&MP3wSZw2k`!J$2gU+`}@7&6?1p4afa$1%*VBt^q6=$G-=>G1PDF9C@%7wdUf`}#W9;=U-TO8|zw#|I=x60~_G6h!>QgwOYk`3mdjD0zu zUtyg%hAt?h6{6xC)?+btIu|?bY%Br%ui+S%ka)ZU_|)My>Qu^__dG?|hCE0IB^Xvh zk=Rsrf@{hBV_Uof=5I0UAs?KoW2DoQi(T+}aAM9W-VrFX_L)OE3#BKI6i&c9WNZKj~5BC&Wr%Mk!Eb< zQ&W&^?TcsH93Mjp(s?2tKOBx+JZnMD)Yt@J>=p)>@>4X|P~X|}bRarl z{EA^a)(Pdl@ZuRBBswEOER3~UPQy~_lM2~X*DzS60H8TM!W!!1y6{pci!eriUvDa5 z_u&461bPL*hQUSwQ*ItZgM@pV8`E(Gm%nQaGaY^Sok_=3<-blx*aEIgEfhEBTxWA(V&jZ>E*Xw2_;(Dv#_aL4 zz&U#l-jgqXPn#0gZtLUOnK8h|V;0H=i5|UZckAMV53dmp$B1JfYS888!5;TK9jD>Q zVWbp~(Y(Uw!Wb{jTE3^8MFXopx1XM;30mVw2jOr$XS{A8ibP(`5hD75b<4m38$w4;iBm6x}r^G99=zN@NZH#{A|A!x4 zjbl{LDJRtUkYu<9qCIYcBja2Lppb_UH|{-6;K{^|pVC~wn#5BJY<_^;GLmiX^o+(= zU%U|S(`@B{bul)x8hs=>c49wD(FD3Vwl&f28fWa|I|EV2y3rB0MAFdE2yDtY`eRrs zl7SBZ4wgSVe7GPwsU_V;e#9bnsi6j@ba^tm=QG_;m)&4!uwfOEOKsKh9&O2+nrmVC zS7MqZ=cVPM_?cHv#-pM6n5C57KH&012eKL3J)3i23u~+~B{XNraTraT%p|3tYAA2F z2uoi9gFVeTY`MEelFzY@5|Z=ENT9}%Vt3dA(9XjK9|z3WmKSi24fNEopJa(I%`M{W z1GE9EOKdn@=(M-l&?kv(nCz63TTTso>Nx`r7bqQQbC;P_Hbd5dl{uQ4n@GZ0LjtlB zXSt^tLa|%SpIH(ib4e6jgvrv5*rIr+poWkxtgMm*o$XP>0fTnE#{45~D@OT;Q(!}T($6@1QgD3!C>;hCNnnEO!^~pXU z1GEUhRo}c!1Z`mzNd(QY-1N4#(KJ#HgvSiPMT$U}d^42jPsTOz*#z{bLon2dyE9c{rTo*tQ zfK|kPa)>=>o6X*HF-*yp=duneD$(@gh`9Eg^Ex(44%XFJLn0^{G<1w*;|f4??92j4 zZSf+dE@i7t+IOQjk6@K(s`k{TK1n-_jZ9St0H5v^npMk=tpjM3BkE(AcGU-GsRKzJ-<`N^T^<#3@hom1hmN^aXbJe$;rX? zDtFVNvq{Y=*TZQU`(!%O^$T$HGk`JRnt89YaKN}SIoO8)+B`>o<9j%tbVS}Hy0*qW(uJGnOHyDV zwu7}Kvkz?I+ST9^?&tRfBEb3J1CtNei8ScgSx!;RqJt!;SGJ(Tu!;0^gJ_ERThKqZWM6%Xl%Hy zGr&FbFx`uHl1xUjliUuT4+F%t0J^bRl6w-1u020nR@(p>z+7Z3O*;MC$OU7rT&If2 zm!B=cj^tvCovVUc!D^a7&K2g2T6?>$Dzivs={V;ewJC( z?5HBZ`!JFt4#{8i<< z7OX+8?8&jrd-Kh%-=sT3DtEcqF)%!!SLzs1Lb|cQS=@byA{3h}ZEO2xKWY3*B z5u?+Kv4VWyBJ~NEFu1q6`r_%#OngX7;#sntJ+K#|2cT3v*6I1qZA`-m6*3`?P*r1r zg6;W)BSD;T@!Y96Ns?Yq?*vIV8*%Q!8JLu1*zb`z1tVoB#U=-1qtk3kcrkh>4B#Z} z*vntI%wpakq)jyrLZKzpe?3KO;x)Y`4Dtv-;nEi_#wwp}1}uF1_(@zkaXe0Tc2bSN zu7QMvVbN~hy+!-tQ>mV+2|4G!@EqW2Js#Y?7p+aLv;)p0gK1<937fQ7M^fb=VgJG5 z;pl8_VpD; zUn88t6&S<^Xt)ix$gG=TZ(>XW$&B3$;pTW*anq;fPaF8|F*lqvk4srzUh>I@rT2!o9xttCQvOk$5GdpJ^?zt6alI6ATs7r*dIy#4kc zQ~lz@xC`rh`|gLZShT@@=SPg?9H95@7=B8-ZkX7IPaiNxxo;T4dG)Cu393!7`97t5+rZ!)_0NBRK5UvfI!PI$2T{tVasT0aRI|CoyrUrr zdb(U32*HhA4y&u#e1oL9kzPD~N*a~YI0Yu?-mQ;uRx9HOA*`~>+UOe|M>|)a&eM#P z%f>Hr0DGIi)HPI-Alwm82K(dJUwaYf6Gny2>3I@|ced4&7Nk6da=iFMwS~0ZJ`RA( zqtI`kR*W>Z< zd{nWi-WnJNB+_hz#ww#k2`Y&Q$f}M~E7kctfdjdlR}pS7A#ql`AuBh2eunCKm@eFj78hHq%L4EYH=ZQ2xMXeyDn&9K&raMIrV z;<>m_Zpkh{w3Oted^To_+?T-)uA+G^f~m1G(VgBw=A_AWNON#v1W`Lkc#8PW(Pkti zD>TH|S)}Fq89Ko-hXtU3Ahr>{lSyn9yczY|$7Zxt%K&Z11UBP1-yaxTK-Y*3M<3R`9^Z5cmq0{8;>;#dM!*_<^1iMmkRX)nXtC*3b>y3sft zZ<*Oe=CO^i1S~enfDuVdrp`|*a-lUM7ppL*l29g83O1|CVaIVi+@J+YI#AoNPqu28 zWdxQab_@{=tXxKFfFhTTQs9P^hrLEkwKo~Z^09O5aWY?m)cqWY8p@C5a@}gxSLm8)^#iMetYH5H9|br%OYCz@o}`O5 zRBzcV0kq&zX4vu7E|!*1W)cu17||yC+|}wTZ;?SX5pExFU&5SD&OrjX3<}_0M?sd| zP__=jE_;PZ%i2=4$!fs&*;jJtGAW31{wO&~fGF8xoEyOfz}536kimDo?gGZNfOTrA zL;k~_pcb34=31?sVD$+yX5(_%a~$_2N6Xv^e2c+OR?HCO+8;x*Z<}O%6Tpi} zincDj)nc%a$%!$cRTkU1v%&oJ*gDKQ*VZ;qV4C?Vv1UT@nohIpnh-)hq*fmI(JrSO zFyq_E2pRnZ=GAfQ)VZ!C|BOa>PT6N8LH;aGaJ`$5sJ>krb3nx&@5{Zxc%Cn#Qc90x zRT|0i?glzFx8mBLR>z}`+NBU?O5IjrR24FQ07`6P{2!H2rf(aO@5)A1p zooC|ou_MttFhgmpBj}Vz$%seS!$34NkonJ|ISH#=!GkDfQ1dXbYb?aG?T1q(jWIOD zcJiWP6m?c94~FJ#0mi1A&99%$aRR1ew|FZp zMGI}Wp&TR~5ASxz5Mb!lFJ4ZdWde=%doXLwmd<)Sghy5sJv~e!Ha|0L3kwd#wa;#_ z2=duf)#b67VgzJ^CjeNMrmL%~O6970VaRF-^XTo!m?-7wICd+7IfUhBN*5! z5*G>Bura7X8yy`@55k9H2x$o*XM0S$6ecYYldqbPw_r2dOeKXdHTVg%W*(&8noRY@ zix)T-Nh}=I8jeaw776D%A?jfI?9``MU5DP&XK5vp;o%_wHyUjwQ>sbI_jEd(s3s0% z>>q3^jI!*j@2AP@#Ns>t&zCwVf7)gvlgVHO;iYq3Xw+*7<6_J3fGO|OeV6Wz&GG*C z{!L6hy&iw|y+1>~QxvVoI$=my+$@?+Hq3>Y;aEhT({`Q&vZ+ZH_ym*FWJp4APJVz@ zI=4f>i3Rt`+hh~*rP0s+5j^{|p`?MHyD^5WXbK=SgNH8bwT~gLETi-rz-$q)YB;E} zc!_6D%Tx?RRdp@037FEtg?R1tBgh=wP`s9s)GmDs(ETs|*Z-EydpzCmX=D~T0M&c< zZc>jNKt+kNJ;3(P))edkC5igCFlIDK;r>>UN^BP`#FKlUA)Tm%J)S`Vu!CKoASu~|`Ej(B4Fqs#u7t@wg$1zN zY>Lx>1UKVC3~_r0?XO85eyQVdOplJh#KQ=(fsUa0CHWp3#@GUie0DOj<1juIMEENMUwFdAngUZECP39(%RXzL>~xGHrF&zL)%0iQb@SQ z|L&WY<6pmXB^ueNs?l#Z*HP7DbUe->lgnM0WK-Zd0|w^NJRgFcvs!~viLy$-A|dZp z*rW;=&}CRuYn7S|yMpH3HKWsNpmT#YS;2a9v#+hLVH^p^V@t*{7Rl^n2w zN-naKIU;^5P}K#<^(uJILt~TV3draR`1nJkmwgibe17b9u)Sr8Tv1Y>gCJP3GJ_kS zo07-&0M{2j)6I?8tk z<46IWF88tXJ2_E*Fpiu0LxLn!SD>zUv5A#v!?zF0U?5>s_Wj7+_xIh4IC0dO_{Qe&w+Cx41XD$`Qi#m{eXP+;v3sE2Eqv2r41O& z@wZZlWUQ; z@sub=S@aH0#Pis;Y8;ThQPz4Bj&t7t_U(8aJ{XDC!bfpDMq5s|N4lld5r1MI;*4y+YzoK;E+ttMefyd6MU zHF67+8r@?AR@Ri3VND(S7$fi3TEf;J1_u)bpdt+5w2;n!u2Vsmks6(xZRVQ}S1B)D(OQ<|u(mOk&RzwyuCn#X|F!I&QG ztP=95h}XYxCMt91NsKXxr7%vDC4Zi5@~8J6P?4fJ9#fa_F`MKJVd`_u4be*dWCj+9fVcci7_^Z zW$1~0j+x6vY7E^7pF7nGsDC>zCsfpVFqeLVQr=NY-OU7?IhPtB&!xxb1a^_At2RMJpepl|Bot0x zW}txCYtDrQ`RQN$etdN0FJo(^Kd!w0A2C8}F^{8Aik|bmzx+OIJPAFcL-EOn->2ck zBu>?493!E^mZD`C>3diHDuxFh$6vqwZd`ulCGKSvb{Yd)T@-)tfB#F)kq@KPktQy; z#ua27i}2&)u0D*R;V3nHdoZJ?`UB)X1yobOVWJz^lSkK6vSXS zL{VxDhi?@YAh(QA{OTa`kr7yIH1=%fLxZEVfPIA1k;7&_M|7e!)?gE>*h~g-M(2ra z>=}~AP|vYAf8({^j_%{&P|NWVM@_019Udg&sr@4-Z!=vasYxWFxn)m96KIe zoO6x3%DLMW@zU$RL`9D~F+MvAm^?$Z8xmp&BVI;^WLsI8uRNHaO&CmDLhtNOQpcBi z=rFw3uYVLj^NYU`fAJ@O5SN~R5vLAjkoj&>pvC+TQ*!D0^(S$(t(B5(BQ!5MLUQh8 z96#2=eLjT^IG`E_@(=tg6FXXwHeiCOt4w(z;T4WcRDxp5zMw2@62 zU;?(?p2I0Pc_>a)S5U(l$;s>(TIc5IM|Ulos-yDe$!25)Xq9n5t*~Px;@D9(8%o=) z;lykqt9ao|b4;=+*-p0_@VkRkluzZB`8gZ`3i%haVIF2P9--uB4(D!00(YvDWJP2` zJ496~`Ccta9RodTj$t%d#2afXaAk$@I*n*<-+dS>Y%n|M<6CL) z@H`7}GRJ5FK_WAo=#fd4tA zUORwn)|B&8R$%kh8+048*iJWrFs)kv>EjMz!63Xq-)!?(shvrCsk6aC!W z)cooUST$jR=J3T(?5cy$||Zp zA=O!jm8yUdGbFmkoHshCCU+BOx&UV_hYjDkY2zWK4Bq!L=iS3$IaUGFgjB03A5Hzv zXXxmW_c6ztiE_-)A#QhfjHt{=G~|y)TPsP)b3}lqsNzB$;*Gh{XemK+pG)6@-6x!4 zgYlsADIm3wJcuQnJ3&bq&qD%2Amn}^P%Yp&%a>I{Fzv{;ai22tveSY-8EDJ%=`a|n z;HZhHTEY3s<5^SyBy_TzXEv$HVLv>COkoS>9r(hy;|u}#b_GcM5j>=(8Ju6+DLAs* zoYB2h8&`0_bqZ)~tdzizc9`oBk$Md}ARFxUiLqrojVM?nTu@VYun_gVe-%xo2XVLz zMv^4mT{`nkuQwvasgK&i^|;+L9A`U@5_v*S#T>8P8i?aLeX%opKc>68qiLf%DmEXG zZ}bq-?jFUH#)7KiL^rUHc@5E#*As1P_t?9-V>AD3oXvd@h0~8?x9liVj)ORaleo$F zR1tv#`lVXKn*cnM`Rzcu3+Z52O690I%yYZ5>M#_scbSA{va8^F2YanHTDDpli-6Gz zN98y`?(YX^)c1JSOGMWn_KuT-)gS-#H@+D+ZeJr>v>C0(PeLB*eI~J zG~l}ihXFf6>w1QEm|1mv&0d4WntD{;TS9}Gfev??W9+y?|F2gR-dP5YQgVx4@3;`+TOasF5{ z1^lTGjqy|?Jux(ZX7mL@xUkE29%Jb9;?gFva>;#?@48{}3ZidhgbfL{WjQ~-^(#M5 zRH2V9fVboHnGRUp>G<>~-)EzmL+4BF+)Ec?@aB)>K`40M#B1UiSA2<5BNz66atAFzWMw_F|0S;yjHbY7LPU$N1o43XM(A4>H%vqqDP$ zxw#f6PMxH|N-vw>dYn7eOl{+)c>dz^+}}c6I(3$Ea^1)edU4o{^sM3R(5@ChJU2(8 z6r0NI03k4p(bmpPJb3s?JbH9HdT34i?eF{|<6nd^!+^0dHlQbOq(aSK{Ny8&`Hqt? zSQ78wyunsP8*FN|Zvgy^yeRKca$+)K6(DFHr?v>EvVjEKUe-?&cA%PQ%}+nR8_%CT z8Mk0pu!d;RXQGESZiu^_wfFuf_v3_-ECBZX?k)^i8IH?ToH=oVI^NsygO9Jqo39YT zSlo>t-Gs$Hggv4u%S9?(Jid7^PCb8yIX@QNlWWxR?jS;vgZ6tg-aOwNmpf}HZ#NrL zI3-=HlxHFgYhvy^U~q*Rt4EQNtQhTlKaqnqA#y>CGXdON^I}&HlcEAX&#uKClRV4iU_RoDO0fv#O zg*Z%-<`&fC3e}FDKhuWv3i%CAM;@W;T;wl1lo5r~qDcxe2sD`Mu(*5ZSn~kgE9j_` zhLbTXBRV!p`}9&+*1{Z0?g5@$2PTB7InLud+B&PRRJAl>`(Q13b~f#?YnK4ljZVO; zt9AsNvp~{iJ$A@y23vsFb&@ihiTEXn0Y3{E*uQyvCaMXDB?w?lS)()DZwc!t7s4V3 zx~PPzGR?KzRpA$o@aI_o!MZM+{MX@$hGld*`cMYtZ-g#3+itpKEVkVKTR2J(2eIv`vs zw+Ao*s9CnokhH%qBLOLcwcUcn+*xKWBC{#SX`2S*gO*`nr=o=j$kyfpjuuW#IXYX2 zghJ6<)Ad?3`E5&k%sB%_4wjTuY>4TqU&A{Nz(oC zTw6&T*?vsattTG!j6_GrxhPt?8ptuI9CxCK(%ElTc(7AVvjQq$>X8J+k@9Fz5( z*l?UaLAK9IAS*cbk4dOW+YF8}4^1+`8u5v*=5x7{5nQ|L+57+-{+PI!1>jt4dUpOT zSXV}7f~1a%a#_pXaU$k4z?|{aMq1v{+wnRS@L;=5PJ(TZMQ{%S_g3 zSfK|aGpYR0w_dwQjnm2a?oV&vU66=yfM%9Zz^}a0Npbk1c+j^T&$r^K5%!k7eW4RZ zhcK*t>GPO~jRl0E(91ohqQE8({kcmQ32&8>IZx;jO&>EiDh}twA{)ll$Ky$(W`^<< z361Ol)IqeY7}_WX>UHE9AAfc|MgXbpO%3t>tzHtt^d2a8M^~_-@_H8P8WRZCgk+xC znW;E`qBE{`^~9F}Yt^;IY|1xdi$t6^zxo9LOc`LC?uJatQ>WU=#9c>!J%&d~_rpgY z$B)pnmY3ih%#RReAS5X8o4SS0@&*889jU z^3nDrg!kWT2wQ8wyL%1E$WS8<;Q=fH9%jY}2ND4o9=sa==@0(5I7VUiI@s9BvD@*z z@BZ)6OI_WMKKTJH!mr2GD`;&W{!KjXx`*WCF$`C0{NU~X9P1=+bzHa@_aFTvhWoyU z7yFas+09K4#`w^W`P^|fI<&Ko-z9w69b;4|*=BM5^m~68AO7G6@yUBXijk)e0aUOz zfcKfcYw_N@-;3KH{(wU5x9Q}j=gj0JDWZsMlE@NxXoul+7S zXC!W4y&Y%IUydqd3R_4VE?oXf+hobPOKIDElFpZX@s*d~padeN**Z(m!q+EF(*iA^i;L=M649Q*sY?rZnjBY<7OOC1 z!`nClJuyr|+0e)mKnO@ebbAWzyZnhge^!2!N?{V}GjZ*>R6*9taat^v> zax4NhX>%y90^qJui2}njM?Lm=@({`~7}YpGtDO68AJL_|*Qfx|PGg_?xIZ`^x3Axh z*7l>U1sqG*q9&p!=TCQ{10RpSx%PlCI!RDXt*Lb0pTBz@V?-DZLplVz{gUcG#txj(`@QkD?W(MqdujN2-Jy_PxmyP>})mu)U!QS*U*C?aL2Db~d z+D6o3dI}j%)8TkRWK3qyu;L1U_x#Bg;R=;|HjkBRh9_&_yEHK{p9>8ap?}n>%Z5n- zg(ltE3=1JV8!P)dx_8TC368CYEc>zz$n{!V0fGmDH_;n3N_%LDa zah`E50NAW`r8^6h>pOr26OgJWPsuwtKY6f^J21_8fPoDibmrDBo6s8Uk0IQ8?8|}I zhP+{o-vuEiAr^Aq>aEw=@VpM+vwWdISr*w2iW>lG6CRD6iQ3$3QwKf(Kpx|}#riCV zQPLJKED_oU1evVrhi#}JGnP6VG6!V5wznY(U;sP zJ>%q-5SHI2`E8r|wE@F_fXyglY^-jPqx_1BR5E#6IN3%Bk|rE4RhF>`(&-?^V7y^3 zivbWj=vm3HXrNVn+aaPFqn||1dOv#mZU`z$OYZc=KDPIK%XH+eeH=9CfY$y&DagB__27s)gx*3Oc6sHzP4|&fv zfM{hM`C?5Q#0AaB4pE5*Ct)?WIeO=r?>z2(Kyw9qj@tVXaLGDO=Q6}a=|0JI0ck-G ziy|Vh3!E#~254S{Y>#zW+1yS$?7V0yqI>9mA5Xas9LU;%-LpOO;hF~K7;1QIP$72K zPM;|f%l#{hQA3Mo!^p54nRgZ@(4o*dO;t$vyg%z;ltZk*BOpDFg=cy85Tp9Ufu*yXu##uie=xz2jq1UGB|WG#Jpk^S7x#@$`)*En(2HFea2 zCgO-Q`E%d?wRqf5Vt#%tHr|9vIybUb)bGyWK$autT*n#IY02Zy<{}+zA#Ro!x93hD zp>kSo^gkY<($I7qKYyBt8_9P#$os4Zfv2pvILSsMzLb$zHdVc|(QQe`X`G=0fORhC z9UrG$@F9~2B~WpyK%YAA3>a%XQxeXSiYE0Nbz;K1gaM=I$QfU&s;E}jvfZp)o|Q?pe#T}%Cd3Qmy%=r97UP{HO*l4| zOy0)Um{h96BEOt#RG9B_#auiQ2~KPUqSO_U=OR%3qjR04!*9HHHkKL8 z9RTGvA!ZPA^u71fnD6h7O1!e&*@<|1_cq>dSqzY&`fktD$RjjsLHmup;%Gs3aH3IK z9#$LH@K{R|dWF?kK>|^VF)raj4h;^lfQq9XMpp)4WN3_H|FsyV+_>4_A76ld8l9Yg zrD~@#!YQg?48)gTdmayKFP_45oxgaJhABr9OWaFXsIjq;Ka|6pV`8Bh?1u^c4}bjs z(w?}BfgXdU8;!eEFF1YXe0+TU0~nG%8nWDhjlPYHgvJx?mlAVYLAY=QIl>NE{8LC6 zHdjf0V&grM0Kq5>6W$sYcXDi;2}-7LeO+An^dmInZEVhHsR$eV^!vXTooCJxn*Wf> zAV^m*O7Fe*M*x@aljTcI%c5!YwaYvg*>BiWHqr%v>%!tV$&4SsIF-RRf6A~g!}?9r zc9^nVW0V@C-s+v+&r)JU_tU?DA^jL;=`oDTy~rn1{n7jH#uT-O$N2mjgMZ<=mxY)oY(3?dhfvJwUX#2S)mF{1^Z1H{#lRe}Zg>P%_Nd z$mke#mwzGt)C#?`AIPzxB4j@0Arzy2N(ha+s(d-3*9zME=h zZs6EFx^*QnB?E)~uySir-$eNtSsIv+HGuU2VfN}nO@ye2G3-O=YH2w>nQ_?2~Z z*<+lLS5&}8yn!b506Y}%)bpbwJ*K+0vy?zg$wbgfBh~Hbtk_4 zwXej3!ETzLOvTr~@-iX+DXNt$#xH&C)%XNkar42`_{OUjDVzB?j^J$acri+O(aBmo zcD&>NW9dGi^t`Y0!2hQgOrOCt%wPsH=$!ybuz^LQNScx?n~Iw(SH+ecubp@|Iq|WR ztj_UPpWVcEVs8>TmP;(ll1;0S6ng~=2oM0#>-64xFZ;V6LtBRhzq@sXl_H~|>#ekW<6J6JfbHA1Pu7O~<~1WuiO-DjH1UuGT10%At7x8rAk|2$Va-?QJq22c zE#800yHG(MNhQ`7tLr6GV|PvOEM&YY2PaqoTDf@>O8yS6vlY_*T$Mr~}r!?>1rBVp39B*}{ndKyibYJbrq0nLPt_ z%@9!|>G8L5&}$Xg?7*@+Q&S!Ruy~WTSqbfPVG?$rb+Ca?{?a%{V=|>-$-%V^+F%H( zwiTM{4m>N)_of3ZX3Mj0a%}h@^V6TK#y*+tbT2wUZY$<*cFchf73PYkdUMM+f54T+Uw&OsDM6T|EaX(%dMo^-ys z7!6OGQsb<P4-4pp17J-e87F|RJ5alnRdi^jV3AR zCV{wzxIT)wprn+SRMURgE(+BbrcEMioa1o0(sVg%OPZZUMcIZTOiLzChafaGN1mk^ zS)|dZkn`8P&(}CF-Mn@!{lw2akvf217rU0wy>|IIrOq+r7zetdx>n(+u+vD#|II@^ z!eL@Z`_6Re$X@(@XUThhz;@gVCX4U=@E?iNyZAnv{&}y$iZCWr1#_-3siwT%G#b{K?%G+J=EjE7Mc39!0KM1s3=R&uH_&-C%e)vm7mc>*YAlEg zE^z3M0{P98Tjv%DXG?9f)euH=zGVvv2^~cs@F6P9{60nZCp08QIUq5psqsDr?>rjM zpcw^X9aG~^sHzZb%}t^AHamWX=N%wfpw#hB#GMZMi}YmTR^(Zs5Cw27kwi0|pXzd!yL#k{fo|0wF6P4A_T_q~Fu6V0{>pPZ2q zTKd33`j5z4IS+j1r@mGl_DEv`>3MXA7OMQYb)p~qq#8>kYB^jyw0}=3Z=m4r7)?(- zdUty9`HuuH{Ki0p+bOdv?w$C|q&_Ogp7;-=&I1UXAxIy8BQJv`$Vw6{+sF{QwY&AyS*2F83;`OC> zUr!&t|6IEN;ED8?fBm}|ZeEkI{l&{&8JoTKJ#B=D9qds?P!=>6thDSANYewi{ak9| z!}oc}!~@1@XU;=*X9tk}pG*B6=h#uTLtu53j#Gz#MGl|j0|4oSNxah zhu;87K()XBqYQ_6VPhy=x$zqM#kfPpYxmNNnZy#ESwFNt>00%@&{+027X}6OD#fc& zzre6}?@q2hAq2h5@`{)76o&@_sBzmJXGU?e3LNh84b+RJj6fxi;B9ie1M007)KozK})>eY=731JpsGo+%D5^@Z z9UnLH^O6pY455}BFhb{1tmv7;r(Ipxgh(GwPk!bn(+ync`CN!y!;aM55kb#rZumx~ zi!Ld_mA7o>+?n^iuoXDb_31nsNCi|f7S6nP`Xx=(prA6rDWNsJ_UcQJj$#4El8#H4 zGsS&a)CB63t!U~~xaArLl@~)gubd|^99P8mDFBVSb87L}2XT#U%hV13`~UZ^Qrq6U z(*1|-gWf*s#a>D$?tcivQkuT_`7flc5b~$K@KY9w95a?bmiDr*yXQFS(eB;;{bYLN z%4N1K;r6Yp;oL4*#IYnYQot3b!_7^!1J!8{e(_eoO+{gC zYTQ|w`g;d#CiHzZtaH=&lz7Zy2sF5a=;k)(3M=L{GBYR(>zp-4N9F}N+(fjhTxX=8 z?cD@gL5L=Dp*wSgo8jpU6PA$rTx)G=X1&xss=#9jHYb3sZb~kSokhh~+m78@`|9+< zE61kR({Nq zA7q$ZHJ!u3t5xu{HCh_P`6PI5`#Jo~X`a9T;_GN)ccpK?{9)?Cwo&{xL&qwh zZgU|TS6qZk#kyi^&6Fi*A^DKFJ|fEFCPg7CUG^@Acq^z{Av}tuH`73iuq_P-m+;pO z+pKjoh%(LBn!-W4RqV+rihw|}f>JZ)Jz2;g@g{(ILtJRyOpRrI?&(nKMt>{E6|OAq zNLMeuh)Wt)kNBl>)dv36nxvnj!0shRpIs_qe|X34fbHVkT)J}knqoIR$@9gzooQ!q z_Wk<=uwrcJHZg0Cr9-t`ULb;_x6@eHbQ&J$PGwDdB63;^sWtbIZN!)Jb*m8x<@g&efwd+%8+7{ z9t5BJmDjF9NAXvziPea%Z5|zKAt0Ke?LOqbKU| ziiZhV3&d=H9>r)8-J`kfVa*{+Q6SCswg!L+!8CF2jBT>TK#*N6rM`1_X0`T2Ml=ga zFX&1+Q=MsEPMAkY&CoIA@SqF@WoALWk?Y(PqWlnX065epCe8&YH)=ZhBqoCl=H&c) z=`0Skh0_p93qY{3+9Vtut{C@yhkEHJK6fG`aGf?;3nY5lnST4NH`1ezKCY>sNbjA$ z;S5)1CbgBC;n^9>l;pG0Qd1$tTkxGjU>o&AO!Y!Dva1Otw5LDa+g_g@d;IB)fr7qY z?9pftOMW5}4LVg=xvk^oPuNIXskntmquT~5J2Op)&hk!cmi9E3re@TiD?r7Iw{N2b z?l(n(f`=Bs7mj@jMRG|@0fW{Mf@5>C3}TFo#^x_%!m<87p#dLUb2i+pGsZdM^AN(k^!(qh_%>16%Xc!AtqS=fs zrXltW;c7@5gJKb)zYsIVh~iOd;|qTTsjr9%uaT;p_Z+yYZ2X@lM{o zD;?dpGfld%H%?zqKl}8F^w-b5lZL2YTecUc^S7WEUZ|dP=hMdIuymut*7*hTJKq;7 z^TD4?02b0HV*5uQylZu3h@$3F-=&-BICQ9xZ{{0D2^9{`g5MK1VKWNhyN(|);xGhJ z{WsVC56c?Cxdd9X#kQ{Wb@5<%dfMrVBc#-yGGW`X-jr}`tr~H8{?-Ps4umO>mK7<%4aX(&iY*zag0TKrU_x01`Xfb zm?Z8~JmOc4Lxq-fi`!aCQa9vy248PUNB_}>@9XwQ2s3+8A==VY&-`MBMlv%r;hLai zxKA7SnX3WRT4H>`6cW3%`JuJeTf48QIbN03jc{K4bWr+IYEfXz@Q?VakSndlON0nmudE zYrMcu|HxB3MBO(Qclld1HnWOkjau8TTGNj^5WAp+bfOJe8Uz8nezqS9u;%=Go*Iwp zvSwRETX1g`@1p8P6eK$IunStpMU72X<4}!}rO`C8!XZEu+w>j{Nu;Ha&M9O0!e!pb zz1MJr$J5;K)pUDsCN)>?%1{(0HOzyZnm0Oz0%u@!U?gL$SPIGN>c?AjEm_XkJjDD> zQ=dKC8ljO{>5WTWetlFRTNLmIGKs3ZtSG(w_PMmvkRU|G)C3R}lHZ=<&`kQoZ zceR>$S)Q{Z;T0(s3n6>6inJ2%Y)zg?7CX%RtZM%G`Dws?i7k<>TOoJG+AUkl6)$KF z;%vWX+FEH7prUjzC?C#*N&vlO%-Fgff@PAhhIRpY-O*|j;)nl*ANgrTRZ4yGUAF}? zOA3)|j2=(?Dis z#gVO=#^#2ajN{EFR5+LuTgruTQlwohB8KO+|bNvC0ZjD}Y1&eF|V6 z)DJwm$288nDDDMKtZti_;GWHz(uOz*!w}G+VJ6JXE6hs$J>D&S%nG2PZ$Oi}R)#a* zWJ?_9n~jb%xn7$#>%W*%NxLFqBh?h6Z)C-GMFo#7l}qBOA11LAy_uqAEx(*f6|05* zeRbjz4Uw^NHkX@1-+Oj5-M9Zo(tQtn0mpT(cj6@Q;$dj;P7}}vO=ONbe-D_*K4Sv= z>2&O_Cln4GE^1Du*49T&=8mMgwv)~s?a}*}i8rBk9DsJUwWrBd4RN+>O|&D$qp58A zxztcTB2RXuk9#W9j#_7|0ywnMB_HC~LhrVY{UBA&^`#;2#QN$WPz!%Ldnwhku-jPb z!TIjfz^IGims|vFTi2eROoKeQc6siQPuA!X2dWkb%=PX?z7VRJBwnEnu zngMkTO#*%^FMdH-BM!WCFXwHQt;Q=pyrU)^Jh&%am+Q;xw`l~tM5u-?pW-i9dOi()omN1T9ZOAu0vZC__-n;|UewTpqsBk}{SVk=E}Ht@ zOvm=NDPsd3XX)VR=yU z>l%w`c6$wKKol9dEvRy_2qlBsiaSO{nSwG45+7SVn^_z$xxPHp^aTJyeo+_~d_vI( zOm`iywqjZooM*S#cTy+^nyWaB`Aez1o!RLS$hH5A-xKvtTzkZiD0agEBq$)CAmC7L z*Ae=F`1kNd52|m0iGCE|(Qt&QIhHF0UqA5b&{)LJj;12B;#)3Q(_DU1aGToxk0xEI zlxd)XR+ZW6>AObJoB;*=o{XjhlASGf2Td{OfuH!&*TPolm5}uH^JRmnMDA@5QAA? zV#dQ7l~`VV{Z%)_INssRQGhNRxm~z*D;;XPH=TI+KpN`kPCFGuZ@>F~dK7U!%Zo7` z&^@%dy1`)W+O@Q6_rCP(v!~Oi9yK~LQi-mkPjbo^Bx6P6w(U)L(YC_rQij;0#oqas zUi;hhy;uIqfqP4Fd^UZ2<&~WNnw%aC^l$%{|2^I6xNR(2Oc;1j0?ES5K9z3uT~=@-3=H;XR)+TWjY49w)72{%A-)&W z@&LQA_xJ;U^b(KYbBeGIHa&{H3Wwa7>yA;*lnj691nPi;aPHzIgYucw-|gi!%BvJ) zhKQkR8k!)O1yICsttl%j{JlZ8fED$5gnd8Mv~&>qold|1`+u0;co-Rp|`t4LaP&cgO- zQ*xSimdAD8A90)raVLB#eeUx=uF=_=Zk#)9D`7t%5Hci5#$ud~+a2lq&%csBa!+pE zxt-xcU%Y%pA^UN9=bd-bxpU{7x9t$%>GbtK{}$Jl+Vs<3{$l!*Kl;mb^Tv(zi@)%z zitn)JDps@=<8_~-DY%%foV$Y#m5rz0LwISkUL#7>Fi%@WMr&&uRN@-y4UuZoVdvNC z@sF`o_+?Q-rc&e*wM!3K3*;VPqx8`C^0 z3k4DhMi8weObnE4ptsl0h1v-`J9pMVf?}JUX$s4&suE`YbvS8RGX#vLEgVj!X&?fv zscpbZ?3Zjcn?rbvXXp{`K5{T^&TpibKl~^ihQ5tDI}hG{IKA`U>rnEl^!P(}rQ080 zgN!xtd)^C4zM2aC%%g{oq!-`zz8^iB?tAcH`uO!rwh20?P@kU8PLrXX3Rv7efw_DO zF`~0ILa>Npo_6lDIdpD_|L|NIfu!FE6gZ!A4U4Zm9AQe0JBPR>oH%eKUFaA`)5=Yk z=q17lXi$N>0O=ZqxZmIr9gXTVP@s=+bVF0vx@)`lZ#Z4nAe7)L&f*l#Oqz~JW{q`R zJI2weOkskPI|G##VL5i}AVTg*C3uQ8kgJ>Gz_6tVh2mW``o=tJLQ{RMajG*Zjvj>Q z4-n_gned$0-JBjev@Lyj(Wu+Io~;nrQlw$_Jc9zUeeYh^)0Y`#&MHKO#0;Hk0}8%w zxs+)0mmGsd2Y{gR+`otP!H5@})ymOK0f^M^@KyGfVS7fh1SjQl^C>{#y zK=5?Lp0UZ4^IN_05%J#}XeId1b=wuy^XbFeW5jui=1ym0cqtv+(*XD|De)dGnIyz^ z-YgBlY9aTSp;45&qI76aBd|X&Ly_44na(cqiY*O#h$SrG7<2b{NmC{6@& z24Hai%8mNlTECc1Jn}Q*#C9OifW{%0e&!o2Pmd`wamzDBhe9F>9yGk*;4k8vZi@K< zGzEeOfXs}}b2e)M1`ni8^tSQI9>qMKbks@NT&eh7RA&zYDozpHZb@&vTa?;YsxWz z)^`hFP*m8QUVrnF_clL0fnqv^Rr<=f0j&E^`03N^}zmJIR8=DnyB6BOuzh-znMBUZTCI=aQfDFK1$h@ z=v`t#ctO`UG@I7Mq!%zrP#XfdQWNeOF)bI^F*p{}NA|AhDFH_AYc5Wm=$4&>qwGH$ zm7b^(IY2u__=LJD3d!IntE)AdnkJn5#sWoYFYCUlS`+rIz9ToZ!cX>D_yImU5PmsG zK_As|2!3N~=}5{;ic|M7c4vg0Z8T8fO&#L-sM2F|a1_4r=Yj$fJnzsr#D5CZIDUTo zy`+SHxS!!a`#tf_N1XIsi6SF!6^aKT6b$o#@P#%LM!TI+?8i1#aZte@*H;h+Ujd$n zE*w8MK)ih5h#-&=?#9}8|1m?)^A)V}e&DCRcBDB9DdX1csr1yt_dp(o(h3BoWp|xJ zQJmg0q6&fBC7os7YEk;~7mnhdLMt7fWn9)mU#b&&5XfD0)iZcd&b$i^kyb&v^6`16 z9lb(;*bwk`?_?>3-_$4ooq6>iB)xo{eIrg@VLEbTPx|QU)%4yiJSF41;61-~>Wbvc zMr^Rxjc01FW6Ler%&g0O_w04f1G}LhS(5RoR0RpCqV#vK(&-Q1P0zpZolJK!?`9SH z@?CeV!!!=9X$)^pf0v+ha`CO_@$nSGhlm~Pn%XlD?W0RqGo5U3Yo`>hh53AiaZ|6m zw(hP`XhXk(#DWKl7Giw10`&-*z_fs{)eAe0D>$?;1r@NSyMn-}ekSEr5*q1pV-4{1 za$l-9rrbseRm>@&v&*k50%m7CUP-a0x*W}AICCFY@w2Loy{1_(jYDw8iIHl&WMQb@ zb3^gJa5EKi^|($9Ic9|Y;QbFk6!xaBky9udIB(N@Qw7iwo%kGaOBJzI&{ewcC;~L_ z31WNa&S+|FJqpDgO>Gd#P;{?_7?g`atXYoDVjHFk&H0t-j%MP(cF)Yr^-9Ot)Ik8( zh%3MQzoFOokpc%dU=DU(yclzSfpQpgSlkUCyQQUk+@;OGV zgeTF#hEmz!IGs3jB0c)hrv&~zirzixu}^&=efrbSq(Ax7Z=|>0eKYkcWIK9C(j7nh zDyNJP$91!*n}IZiz%*Xy*sPgB+nl3VM6)QMUA=l8t!XHgKpX$nZ+$iW;eY&dg-&<+ zo!|X!jX_uX=69Y=pZ$@~qKWK;7*?P}Jelq~^icZXo!8RloO|Hf&VP6&v&J<PSEN*#{M{H`B}S^Hw*)ud>i4d`<5;)K17(lK%MF=QXV5yix1Z_fKC{)LX2g z`F`Qld5x&zm>a;=J2VD3#lP~?PozKl_AAEZ1?d-m{IN_y9AcS1-#>4Izbw1Dx>_FX z151jd0R@GI+L&#tF=rIctH$^xc!zzG?h_B}rRMK3X+ba13@y_cEKj@t_^t;~Jf6RD z4L7t%fwGxCd!jYHd8Ri_0vHM*nPoY=yCI^1*p5k36(|6cP~lLqW8*2f%2U61P@)0I z!nf?_ezCQxP>kT4?maEk+|}7ia~2I?1kL3DWO~qKXi>~;kvOVqHOY%aj%aJE#^h3f zf)wu<-+B#){ip>n%My3ki3UeD1bdTW?wqqwh~${Fu81Aw!S4GOc)m5bpE(;6re{7v zC|jbin(&Uy#`a4EX|5O)Q^QSYO*R3N1ClD-*Ztz@oVZgUL5)Mnmu;F{y>u$={?Q-T zKy{mZ)uck%J?!SD{hS)_XDoSWg`};Be*^gNmH6(#8C*bd$^)bXioV)&Ev23h*^=E( zqpoAn|Hh~LO|Ik+g?L4MYnl>+Dtg|Bs#bv&WNk4pUmVEuPEKoR=Dmj*WXtt#pveRm zy0WI4Bak9da}!jiaIwf&fSuSXk*~gFL6C7ecb=KWmrP+;dJh+fyW12>RT`Z>e&2Jc zt2>-JNYfR2izX7;n^viJK;_ZS!b`fPl~YpRu)@ojT+yAS!d|lkYznoc2Hk3z_NPX3 zJMTPHipymvXfum69P-y1dQN%nXnOzLt3+gqB%;9nj+awiX)N7gc}9@Eq&Qq&via71 zFD57}$~4c_>ExroC5AnYGBhi0&$us~QZ#5oqXX&T$3BBo9?c3trRqe^&zy_!iQaV2 z!X7L{fKiY{A+q7Sg^zQHvqQkuy5k5wYn>%T9|6I7fiO)_aLY0BUcxhn9&UclJy}fu z{@0#L&wu|PR3z5MCcuI%ILF0oYf~SA<-Da( z{b{QAlrHXGzfM!I)|DRI(Th4l|HG-LuY>EAGm_@JO}XVBC}$16duRWc$pe(Sxsh{} z>55zx&KYy!YXCY!eRLTc#oVvTxm{QS=bit^&uZWko(J98K&>10jNg0fT6*G%quw{m zRnDGAm8};`51=_rdspYv|MkaznjZS})Bc(GT74CZ`oH z>C}hsaDVAmmq3M0pmK73H{*~JHPJeH*aodeG zCvF%a(u{o@vC%UF0(k}@3Jyw#!DMEd6u#BrjU9!$UyLMWJ$;;gbW;F_8Z~ofqp<`0D$B7hChd&9E_Ee^QF)3`P#^$tyhyA3ZN0s zUxv66YW&<6Pp0p_dNsXz;dc7e!4@llr_(h-d+W+%nmO|vk5eN+#Zh^T3yi(Tp)IRk z+AuYr#AOM=$cDQV%N07V-Oh9!VQ?L$+apA4RT;lR0w-$6>5;DVg)jfC!r6$+i20lq zyxTm$#~(Q1W-S?=O{RN}?Twa^|Eq&*bUJkVmd%MiqkwTggtB2vxu(57IUY#bz!!iquQNbcgLYD3@-+1rQhaOAMzxJAd zqo|lQe${1-E!$>RU63vkIW36-g~b($S;dr&a}IK~tzj$VG6Z0{772A>aa!Oj#@(6} zT-2vU4hS#Gxg|@+>-+k4~EkSIVS4=~d z=bTZ8KqsS^Ry21S(-2k_N;pB1uS3BITd`8eOLI$AS`j#V`=@nZx=x+grsk-1hi#O$ z!Idm3FcngBcxv-FwUd(no&$FgNpuK^b3B#tobm1kaM%0eK56@dH#8flj)1)#)n-~T zkdqPgSpG6Rm)Z^-O6|4nY2WdqCJsl9{-KNzpW8jRY*f0S(AlQ@g=Ro=PoH^@W#A4z zxs9pC%ilS4Nio{wx%0(DH}EI~!K_q^i(Xc#D0DANE9;^E7LjQ1zWe=GQCwmJ;do{& zJwkLD>z+rU-3z|wG(K!>yP7e|nw|+uAH`>M;t9zzVgdImA>(f?>W~! z>7W1Bucw<({BQlkvo=yanHhb3{m=ha65_gW_X7lw&!zosyP%bW8P3;sH z2*dpCw2kmDXGTKZ(~>UsOj-XdNUhHcW~|vDG@+<2gy=0nRfCokHfDJeR3U!;1aae{ zK)pVXx7nO}^-XqLeCH^A!_0c;ACvcO=EijE{Gf=a5aS(Y(J^T#JpG1L?5B zddWG@<@$5Emnbz59OM3{kGG{W7YB^nAw8PDt+h3#9U5Fo{Wx^|Mko4{F?6j$b_0j< z(5^^WP}oKK5>urHmYu@{+YcM#=86k9XazEE4yJ)?am_v>Z_Nn13R{S9_}Hl z3XwI4%y5Q+60{BTUH7l5s?L^73CAYy#58FG>rL6O3QpMVs=Ok8YrgQwB zRTH=gO;dp}?3DYM6B{iT`iNvvlsdaoj<}v*)sTrDd5Y{cXDfX4!+9W_$4ey9VzW>a9tO?WP6Xq;7W&iKVesmhZZ0NNnL;H&uwLt7iz^q?C&j zvG)>}h#tt}IPrI(hIjx?YIHb1?c8MxW?u(g4ZgDT++1JA7Vnm(2TdoxJ;M!cXrv!` z;@7y=Jd`E}@8E&+PA}n9gV#QS&zvW2lxR@GY2kY>zm+c04Rpy7ojv{HCqLqTbd{by zpvN8K{tgsPGz&341iJkY^?v&X1{A*0)D5${{L;^VHNExzDd)%LPoPK+@Zg!fKbv}g z@MikelXqn_8{dBGrOf#V=Z!wGskCAvRV}oe3KXMK+~Nd-TdT?F?YnKdh#pYE`5_uu z@g=`xU9-h?$|9<89jUF^>V7I1p?!6Ygs&EfglkF&M(0hoN`ZJ;meYj)cY%Uz8s#V( z;8I;xoPO@%`{x0zJkwOv86^VwFS_l+1_M#MctUG z=0)$3bLPMl7d6P+d8umSCY!g{xEc|8L$?oWqN@O&D7s=Eaa$p}i^8(lSzHe8Yfex* z>5fLkRR@2-R5tbv+7H%Hgr-&LFTV4R zDrznL!WW-p?W%!7y{c`bIq@CyHCIgyMX9UfJs<$lYej?4*+9!VkUsd}we;Wq_8++KRon}L{Cc)+e7Ydzwza+7GNNOZVEPnk6I9&Wozy9) zLM(EK7bnM9d9c45>S|T9V(h1%euzi3Lo2BaNgy-+`zmU|v?A^O>x1bANwFY4?@+`w!I8uS5|Gf45VXSCdRy@^j5%FXs2O_sIb(nS&Az_dX33n4ut zeWMVE8PugP3;u^T{~9Jl%f`$8OIC597tu*To&BiBfvAK7Hwzelwkcz)$vEV3D<)b{)Up zLDR(=+neMo3ZbfyT25;YP#_65olOQEDRF;i5A5FpOc1Vo_}svgva@ZIc%hEKVU za`r~cnwq^(*w!5qLwPngl>M+NRPmxhgp^U`Anv(qyVD%^T{jrCAEM6Tip zAh_S_1UucMHk_4)qM8jF1g)u>59^riYV8$@!zd`n)5DLS(G}c0i!r8pQ=@ZMB7jz)8UbIRW8P=+qoAlB0AO=s4FpV3 zy=Hv9qNp2GJQtu8jX;98zwpRC>H0-eI>~sX1D9VRGQ}-r z_l~{ZcjB7<^Xc~ce_@lJMcYuoaB+Ml7DtFa^h2U5YY; zsv;3C0!C)#hiQfBq)~f?s-nK75tNJm<=n<9-ATYmHKaGhM@u^OW#i=nvA245EamiD zCofLSPD*wrQzMY+DfXke3Zg}^cEwp-#D$#|L#N%3brXOBfJ>}PU*BTeDimwRDLeg7QOnH`PB$b`Xt79TZ;4>!6@844}+GOixS<$dJI7NT$O z4v}P`#${Zy9*a!s>x)u{#Vf@H4HC9zCUG}4?XQmY#8OL_>O~5yQb>6Ti@|&`n;5OK zQI12`Q2<}-R@5s9Vy*a?&r^QL(?R!9@OjSRJv|?whhLw@$)A$D0{{yu)1)|22zmbE zGha4+E=$AL-c0}Mv;Q>R_~uJ#r9L+uBQo32VEow&&nlE`Yy^swrqp_M#Jl_b- zL_Nxf3KScGuLH`$Z+CI5&t!8V?I&WK!oQ6rJgd%AIN1cS<>Y0+m1#wD6vt5@W#P4N ziYE&IjCFA?#_2(qY-}vaY~n3YBz0clXaw+BGpU~Qc_F;ZR%p*^?x)oT)6RE@16yhf z2;18Hho|dK++}me^s_=ylFp&_I(0&8Q|Z zD3=9Ar6%2_-thr~XBq&F+rp~z?w)Pcbd1v+jY#a%1oW|Xd`3e!={uEa2CHzuOX^Ji z#ucpMQGxd^#L#cP^?v#%KXsDupD+IPA^y!R8lx2&kW=m>{XHC6B*)a=hA`lm*QMp4sY)e zVQ%`qYeCbCyWsQV*RuotR+NXnBA1RK3hdyvhrsZY&4?NT_b%#(Fp?~s8%#z0H&XT5 z2v9(rIB=xuYs0v|!(AVwcTc?~5nI71OB_A2+n9oY$jIz7hqrS%xRrXYo==_U-$~o{ z9~0R404j*K5bgwZAy#&y7?( zoR?_ZQs2ip z(>lg&7-VhpV~?L8gyYmP+>u`RA;HYKiwageC^ujtczOcdJcM?1j5~v_Gy-N_ZA-d- zQ#awoThVig_VM?U1Q0gi}ir{XNI-_21YyafvAN-3RfX@}c0S{l0sS z?lbJZVjQ)uU^M>saO!Xk^YC+XaL9uCF*g7#P%YTC2=V21y9>&mcVpRxRv z*V2?gdgS2IboRqHeRn@+!jUz~$yd}BQ&2leDYi>i);MVHM@7BECJ==fY!b(DU`m5x zvfyHUPvavUU3kI9YUVY9fmwlgLj&WOWkgzE`K7Pm$o3gYccf>Y`FvU>VqAn67nid1 zvCu@#sEaR#Zs6&;UrV~Z(o#O1)mziukDN#^zwr)n=zO|x_D$Q^K2*SRk$`3#d+0N1 zNU`zgQ%|LD{QmEy$G-H-=|BAW*HicP_tKC3*iWP%y!G<9E`F_FwBOt@?x_0fRYnX;`Obh1Dt3)&JngZ?fDoPlJ9i_4@xvuIoz%JJX--+m8e=yZDd^|#YM{l%X*#x6_$-+%sVFZD|L-QW4m z^nd){|538-NI&yqPot$=NUy&8b~<@zH?LqWG~8l>0s!)7by3pDNalv&K6nZ&REU$Z(&U;aLEXv>=j4rT@7oVe<=;`;|$~BB^`KEDc zZ{6aZ-Wn+DaTZ3Jfc3vh_cWD2NL*jV_VnbFPgxLBm>xQIMDRVGe(p=3#kDOY0Ltbf zFqeMT^E(LD=|_EO+t!*MJ=T;4-#e8CIGxIIl=<8zv4DQ^w^4i(3_|%VYiN zr9b=QG<-QMwFaU7klt*v8}y>Nn^#knsZ#Lp_wCuKNoP+tDlVXTRO0*Ie)E-d`Sk0l zs%D2FH_V*_HjaXsGmI4jI}E`)t+kdu7P`8-`l*orPX zn^&)1PPu3{c?ZB2>rwoKqr#jQ)!U$m4PR`YsFF^$YY*F~2}PIQDvfs%@|qHKi=D9seOqN6Q8H%? zv11b&+PE;9HgA2H8WhnZmOCx;0M25y8AxOq1UW|Ol^WgHKwE|HIYX>CB(~*+^_Tcr zS+c{)#wdK!WXhbvRKR;{q+hL|?&-dzA+uo-QtC<- z&C{9~lP-y4U9%Kk$`uNfSwH8#d!A0mk3Xuo=9FUMQdQSvg2RRA4bB@aJ5yyt19zux zjXytig~o1Fs=xcY@1*ZM_cn1JL>gMRq+nZtlx%vQ;g3Cse;fHX3h9^v1}AjWuP;py zcWZ1mybGItL$=?4>*D$Jrdr^!yYER)@4GK`{Ud4stIvCV-t{+LW=DBGUDkkQmuH!f z(3qe|)zx}__5!S<-p%7_Z{_^db*nrL`;0xDDt5KYEp!Q&ZicOeFB4SX*e+!qSF?Go8YdpD8XqM4arl97rKqfD* zma|n}I`=`RLf-`N%B@UuFbTw(;Rino@EKI_UuLzJuYMSt9k$`JjK%3z1$It)?d4v3 z5f}hK?=M|GV`_YZNRs;tkY#R)vx#P8WSkH7T2K1u;b;+B0=!r#b^ZG7w7tC*|M{ZH z%Ez3=XcW{b6=K|QOkKU7NA5c6UYRa81kH3wUO`V?HZjR-O>OySGgHK-N(l3+oeoyn z1TAM1>RlW4mg2e)n%huedILf|yS)z;D1a#y%PpgXV5N^lfw%|)Iirp2iBMYcl%AKfUu^-Kk=esF?&awMz zzP6&^h_Pp*m$T!_Mf|J{i%*V0yzZoSe8=*p=Je_}{~|5kd@t4LcJgYPpt~px0^+(4 zi2^ILE8K&Q02{>YRYIWi=Pglz2F-XeV`<}J=F134=604EV0h}=?9NkqsmBJ5IuTy7h9;o z)Y?>=&c5>^?p$=0P+my?4n=r4Fr4QMaR2c=sZ1~$Rd5F+Kb0}uj{xI_>pGSsf`H3cqM|V)#)bo~-!hhLYJG@J+^ZqzN1ns5Y|I&jacOybx^QX0_-&X-q&eeV z97t(RZBF{v|MTyqAAC?%w$euwi z6=k?f4pKgj^_l~gV?+~_mHMUwIBElE9HD*kNb~3kpBLK9~ylb`;Lz)OqaYcu~JuKA=s2D z9+pfmVv-QcPxkHHonCnHZKwp_OV6;M72CRwF>4*=#)xscw&Yi-wZUm zf`~8-@JqKqo6#8Zigl%?EBO$w@@nHUNKb85WvZ^M&J>+xUiNZGbrhAcT%lO9FNAKr z``){$t7{zLdxmNg7oSowo*F% zwpuP6p38(FQXn9gYSd;Fo$9tCYHL@%k+oCM$^_U>8`dSqrwuK zz(#zwErruij=eP*eyUeaQx>8vP35TZuf{7s3%ZRWa@R4-VRCk-YG~8`=9klKm-EtI zmOkbf(|~4FfzI@IfA_8QvuIf_y!9@GgL>a2<2a=Bx%V%n91ZNfC^{cs5{=q#2x-1G95gNkdYumZo4 zy8WSh4yU)M+qV&BwnMo)Ot%g-*Qd*GzL`e5@NFeOU4nJzZ19E#@qXzaASB&*l(E2| z#}sNwA}w;}XNITJNcS~v0h-jd1E~a>y|1w{y>;D`sfHUt6U)86NuJ)3{EG;l31W?r z!xB(`m_ae7I87{~HmrNMV_8Rda_@o`-!?UyAc{K4iKL^8J(r}hrKqfWePzrzQh%CI216idZDDYB7WtgyM=n52Hvj(_+a!Y)|QHY zp>D4dFULKD+=lHM1e1)&1Dd3DqN#HCF%Nnke$^AGA+e|?yynB7dBJtn5TaLVEV{aG zDl}ayWT?;-ptyQBr-wT}SL{Kj$}$3D<;@g#cu}CEB&k)&#BTBsq@No`mxXbq~38dweKa) zbq}wZ!fkKg%N}os=KC~iQ!@$yhnnsyent@oq%m=JYetWeE02a)Dz-|-N@n54eG!|1 z2O;EADP_>LI0R8R6gm5!{H1XVRL=Vtv^j z&hGuGqw`LB`cn_4+vp-I?lV_xE<`&akh5tI3RHoq>>$K>CTvz)2!4ro4*v*fOfw*#HJ@;3N;BD*$FdnZGR&-p(p|nSpW4nc(Nm z)q)OT(R4OX-d`u8WRpa@VtXTur-J!Wpqe4deg@!aoOmQE3RX3 z7$acD)JOvpZW2v(B^l5lKetwqsUR$cocF#$bHF{x{pstulXmRfj)K)~dexa4+~;gm zq-(vVMH=|vlP^!2^Z@iezJ5o8Mv$IuN1-)_fMU9=NB%d8> z(ReD_cpXU4%@%b4rSN=eEZ=D=uISZl&1#ZzHB5zKQxv>m#t`pZaG7HTyMEHMMV~Wy z2}VJjpAZbjJK}GdGhd*-3J13k9tPqZlb+D;t^4P&waY{8Yn-^Awk&bRab4j&q_0ak zyY}qEXp9k%oHw9~mWz=Ro!Hy{I$NWS`+|tar}#Wx_e2 zk?Q^KC%@qE&)f2JR!1-S9oU&(uwHy~29oMErRKpr- zRWUd+tf)3R8R#8#T~P>xT~Z<5wDFU!E8l@_Y1gUmEMsi0xq!&lZEZ}q(NdNL^q5J+ zYSvyp+p*=Txv4zezJQBLR1hPX9uyJ1I&^;v4s)bC98ZS@;P0~}7-QHKT+4MrvT_2h zcy^0|_cX+#6t{5-s-9o8OUKxvVDE(@WKl2U}fV-CKR*5u@ul(bbAH?u1i1^ zEX#F^`3jg=ZJJ$>lR7x4Z1V6ea9$Q59}nMmToRj2kAL9L~Xqg{#KwEy7U>HL*T zs0X-=@tJv+IzZgcU4EC5d?4cAlt43En9j?E{$aI}p(@468ZPbz?w#M~TddBgb zMusNSeFwMsEJ9uP<>*OU-X=~7%5M-By$K=Xo>mGC$kqVNoM4NzFP(Y!lwx~}rl{Tf zi9;)KK4hEd2s%fsi+%lC2kWCU%}#0h*6SD3{o5%iAZD>Ma2yg3mvRn+^IvZ@azVNS zt-ELf7Gf@4jD#z2i8;aV?c!{+4OQdxr5owTAA3{*tLcG6-X?UL8(F%=QB3XFN^$dEI#F6f69XLzCJD?FE%ZF+=etw^Rb#B-g4 z8qh5?7j^tv(UFEwH|jJsu`YX2!82uzZl3c{3egV~qkDXW-~IMhk=z0v2oW9`mUuRtpZ| ztj;M!zCp1H8e7EnC`&edkA)~yDQ997x+oTIh<6jb@hj?h@G9D33u~!`R5g&CO+|hP z)bgO*(~9L1&D~8R%2Jb)>?#uo)UC3%y^@^;DY(a1H^uGpy=k)Jw$D{`%ce!X>#TQI z`6o^juCjpKftFIF04OZxnGVe>LcfZ{Sj*{Rk^W^<5x7N?kL{abxtY(kBai*(vZk^; zuRC?#`5-N2<7%Qqt(%N($vq5MFmC30(%x)C<@Fxgih)$Souwk~cUc)Nf(gx$!z~Ky zJ3Ofup>W$Wn@-o{%We~(WzB1rGqi+WFa;gWGJ(m#i_Zf@Ez5^fQ2r3qUB1L&q)qG< zX9_eNCB=|nOE9)>WsxY}&u9QQA^7pqwgXNE1_^F!YxOt42gPP-6^fU}>*7c6YhJmN zK;Ooloo{{T1v-KoXb*Ce_b6glAl>1-6XL1za@=EQqDV8bWNH!P>mq#F;C@a{LiU`~ zaFGZ=p%`!wXSP`3aIC_VLPN5_3>eFdn4XFo*Gqg_i4bqZ(i_pJYxlf{}7 z?Xj%JQYOwAi}|(=dSA7%8GiksoRGUg8?$9yzAf@zKtsij8B~aHA&LrR!}ZR^;w{%2 zn>53KpkAZbOT*OI$ju1HI)I^@c=g$v)c}%N!&*~sz)!Aw%9cFy=UQnA0w@}`eYcpt ztAshYkQbvNLfB0_C0teWTlREmO~QEBbTNE3bUpJGqVP7Rp6s zt7p%R1f3;JBl_8}R=VCRy|*+i#g?()@ehT~CVHc1*q{c;7Av<@7o^LV`<%;a&GVp! zmaQjXCy)C~U#EQptbWIC-cGyfH87|mA$lD}*$oGfEk({Lz%bjY^($x2__L^Orc-SN zD1mEd)363@X}-_8ckjMG5zDA2#YQZ+`d4S9Np`p3o2HS_VsrkcE(5=P&+MhMN0P8);>K;fqbVIudHU9KFQxweYw6i<|8)kDX~5~7bwfV$Ia!LNQURtw5Zv5YNQd^~)h0-pK)0Yn3w3CFdwZ%>{46OR*Ku%{ z78N%hZfO;cmG3xdS;725nPQJM-WW1FTQQH;HATRqRPP&vxDYj>ZIqb;I2h4#7^Y&i~s|Ep3c)iszrG}Na%*9LWLy5mU; z9JVQ37uolCVI~CbVxJv+@XRxF?Hjq2?uv&|*HA?vE$!kcN=8QT!=1C~oiqO((uCtR zF@YcaT-w&$rpxc=x%^o?T5H&yfpX%g*zmKgkk1i3qXC;1h!+KdRmJv(#;vlf%0IIk z(_sDDum3j0woSsZg8kYpg3jF3Gt%oGSlw(Szb3g?RMn==E@tp8yIGO#NbPMb-EQ5{ zTnJE-X^|1+v_qe*;VG0rDyktqeG&xPPC0+wx+bU**tk?u3m)CNvt90t7Aj6_w+08= z{T0aKjE2ou@UNoC$oIS#&_9Ox?_Rlm2VI~lef6JyCH>Xk{(Z_4G#`HG2sC4RdiJ~D zB?fvRBdD7(DX4AW73zAjAVk6AI=r`C@^=mtu|opIXC63~-hKOd!K05ja)+*XDfQlr z>$eq3z#Am|9U9l58B47}v3qg!I=LKPeQ{$8T3=C&QF**Sgt+;!`n3({vFKIZoY3c;}ffAsu+ z|9?z^rqg>jZlp#W%Uf3|-h)?a6d0?pyGMyao!Kdf%NQ}|T%Ziz;d58I)zj>m<~wXL zd@$Yf*n{bv3m4L<8<)~Qd+Kv(#+JYN?%}kvmcz}vFIhMtfIE{xw~E3rc(w6P&dyp4 zp|KmqpWXB4m$JGO6U>KgEF zvimE5j8rRZYbE4RaEJJ`(1@{Eb2z5?Dbvgx*g;fz#Ts93CpEn1X7EtY@gp8LwW>pR zi4AGl?%67S=&=87h|wFy$CJF7%OLR+!?y_PwkND>Z@y$eGct{qlBf8OMJJ6W0e6Nq zzRmkk-Rd%Qq%5?KJdJ6rXV#Kl&)@R6Vg7i$QvUJQj_)M$@t2XLL)WrblBuKbf`@DqT@v zh6W{;cH}993*xyJR1?smQ)%WG`A&oD`D5cF=GcM>`OSrB_f4?gqz$-ulMY9IDc)sV z4Y90H_{^|ibl{zhY1ct(1Dptd*nEQZ*iEoJIha~Y1O4h3s|wPM8^qj@&h6W)H4T=? znAX*6WJ1+*`D65~32(Rtp{}`#*o+XaqXSYhVUp<_5wPC6c@em@EXPfV$reUrTPCA< zD&`(>{{!us&k1dh9b_GL}a(5WCCE>s?c)SZCTc zIA;`pe;V)YH_C6xJA`_4DH9t>3`Kh$?$j;1? zjWd=(J$~|}yfm!nC{1sjyTBsP&raCv1ehOWou2VBG!azk@%KnU!Hfi z7ln|tnk8h|w9exg;{@a42ihJ!$LrAc4Zhd~-qF%h`U;acPtEz&xS-3;E9l31HJO%C z?Kq-xSniU$P-W!pF=sTWDf97PI&=2@45g`wCZXfjK&EMk^S$C4 zVsbhj?m~-|a*QU=Ijtd5ud3mfZn__a1~DaxO|N<4S~v(rQ&$EUx^)ZMU0bP99(Beo zViBWa_rvZ3tnnr{gxd# zd1`^kFv(L|NOW9&-536`7aRe7t@bC^>YeAT-`x|5%)Jo;#d?Q9(m+=dh4wZ ze7^2kg?|0onY6QQce;s>)!%Py24yQ@L$tNJ#T$as(A;1|_K`2;1@ZlJqo5J+$|UVy z{hxlrI_HxFj-9DS0sYE57Zh@WLDg1@|BLvL#p$z8eHy}jJsqTWFM+1K`PNy1u8i<% z2cJf3KS#%m_HU%)hxev$|KPcFWdGi@ecLV~oy+O#-}-i{ln~b>lQGnShWch`Wmm?T z!mur)$llSu6W6#i(*Z9jn5Ut2xe{8AL!d#!8KqRmCp`J!vCIfQkIlxof9&6jZeiXorKn!HVV(W$~~rcl#xPlJxaI`v-!z zT=!{Ly3uvROAXx>H16m4P)x{l`Q|OOg!@u=$8`mb@l#K4+Oy}VpLaR6`<_A0Up4-| z_x`&CXo(8KJFlpkR|su!-CH0ev937J3l%2jQ3Mte$22rSyrG2aYYGX1oNxcb_cb00 zE92?#3g5Ziy^>7Ae>q;}o{rA+sYj1xoG<1f38ltF@4kK^U4{6UIJkk#*C-sfq8J=9 zrrx)wIsN%JziC9SQR7l__{jeB;rZJTz^v4YCNa0@UJ;l5%FlgKVZFdcahIfHHK`Xn z#|w}xx@|ypypx&$UZtVdSAb4T_6i0$83&dcsO})t)FC#~;c7D2Be)2Bo@1o2Xk0>Q zP^O5Cz;WvBcbwN-0&#G|jWvyH;_vZSY+WkAsmsPQeDD#^rcBV0)Hh66mIde-1yw7y zqO*;J6#s2OQaHGKpBJ1>+Mw-Of?{1=bNbtF{#`ox|zJ0mf!;O1?I2z>9`|5+l9#xj>5^zZjY!Z0 zBg8ESG#&jd%9cucae<2mM^gr$ocT6(S_=0Ek-lKb5*~zbGO8jx$r8 zSy=SU=YJG!;{>neQLDPk6~clhK3kQMV>hJi#NnM542-5{|Lw1{e1o!<*JzIVOtDxt z;&abg=Ch#4tE#NEfFbPYjG(2QZ8ee)^fA6`G2UE*G41Dm;%CyD;=k>PZD;(OuMTvl zr|-H4io!{wr7k`DAO912+Eob@#VVek=e@*PqEzCGtx_RwSvPVGSh^A|A%gG_o_nl^ zp1_3@A4p~U??QEmt!S%8v()(=-5I2`K~e}8h{cxA@Rhqr!L+Utny@Din{~%D*8-su6&Sw`k9B*xz1Izpz~bcGy)T7DhjE& zv0LZ`QD|{HfYgO9BfObsC8Itot49>6*$V6^u!>5ccM#Fo99ZCcx9;J!E4dBROst{0Dlfl1S^C!+A|Me8?G)&|#ZRc%?ZG-Q*ev3SYYP>3^wlm?iu{ z34s7EJ2N3xi-i*b>V${<6g#YH@B6;G_fx(m^fu~O*I2QnEQa`5xf^H_`%BZMkDyta zg$-1h6`;}RP)=qk(;6ha0kE-^GlsH_zNKHBhn{h5sj1CFzMByD%jLnR=6>9Gu#uAQfaU@?%iUxlf;1JZb z-~HGBD!u*P|CU~S>4)eBfE8d)ETIW%MUGsy;GPu}*QWg~hv`7FQ|HKe09ZY$qXq*n zy0&dOb=@Fjwm+e~wBGfZ5JM3+vP;DIpr6e;duudUb?MUiJAj`CXA*>jn;vd60A%k! zPw&z)zYi7kCc!LPM#Sm(&b36kn}Ch25b_O0dQ87lK^uXm^D);)9|JMx8dF_YlgVKN zgHT{O#LS{%nUH-y^vrNi%3y2MM|QIZPB!?IC0!! zJL_zoeX_}J{A9Cfj^e~|;>59B6;rZ`RVhl8M6r_~(TLs$Gnn3cpV{B}n1uy{82rok z-S6I0-t(UK)MWCJF}{3kAcH2M)&qnAjBDRqgl5BD2+SfOdhh%o-o0mm|GlYf(X0c_ zdI6LHgev%~8i{hh3iAqw6>A+JOI0}zGqHl|s(K()RGUMb#E zY_DGjbJgSjFNzm7*>ep7;5qb;n9|%reo^v^r#}acUI92XHFnz9<>`dplYIvdqziAH z<;N-Qcz)3fR7Y;LK%m&!#Wy=!#b}o+D^cY|OM)5~3*2LH*GimYNb?&nUBkI=at@&j zu5ppH-i&i!tI9jl4+N9w-09Q5H63XKC9;NE$}1{))6|HZ;e0-7zTmJ%e!VgSFFTh8 z!0qnH#2DthCum(U*C892f^IUdN>avWA2`^8eyIn^aHt}$DRgcIM?*mkm?gd(iuZ_J zimY#E8&QVgI~m=qb?+YXKM%4$_JI9f!l&jrZ*zb;P?fz}#73|yY(h;gn$3!Y!r9|t z&>_WW_P_$6hd@(uRi`2jD3s8xi8X4w-!PkmUzW&Ci3?W5VT&@pypE2R-`%pM3knl* zAPhA`CM2yU=8P0>?Me%T?XNSg2ai3<@zC(~aJxC|5Xz2hCK~Z>3qZ@Ep+!Z-xRD$$ z^s-C_aPEo`-yFclpL$w`eNM?0UJ@vmvAEHZn*UeCh;E;3A#QrRmrI**{NH zI>^8D(iKyGI%soN2rPHfr5-a5wKlzd@<#gLgU6u;BN@`L1hLt%qs^fRBz#fHTV^~* zN#pf5(x3kEpUBW!(@SUHNk94S4+xiEaoFa`7i}|6wpNgQJqv!u$A>ZmD&MBxvbkNr zIGG-M?7{TOr++%V`28ue2(eech7scq+&voSLt}?jt*$C zK^y|MC5+>=77_aNN3}N35e#RUaZTw9;PiWJ6kP!Ly$i%;n*b1|Mir@No4Cu5te)%VLu;uy^kC zx@Hc^davSGZk1@fdGa!@`*{a(#duf}J|n0g4De9@#cX{l8S%k^9+MW|NiVdF;I7uX)FtFerYhrW-gA-GeoQHphdLU@0E8M2^>>)csQC|9o0J-%i?U)P9u4d1IfT|9FZ z)#fVssq>ubfNQ;yu3xy2p8VM3_}Sy>m6PwL2M+I1+QseV2u4OY3_-|?ue_b!JaI8= zD0%19MN(Nlmy*iP{o7^SMyNxlA}9{jdr|{QXqES&7DZWVS;ASTe;^Qw90=GHbYNW9 z`4Y#sz#2yxYHJrgUi6*UPuxs9jIzFQNkds=;_fR(<+fJixl&DFYBaLsr-Mi8JxkOg z`!Y&h!3SRVIpeBLwa~w=ty>|VfzGKCsIUxbQVe;YVD-HBCRLD<4?*|~)6J6?(=(rY zGMzZnEwEJn-n&h?_ojv!6{2c7-=6myoMQ#2cjf$*^!i(GXNc%Ln^F>v3zv6FgQ~I* zLkNKqpiFyqG2SS+lI0~PPP$(kmE*_rTQGwD&V_XCvi*f4c<=80s%b@9#^S_Txs*+p8-B(B@6eDX;ZNDrwou z!3O25Jzc$hU6qD|^V%ldY(;yv^C~{4@y-yfyp=Hxjyuw;=qm)nplT==oaHdYwnU&j zhtIb}QR9wMGE-xXl_Z1n<5!H(E)ak$Q@bcpN?%t(U(~R;=5PgnFwmLc7tcXc2Pan2 z_FV^3i2!8$%uAFe?r8M9n(EhZ>v4_OXM5ASq++GU82Vv=%0w?Nr6w^!{Z##3X{rBO z%J+Tc9Np}sYF=rRJx-=jFc!g3l>l$fxh<^RoSL`qO$A*C1xKiN_VF-|daZyuIFGUC z13@b0hinuLlqemBz~n4;r}xfWG51sM8TYTE zqgpTvFp0q(ksJ-P4Re92sl<(=v@ILEK5Kes2T8knG`}|_r?b$=8N9Uok_O1%lpu?m z3M8)(b)mhrQF3hrF_bqro-2a696?;G_vXhmP$=gZx>c#fa#54qL%Z(=Xsl$T+;6b! zZ7nS-0As1DmD)wm6_S2E>6_nw6OD*Ul_0znkWh>Bo8w%D;!F-3UR^^u2fA2nO+pc? zCiu0^%O(k7i3BhjD$0R1`QE=twWQ3Ms?xY0)zC)ZPEhNr>gr9{71(+Y+$iPK_kNq7 z>XQ6dqERjj=BD|obrhX>K?!Dr<6#d%^=8Qrj`m*wOhm<5b+)u7wRVtCyVQr<4)rT< z6aZ~j1!&dRAqa#-&+^|&K-u-(xix8zMRKYaCibJVS-}QHQ(BqeCZzBRQ8N3?U!iS7tScvvVV3w^DmYofV^cp=tnc^oTNix3Wg#v%r06W>dQ7$ZmZO+x_RlqH&oRXakLR2oSjnyr|NbvjKd_+qG}o@0Q4za{Z3TW0G{; zoWQuGsKzF@aRd&zrMmp<+ig@CKIh%FQ%R384J0mxmc+R1R?vJEC-BlMFVL3k)4a5l zKKqM5lkPrzG=2F?&ncTUWWjfphc_O3z!i$Zey?luVD+2{Z`k!C?L+JAbjdyM7YhQoP zqG-@)Y)P*Pe4^eQov17Gc>?K6N}^<`7?8P%q4Zz>^M5knVt@L-{?FevLGQ8j%+Gw* z(2cJ2$DjXvdisg`(mhask2-jF?`ck-d-holmje^L%sZ4b0{dA(P4ni>#$aB|BVhhuOLx-*Ta=Q4=t7$u9S_HYt6PW5FB2F&L zvZ*(8j6Zz$PWFx_b(Eh47R8KTp7*UgFeMzvCa7Aa;Tym9tG}IYT)QohQHJK^i>Y>u zxVEWrleso*aHap48ui$t52e5U;-70ecsrdrVNeCxt?p}dLvNf*L+& zgAd*7x*PE%TQp}jrX5@BQc$etQs8WN!S16lTT)4 z&>g#Wq+L6^GKoPgNA5+CbJwBNqzP=pLA-eSqLR5S!ubXjCq|YA{uRMchT^#SM$ejHm-3AtQV`YYscvL;>5H3uqH z-`0e7MB+u5c_VoLo|D$vlz3pX4S5z!`N`Fe+SjjQTl})c+(zXD{}aMEq?)lvyEr(>;;pkM^GQRhrPN#y>7bXEj;7>2ewg6 z&}8$bK@px+y=KZ*6sdFPhSDm9mAiH{rXN9thM`J3w^vH8RF6n$<_TP4(pM-3O)HT` zV0i4%&NOiGVp^f!x~hy=3LVQoB5jA@0q>K2%oX_6 zHg8TP^;>Y`@dlMNhp5K1nz}cDuGBvg)hQJxpSP)i7Cj`oP%vE_P68h%blF!0pPOn> z!ZZp6Ulv=~y`z25c8^L<@cEbYZ3Lxl$L`(f&<8)A#@Uv9^s7op4=^W{*Fw&m@wpk3 zH}zgD;QWpb45kn45RgP8on)%qeYI{#Zf?G92v51ng{C^-LN3*uKnWWgx29QD%YzR- zsp8q6mZt=`)mu~U*5gKiQwymKgb9%2wGlk808z5@8;P)le_ax_Ud$GkY!>+3Nd-`@ zoOM)?a!K18Kg`y=wKcwLE?qd&r#ff6y;A=CocH4|1)XdrK%$Ies>2_!FelLpdCnY% zqPlq{4e2ZBxkFKfl8_>tJ&uCltVCro6i!09CK_YM{P(;7HxS#(eD}x+ggVH)pl041 z6;UMl3xb}U^x=E&QwIvZYdrVDtn$!?+yAX^d?!8h*c0hS_tkXe`mlyP0h==SxTIqS zNDw_LBO_y;o2D;~+7ZakquvD{d=6+4!NIuZ*ciky#Rtzj1M&AcuNkw~7oDwXU`kLb zdZWT@P5b!F;J!}?0@nn93#d73e!gx0A%04-*?&bM;=DoHLzN*=zvu?rPz7i(7%0?a zhK46qJn_t%sA%X_X>IvXDk7UXF?rkf32xE%#@t7N>Qp9kM#W^E?V~XU4A5W0-$f&P z^dwYB#A0e~4QkKa^0;+IA?kp}+P88!zz2C%XRQcDBBVxlbV{~8-{J}?EF}^GJG7cT znzbi`8psp-T!B(lnj}T*Ay+3!n%7vmZ-0yLr3bBvy+PwxX=uQ{_OfTqZ#HEMZZdm{wmizXrNWKWYoEA+tMuY zv9Ijo+gHaj>Q|0Ra#T>G2|cKj_1D=19zmCq_|tgJwDb72jOnY_e=;28zv65UCam9#TcWajQ>qAt@ZDIKw8- z&-b`?HphNxwkPJrB;}W%lCFFz&e1P2L&-=IS-SM&)Y+uM*8e>S zHuaPIL3=naz4;d9r&__5`^wRnUWooXhE^83^0^YZRcbQPkFjDe=Ce(!Vv6Z}y?;*U znzdX2%H`EIRQ~SVicW3KS7FWafQ58jfI=A zs6YSre>?rf4_-_6-hX%co9DipP6#wcG@d+oWG7g?&=8Y>^znQ47!AFj(V`pybKkRT zr$C0J)XCSc5`edi~w3EVZqZg2l}n>7jjxW!1Il7R`(p<4A9`)*}DH&weUx zlMFO8Yv^LMBm0h0*5`l!-=+WbAAgS`$e;ldH=sqm>Fy_fDxIQM@ujam&tNIdTj+zw zAHk(09d_oFvCuyS!8>XbG^IcNZ+~tWL1p^T6Hh??4yC{S-jC9|XD(!=htQDCgH%_! z=Rf_kzi=?Fr^=AhQ{EoLJw4yunyWq>o3W$5I{l4dC|5!zsR%EMddlC8^rB z^sB%1YYfV!boB1M8fA{AyN}VhbXVQ>T z6>QeVzmZ;i`-L=-#~~_xEUd~H_p~7S*OSDnPu+v>rcZwANsj+!`trBFV%+sJ41h8g zKI*LdRD?~VoYK{S(e(HJ-rsSZ!vg!0sl0h>Dw1sFDbs`;+0XydZ>BMlY_*$PAR~1q zBT|F7` zC|Vyb_XUCOnshZ9j}|%hKsA;H3K38&y8nX`xMG~KGR;e26hhR$PSe)*9qm~YYj8sI z=~+j>5x>`zoxqYBGXzBfkG%&DXXst%62J1s8A!3l1YR>6HS91i30lGliIAaTjp+^~ zzf=jePLMD?F_KX#=4ITWaT|QQP(*QlT^qF7wTPSk*Zwv3)^L^bN|lAVC}~p*QG(Ca z9d8x~ghI0oD$j!Qf0STDS}F83%gU9JH5)#9SEr`gqSVz!1Pb>`;AQ;sUjuJ+aRNY@R68X)>bQPO-_(EPXn2f9lKbpbVEy8$>Q`UZ05 zzDdV?By}{CzEa`ZgsSn)AN)iDbgyJX$&pj3SJj!Ol|F5+EiIEs#c4&>=K;) zT}IJDF)Q%Z3!zezIF%!PeF8yf3Z;u(0?3_PJ5mk@9aF9fAimemyw3Rp1K5#q31AF@ zS@l^{_TSb+$2>Cw3$~ykG_~O-4rQh7GEQd+x*Ph-%bfcx9&E7&pg@r}@3}kWw?d-& zs3f539NV+aB+F4%t;y8U5vl-^C+Z(#5S?7*#z3G}*qzUQ_(94ISM3RsYb8rrQhvSX zj^NR0;+S$(x?-R~-{sS3cCbgeQ4(2E4WVC1SB)pGaYv(Fr{odMtq{6j zQn@9~R_sdMlqnja`DY~!vqk7@^!MBL-<1k*dSirh$j)u3Cf%WmGUZ-Matv63el~H^ zue|(K!BC66JM5g0PU}L+BmLD)Jz={(f;G=LoZ6DlNciWW*x>O7at66HHm1SNC#vsQLMFGah?NPq@pH^-rw^Z6w>#rYAe3;vty z8Sx`}2hHRd?d_BGK`gv%#dYOOEmu!`2 z$}2)a%D1;`B-%L;+A1=R#jd%69|=BZrQtoH9uk$~;N_P~A`AKL3VR_M>Erd$9Gx|F z>nY0jZ^eFICU}T*79*Tv%yJ1Eh{Tr8ow}YOm%AI$#Z<_c14y~=C}9W1zSWwo9YvL6 zG@wOmD;c|SRg+)!j(!u|RIE0D@bi#1+Gt z%5acFrY!95ByQ{iI#MV?&CIBHv-zPTtUkiOG@x5SpV?H$FU|HsRnfbarpAF0lhiEq zen>E)2O{=N$L4y-XT$}RHrVBu5bIlj4+byML9Y~O4h&Mn+R~;{039Va8I_nweB>Ic zQ-%fEb0ut1R5=5FSwjto>RD7$Y8xU5HN}_Bsf>njiJseYFX%Duw*m6K0rUv^tC9<( zAI(VOw!RTVg4lRxKPJbP7A>nf`J4iD%xPSIRpJ=3cJ*QpWOqq`s$Z!9wepsE4-(vN zREIgXab{8C!mmW~J0ocl9W4_u9{@s zb$u;)_R%DzrfGv-9)0LO-1w{69EPguR>y5FJ^G=K8-GsGV?YH_qByPJW>w$Dy5znc zmwKDvzZPhD={+)V)+{u@hsp3ZvL&r;=4TAjr5}YXtCFp)(9u_2y4}q}7i?nV-ltyn z-0pTA?5X(Uzeb=G1$ zJ1f&R$C)z{1#8pOcRK@gI@|A6^=C&sx$SMkscP(0DjhSxEf>wFu1n*5iz=yVpfl8@ z7a`}!@jV*{_P3|*ZZrm^hzc5eD-7?*T#xa{Z3Y?ir$;{ew18RWz361bb7mM~NJW`! zX$ZNS_Jqk-(Oj38E}ncP^)JbQ1a6IOt?BPP`}fl~zWWVy06MFJyoq6fFK&OX?$_P4 zruW?Scaw#(Gw(TA1H~+yu zNMHNgZ>7r@&odSzoCI4%5Uh^&t!elEJ?VSj`wk?AgU20X(orBb(lgIIldXYAickH1 z2WTLj(U=fHVl?hVL4A!iiXd!8gtY90<~iIepua*vU;Mm4*)1mX{P@KeNx&4P7hZoG z_sp?yKvtuS$jO93jRP7%WpU|Z`o!apdJaEO2A7e#E|)~izmcJSzwF!?DB+e}g3is* z3n+v`E{uQwko&LDTOFoO!bX$WdpUjPGoMU<@&zdN*^|mtLDJ{Dlm^?-Y=%dBl~31v zRx>{u(p$P|saO=2L=(s6tbro9SUIlIsdaeifA;cw&^YCF>lvS! zi&j(+*4@2_;ayaQUxaGB{My^;#g|?+f|nwIXBcQ_pdN8g@hj8`9((Koj<3mc&XMee zq6fq>>M^;Tt7o~&VWYh&(Hgvh;~0+5l4YMYi64LV+`05KKlAhHFaGug_e^ZR*%Zpr ze&`f60tddxa}6gj$I(=7X)qdniS(AB7ai(b-+M9fP2?a2qpmkUraa-x%4u=c@X;Wx zp#oFGfR8Bq6_L8zy0uh5r0EU^K02K1DOxU3ofUe`()gnVMZ9C`y9Rb4DWT0NV7`l*AdaO|w=j}oe5 z`tjp#5gNBvbu2aBr=%}Idf|tEn;y95Ksx=#=Tk%OUuTY|p!zRU=aCPkZ+z!RB-^^s zey(R#p>KcXOZM6jWR=s9Y>xPE@nt$EKyPVn_RIzQ+uKxpZqX?ZZd`fN8sRme8ncqo zuWsJDLKk@{9enuN^w!I78&1@cmpOm{06+jqL_t)LE~#GRYUmBQyN4dRmqegS*Dw8I z`orJ*muMN_~N&@_&`6lJMn@8NXSeyZI>x~-x}5K*26IhQraX7fFt zNgp<#W=7Zh53U(vB5>X-X&Qv`jW`2^nwCC7I`jDxrnT7{m8x`+l&uR0j_%!te|tME zp_yz#iD}z;STcYvR)BW>?USjDddbS-RBCsw2Q&(X z(!eJ^@kn~%NAIMf=5|3*V_F@##TlwF2&$j>&R zVRv%@B4q;e*&#z~$^|?lIKyM;evVuW+8XBEHy_fwaoL14iR&tg)|%$RIoU=ak5kS= zXt!2Xwx*({*3`>q6iObhoA9|y06p)T+IHNVswB>Z&i}IMlSR(;gk&%j8bSj&50W=E zfwtkyhbmH>!{BX(<6P4?w%-3-x_aR>L=um@ut8EYogO$?n!feJGw40#>CjyooqNxb zQFHD!c*mr* z@Vtn+k?Y<cJM3J!=Fs6;R14>$)%PBMSOd9aW83a6{24v$8-O2sE}EDF8Q-&WPkQgY6MTav zM5ykytCVusrV-rWsFH=BTakbV{h(M791?}m7Z83kuBS-S6~IR{hA*L^a(<}@THMik zK%@1=RAuu`qAA=QGR04|GlJ}04}Xq*xx!wmI4x6g@aG#pc+sGwYLhwF>;r3WJqpDj zW#$*u@Ue@MyrOcP-+mI4c~RE)Oq`Wy(40{X-VAtLM$cOzp}MS!71IKj1jR8Rs0jV3 z%6s!yOc+M%=^Gx)Dp{dlo)7$}aBe2WJ!>QqEBH{kQKn;kc>i9>4_fM}v#v!0;r7jJ zK~POnI`P^y6rnAtyvC_TOSo}$8Wl+eQWJTvM1BFnA5^C3O^Rfo3e73Uo*Y9@jdK!| z%K&*ovM>_AA&GBu3;Gdo?zX;^B1wOP9-QFFhiX+^YfVE8C!*=@`iu4G#PE{ocYw(O@&1=H$QG4$RZY3^(Uz? zhq~EgkMHLnP8pPTP@FfIHgB&JYxKAugMR=CX|XEpI|`VS&>cVA?ttE*lMUUT)VJZe zuP)W8U@n?+TZIZn;f4)5ed%1B0W@-YE#G7dh;6Il(241w{Kq-_wpwa(EQqF z=Nlk_6|jISKQ=)t9C$E<{?ln3`_$xAItENMYv19$q}hzkRB9+j4H+Xt(%I3O{*QnB+e)P^Sx|Z7%B3`={BcE~E^X znIWvMw5}7w>97CnFVhDEjd4)JlA$=sO*BX~H>QgmOmwJ5u)JbJ2Yn+D)Oej7HNErZ zPaxh;+3>A0Ih;&cYc#<{`7*Sq3pkB1m@WR@JKZP4XR}8$h@97VGMIiAhST{L=_p$( z>%RQjONJK|r;{oPtMN167e5b9T}auLS1CCuX@%hmt!34@>@^u8fC{hyZqsNH`4IHM@~nBT1=eX5l_5SmnhL_8yFjA#T_#Xo z({X$!9p2TIzVqB)8rD#gK8!YT4U&|r=|D{DS6~kUT0E*XC7BIDZJ@j{tYXKmj_i5I z^LYQh-_N$+cM_)U-M;2IE~Q)7C1A>v;c$=yvNex2nujV?P-uxk2;p#|S!qc`7l=+01 zb;!8p;N`DL7IxypjSf?3m3>!9Oq*LarQREY8&0P~x$Mf#Y0g0j*=KBPR$`nmYPqWh z;=67n`HUp`Kx!yv@CC$gQs>!NZZbXemeN^%s?8ZqBSjioluXBP{c9NaLn>%!xrV89 zWi*uaj=xB!8MQralETFwrk<<+DgpOo{kCDtKTTIgkE#G|PK}zxVkGp1_s&9O3YDwB z4TkE z-~PWfFp;fOhW^lA`%q)#J_(-g8S+7EDE7 zL4um&vS+*N%HSLxHrAhva^w_w_W>M^9O^Zd}K*=UyYh+Q>ED_~7H|$IpK?qtWEqzuY5^yd)R8 zTvR~`!gFXj`nZO-z3Ix^n#fxBq#b+i7jWyH;ngcN9u-|bk$TU)Xgs(CxW=AE-Me}A z3MH0y31hc?9jXsb3EIkagSz%S`dB*i;&(DRmjX_y*ghz8{suG!wgPj;1!8;mA5j+W zP96Imp>ENTW@z=wIyiGx6jizZf3*3mAg7p34waCw2UFp6S-k2>oZfs5czthBgSnpZ zaLX!=K*Behu=c9vt?Be`H)Nb7=r}35x&{gyoe$evdFk?vv+2OjM^pLAsdVQ2X?tTU zO2SoAiISLNn!3}s`4eg@?0%Mbd(W((rIgRiQ*jA&H>$58Lsz0f?Bh>;n)DeCCW=(3 zrBrQlm{AC#@w!2S;7>pC0n7!czcmVZw@GMrKENZU8Gimxzmduy%z3^mdNs0f#q4BA zaE1*I04U74pSX4n(*c60cxC>}da&qT#~wvc?|s3AUc=*z;F#Hxyx{6)&t1XSXDvs7 z=;twB`TZbU04q>j6+9P(jk7;Wa|By0$J0AKXOSZ$3^VWfzOZ{58YNKsR3k^n`cjPb zK6Cw+MmIF4vR3n@Xo!#Ds7F$?rI`d#r1t8@1LXBxbz*}3+#tGVk<`IGe zK++5#iiWUAn4$_E>JVGIaK(p|=k3?6J9j5>Sc0!BLe283h{J~Q zqZ_@yBKllZa{6(*R{)^43O^e@%enTv3so@+*``R#V!s416+W=8u1PF7W)B2qOVcrw zI0y1wEU*q*QMYQ?gdsCbZQ9=1OsxrJ&o#y;T^+cSwr}5Knq!ZIC#Hy+uB=%%hTU!L z*q=>Wj7oZFZeKSXt)gx%edN*IP<49ds$Os5m+#umRUYYpakqz6~WQ}>Nti~?~>buzDDTve<+oqzK- zMJYW9Te|9hH@cfcDI!;JP>#!7NBeYivQNN6@3EOI4_W|Wk1T5`g!oNN8jN95St&I3 z?qm15Xy~7d4F1lV(nB?LF~-XN@;~}V>BNt}pL$IWJFs_u`s}BF#>T2iAN%yPY4?G9 z>Gkfm@z!+S<1x2&FdTwWLmv+B+3vu#rB`L#_dIY6KW73$)v2Ttl20CpO&U6cGxHPa zYu|V-lZ6VonP;E*+4RP%8i}BII}RT*sjMeeY8?0-)PQ@A+?P&YzMbCDi1yx@(=y#F z>GY{n>H1ZCGD!CF>Rfu|m6y_~6K`pFJEQY;m^SY|2R1jIc;zP!69jOAY>~ryOu$p+ zJ}#a;P4>x#mVrhyS{Stm{6ZEh3~KNiBU5guq6;ag-qT9UwC_xom2Gd^oc7}7RtP%l zBn)K`#A1PPA>&rxKr`r=)>Dn#{XxZ*2{*A&dDdqf{e&IFSw;WJg2ym090UYt zBhN@*sA=q%Vr8EEyl8sFDV)`9=J3*c+a_v!;P!w9iWR2 z;}sdD2Ahw6T=U(J7;q9*o9t+gI}{Qkm<=jI=#bAt$7UJ%5ao|?zs-2?SzxPj5(z^z zWab7c?OBP}@dsU-Ag2!}Hx5>yG{WG_X=F)+=ehxrEm8K3DU9#F`GzEr%wKbx*C^$A zX8AG#KEXQp%=l2>5zQHa@`RLCXXo~8n$@I|SQ(=t>hoT2kjRWd$ohuIH32RwVNVzx zjGF-^+E8BKpf`E*`gth34u7BBx8!}cMGX6jr{`Eio z^>q8aw;`0&8w6#OQ*#FAs2ZV16jI=*Ga+-35iG&U99PO)u(xvxq5rmczi~>=A$@<^SHsTxelVK5}g#I((NJB;@UodcZly^Qk^cG z{(Xk(TQd6jbozXiAWzb?){3M4V1}RwhteN^^X+u+y~op&k35K*|3)g@`&fGL=-uhv z3$LVN4z)#ada1Wh$v*VpDT;79OH1#g{{_&N8n!7aL>q-QY4^5*Hz){JB#Jd)y1VwDb zxa;}#3Z3{}Y0_uTtp~Rd9~)YK?&feheDt`ZVW>jEQbu3uQPtYnsl-|x9zyEVd5 z;vA}~1!bW?19j+_FA81?AgR0c5)9E@&26GsA)#6HY>ye}bmP+5RMF5VAuCRI?X5=_ zz&&*SyHCAhZ>w;z4^fKl>+4VLo7+-*r6Bv-Yn-oued<%`sSkfPZQ61?ZQ1v5s%-5P zcnC^0OBPo*qL@IGG-QYKU0_GnB*=9Yo0Z7l%f`ze*}hNUGnVGcno|$&UBC08RK4S_ z^y<|ioJnX>$31EI>ZP=){Xput_oJ!t;3xE{Pzte@ z0#fI3DHn1j!HHzHj6*HDFCyMxv+M)|-{Ek5k^YwfL zekMBN-hGWKkT+1C4C+!bjRxWfMsoS3A%n!qi=918_Ihx!>zZ-+gQLx+7f43NBs3nhWa+x(OcKQR#axOUmBHG&T>|P> zfg{^%67UM}ZCM3vO=WjVfFE+Q%PW(nk?ue-8&|1;G^-A8u=UYcJm#Llc3WI~voLK& zHQEHhjtRv<8xthxuZnpOdIV-iBh{hzZOk{?!aUAxRWxU+w1?F0veym`sek~YGTB>u zGWg~TaXlQ%=!D6;QQ_7Uz2tY#wMkXwN)!wF)z)soH7}w{OzXkQVRy>;jo3#~m5GEX zW^b&cDn5PxgX!9x9`>J{t91%BshDTs5ibPIf8M!Sccz0oUBVxS07M|}b9z{g9AQIp##Cg&hG^Uz8BuxM zWm6ZW_fGe?Udf^)FVvtu{`77#e&h)G{Jxa_Pp937?@#~opZve6 zA7b=Re(u@yQ@{N8e8xul7ytebNYxxnkKKDLorLeP-G&MHiGKPYKXe5+W1xe-{u{rM1;FReU+{BF zE*KmU#D55tC8X2N%3`{&UzdF{TGk+}Sd^L~n~v=6l)##`vZ)~vj88Q=yH9>_Px{U` zUrVoE5Uk+_&q_2NdFZ|j9f)a&wWtbN>lyzGXgGk{IR4S}(bm*Jn(sxM zoD+lm<)V(PMfr+UU?9(ShCnX(h&Vh4baM+G!x%;Y8RMEWq$Dsq{4Bc*FO?x=kiE_A z1kE8g{p2UFF|6jw7u)cqf%eVYbasUjRSuNqeFr1p)hroW+M%OdrMi$IFfL)OS;lx$zDOhS9R5z!qC|TRwO1GUeQ?b00diL!fp3#7XC-RPRPpdge*NGqr^w$;{ly zSh{;lDZSK}RIT16^R*N59;k#$07G3|x5sox$}ybP3*UJ@-GBUmQYqmhe90I!-`Khh zKkllXvLt|LWaE0+I*myjTeSdo4wtZb*RE8w^$}=1PVanwI@LRsjvd&U2EBHSXf8@`9J>~j&~;A_t9rl`|f*j2X9!9 zTFOc)Ts~t|U|V6GLsg=Ald4=$eXLa|J=Cy?mn3DY&g2%T=@AnuW9r^(r_n|<%GJkp zv&A{8QK!H0UsB71A4+fi@P%~z$)DCUu{q6AQK^`}nSS)j*Hafq8X&<39{yO$t=^Ia zssZMd3XsY*J`VC(LDSd}?3DPv&=Afiq!X*5K8g1Je1hcExX@GAC>MshKw+j@y zGz50@4Q1)_+3!R3RAK}lJ9l~ICFMjtc86UXP znaac0S)%e0+UgP1hFqugh_fPm)G?}7S_`YJnoCD6! zX!8_Mg`Lj=X|^E#T;h;p{CdCv;iiK65smvrltyycodAQv9!Jm}_9_DKHGhxlS^UZX zA$}kWy4b>)wp&wUf8+BmN`%WKPIag@F)BI004yUuL_z~`47tiUA3?nc1Uo8!6)N0I zlnw4k_Lf)2G6kbX&8_cUxG3>0Q=yFpuKCm;2n<=(0s(EFvi~~uhgr5VDhwsiSJc|oAe4{oye%AK#RyUnZU>E%1$r&UH1dk)G)B#zV6KJtp2J#*BVTWC&R zQ-ans3Dz!_ECmIprrOk5du*d_f0|e3pQSS#jn}g{)P=FnRAgg_QS?7e2(CiaD%N^h za2fk08nSa$81wnpY9LR!^4J{2wFI?r9GATnm0(^{w;~B#6VNXL@21e?)+Iz0K#2*- zo{$%ZoLpa2iBvY11?i<4z;pTea*6Gf#?csLREz==71tP99h9qRgfCW&8d9mUHLRcg z1DMO@N27@$=%ztqTok;nE$|E0W=oxkqyVRB)RSCis;wQOj25^CS&z7exp+Sbb5$`# zvXUPY2)N6HLMI5_9s(2S8J_D3P3WU{??zcX1Icg5dM!e#wTT>LqrDQ6pkr)zv0!}f zp+@l$FvqZ>q1&oH?d2q8sZHUxcW&RBouMH;Cc(q5p$78whg;3Y@EyS1!I7vc^4bF2 z9V*P@s3z~79?={Md2i5=3X}-l>J3Sph)?1a4Z@mGRU4I=i}3XR`{d-l{wj zd7ay~p&DxlzY{$1Re?7u5f!q1TlE%b2tOmv&6P}y&DM$mfB}FS6pkYsOZZh4I7usv z>$J|xpaSF*75~^%pLFVQa%_(5NI5{Upyha4OBOpiVuLe00kR+9FxKfn7vLF<4-cgK zj~-#jR@3%__ox5<rDr6n>Ha{Pg|gW`(OTBdW~M;gbjT6eY?q;45u%B>1(MD z()SC$_|f$3AHI@?1h5sR<~{P^52v$dE@m2>l?;3(!sAmP`%L;9gHoP<@dsI{ZFW4e z9?e<}DLwP)r**|Hr$7GIOKAk5sDz}`x~wq{Mo9Hs?!5!;m7y^yffmN^&6^w2=Rf}+ zl+7yBzy5dsRzS3vKKYqv)0^M>e){OsA2ouzlLJ2G_q)CaIi8UU-QFnI+p~;Bn5oDo zQ+n|SFGB}xh=RHFTfh7i`pRJXvlrbQ z88*No|urd?qF;nv`VZZFIi|6=i{V{?GpOvuWRf zL#`zpM+Bf7>D$l0l`i+-MA{1x{6<8Y!?7MZu*dU?yNlo#?ZtJ3Q4d6>zvmXT8xkl{ zIq~}IKIeV(I9?qNXPxm{fpE5L>F`{2Dtj(ryd&WX1WZR=*1;c!BBUKl++QR^fpX+Q zK*A8MB8)Ce#1?dBhwRycY&#Saq8TNUniw&f@e}=bBt)(b3P(xBF8$GWzv-T7hmy{@ z0l6zFrSnR9uU1teN3|!$aOctc^cQHpJ!p>%E5Ge(H-T(MWyJM*@Ded)RgE#LoK4(+ zph{7mtg4c*`J90}{*LCct%cKta@?N6OC8gICZX%pfxc^3VS4Ml34geKRVr2M601Va zY|-A&DLVY@Nd>3@u{>Xa(Z=XWIY`Y0z zrKz*CGrjlnTPj66D6Dj(|N0;QL;CGs`vr(nYx;w){0+qQClD7yWK7di3(6eUCLGg# zhkg4i^zjHi7arcI7-N&|V44g0v%vFg60p>XsvM^un@bV2bv z=gCPZ_!gx}$mQj0ePkz(X|gMzkW!iMP;l5R3Gcu88c-l;A`&5XxwP#_hTPY&DW^{w zhI8iI>7V_Nzf9kM?Yw=d)altqvOS?`HJUXK3Mk)Z*UEx!H)p~paO3fNcBSvWbjDf; zhJY2*N~}ToD|de8CA{S>xC|K651Gnw*2)D-U;neur#&D2Iejf%soZ$^Ne($GQYFyP z8|R)+T^%2x`7g+AX-oB654z9ylhU})rQDjRi+Z-sqktqwV7RVaT|joSF7F38=NeGG zVs3$aX}@xLv2~N+R9DQU8y7BV%+pW8_BFKaHcQ}n=SLtYkXS+;$d$wjLsNZgYo_Kg zdh;r~)l41fqBQ`xq!Jx>>V8@_tC zz}F^{B+Wn{OQuztoaO449qImijG~@2ajm~1ZI-C-Lq}+-Dc77Yk%ks7NLs%1le6L$ zstx$&F*UWEFN?rAkji*Q79cEEyu*FRU)hqV7Wokul?BKFknq|94>rKs#lHo|Io=gE zEo@}i;s73^xiL7_VJpH%=J6Gc&efEv;Ue^IMWd%Y$QQkjfJga03&4R40W@Tdldd6O zvX*_OwW>tVO0`YmX+vQs_v^PSz_kYEAhMx?D6F2OCY*J=pT>e=0>!o+0GaQ1ng&w@mJMiL(YSxm=`_pG|-d{sszA&yp1U?&A7Wj&G!G20w} z%4+}TGFW>218KpFU*}a0*5tN<^)%elTk@VD09pM*DGqlDbBw1LxOCo`fJ&>@l_>o$I->!GEm45k zL?63JQ$46mqoFE`e=8E4FW5iZkMb++TdRL}1^=^36WJmT&JuplrivW$WeqmBrY#+c z>qHNHsx?V}{r`qBdre<0gzqeG)IGAag8jpnvy z9sENYLmFhQt;%+d>ATc=Bt39!SGsmd2f83FBj7_a&z`%I zt_%#A?lYAJIIr7uLtlUWWs7;=piGWnL*j!zi zo_ONPbo8#f3|csz9)J4NXd|YW*|aS<$G`Kx{bqXh7e6O}|1uHsH_|VC?sGbdJMf|| zrjLB=$&ADHt#5rRb@$!LN@sPre!-hAvJSyVi*j0IoS_jNVRW4b`jLCKqz8}hP53j|;A?a_$3e{@Twc1SE8D#JS`7t@s0e}BO@;i5j{k9F?+_e`RJFy#3{a%&E% z8!|aHg6Zz=Yw0l^fam~hGASectUm?GE1}gb|cEqUE4Q1tbrOED;vf`_M8RH z&QreYj^?;A<%-B|7i_lpju@?a^G+X`GLw!RqE!L#ys~7B8lNQdQ`P9e3%)~sCS-tS zI1{8(e@5hPSc5=*!@tkZ;nQ<0afo7#it{95g7g>#Jgb}&nw3>(35%MJA_gszE|-=G z1{sA?Wu8e$b1n_+#c)n|%@Gy)2{c$nJ{QSF7$XuqTemR?N>AlV$_z_5(NpKoWyxD4 zHsKip*zn9`LwwmEsB8+4tT6< z{3;MIWXYUBqo_3YihG6}Y*_pA=g#`8VLHgeiyGicOX@i)NC$MHoKcJMvq4te)wV_1 zl58Dg)L~!OGZuxC+9}$cRcKEkTwew$jv*EWocM#c~_wBlzmxvfkIwMgQYtKnq<%6+>(f^F0e z<8AkKPNo|J^$_jdnmiuCbNt6CZ|>!ExbvuIeZg6hRNU@!zvG4@yqPxP9-hDTZu+ag z`ARzHOqNA+j}qGx4?I9`+^F61Jb@^_GshNX)!?8{Lx@&98=)uZDl{s~vj3ovCwR-@aLmX{(L%n`LcjW1C8e!Bf{5} z>92L8N_4cQ2Oqs#AO*c}O?MsI<;+c_pMLnRboxq<&m@UP%2A;>Yiu1O&DUNRRF_$N zIz1jFD=*wJtVpn415Lktd%)V~r>7sfJALJaSB*J_*0Ea+C|HAiJgo;YE@W4e^qm+-qCd8+=X=X*rT*d`|%8$Q=k5k+LF-X zpH!kW_@k5*nDu+`!yigLz32+i#Sh-ona*84%l7KFcb38q&pN9ym2;LBaVZ}VLyWHU z^=ckNPa`)qjC(lgyhJl@9aO&r&$JgMDd>5N&d}5yd~D8qQSvY$K%K!&o?|Dnk~U6b zWkUm`e9^!W6(CJP@!gRu6*+Iw*jC@(3NgCsdqy2!2{piHCMup#@`>qT`<)^QL^P1j z36;*QKY`}<^uSx}%`BCqNkb{(IZdUB+t*OMaNzMR$BY`zQ{|Z$j$iVfVyhut@vuqWmknZ6b>Qs#=k&s&nSP|R( z&Xp^AKn|p{mu?E=z#0zVoM3tZAQH+!0cZtnvrAj?*%2gzv$EhldUv8(GP2!uHdjm@ zUe~ptvak&C-aY8q_L zs4&;B=~cQWFjq;4#^+FRJ9w}Ys4KZg-&j}WnMDtpVUNeq_F`b#X2^C^byO#UPKEYW zXcj|EJ)J2cQ7Bn+-9cN~zI&?#g8ue|J~jw`eSN)VR;adqj+H_Icw{ER{Be?$!Csgp zM3C3e(EPhc?{2jCv9LIhvXiFG%Hao&+G>Iyj=Naq6r$EKzBn?r`3NX%+9=)J=suZo zB+DwAQ5|URRqL=6Qj{(TvL?dHYH z>G5M7rVqX1&snTW9*8 zU;lnOcfMQP0lg%#wF%l#?6eh00G|Bhr_%>N`Y}d)D*ewt|KqfVv%Rv|YZK3=AASG( z>6>5uQhNGRpG?pE>@%)&BmDtw=w*lIER=i%`ha6#Fo9rQxn&tgxKJqrK*&G{QrxF= z?)Mxc*GL<=JU#c_6X`o|^`;3FkTUNBb1@K55)OJ2zj1Y9AZ_2mDLY6T%R?G^+$$7i zX&%MHbCU20p>*6rk8>n1xi)c#vgbo>m-7ZR7-%ABZQ@vKTobHBMjG!aQO=IF+rNJ& zB7Y}7CcY_khC0-U3P!S~T*ju1TI9u*HeV(j?)po01H}7d4ES0>S=xK_K-%TmR0!-g zw=+(r1kMT$=LFo7^B{-|U`*JdESyL~sa|l~6xQq1n%V_7@mA!JOCr^0U8`jp5#R=nzEi8p)iG zk?ZLty||LT^TVH{cTT^Te*EKCG#p;%SglzYO_nk+(LjmANHw7y__ieimi8P!f0_y$KFqy{4V++ZS9< zuE3SLfM*+33APfjKp{5wwn^)~=hHpa!nLU&P-*AOdtjCXEfm#fV7o-6w z;quBR31|(@UMH7O5LSEn&&YJ{{Bd$Kr9X7Y{a=&w5$ z8az*588Bpl@#=U8{R#rE!gTqaAK8n`0uavyW_infUAxlB)9)yQN*VRH*T{F~ zGEVs(;IzoIR=3FFtdc&>(lOGRcY3aJD8bVt>~Afi8SI_YH=*1n9||bme&r`=Zm7?F zy+l<3DkquVTBCd^P%lCVAMER6QzH43&>Jb7^(TZIOZu; z3CX`1h=(CCd3#*aP+Z(yAJ4e+o zlv1iVHSOf~8SPj|^q>TT2eE*G_SCv+2Eetu?N9=+5RX>jfFPL$>S)J?t72(j<(i zFB8^1#@9Dh;=>1b#<|WXGZ*JDsz{3(Q!60qMUtH*rR(56FGDCpS3O2}$8fM!$!-8D z%Y0X!1ZYkmwY9T@K6*#S2fgQbQ|hAPGfKj--5B?xBB)<^OXg?KpL?6{B(WI@v2}7L%m>jU4S-VPof$GpOyUzlzhSOKt=;-2?|4u)DF63PH>;uwn$K-p)U4N zHaS%QlyPbOeNM%&l){(PLgQFb1B*BG^ruk-PyzkB} zb_j@uV_W156aRZ3ffoz~;MORpT#z6IH#mZmu(?qZkE(3&Y4aq*f$*)luO)VPieHI_ z{?I<2k+8M4HB)YyFh*LRi~Bj(L+VU5Xn0aWPNTV_qti8VKIm6W8viTcb$-Lo1SeTe z%SsDEBmn^!MRjg`lyJ6UZA?{zQnefjg9G- zbJlDDFz3j*r>GdREfU&TR%C$!d>=73%(L#Yk zA1hp`F)?~Mec)(m+PjyBMXSmyHBE46N~5((Ae&zpKnCi@rE98*5Z;@;^t}PJwGHu% zRNnS(Ht*w2_rpe`pVYMh5^kVrS;t!7&V+M5jb9yl`QaE(C^Gd+^c$$yN1ynZO=kmgDpBSygfv96L8-D)Oo@w9 z$l$k?0_abF6Uo8 z_huT*se>NLvhzmMj=Glghkx|nl}#rN-MER0@u~FIE3ZPE>vfFo5ZFT-Ap(;!?&xY> zwmG9QD;J^u8(;rh+R*#5Ofe=njo<7>8fRofy32u$dy7&~7^DJS%%Q0{GufZID(BNf z_Z>4V$$-%T>{rC~hi>D0=5WvLLsR&R%{kdOD@4Ws_y7z;3ryFpZ+0-Of`i8 zpPGzO-kvL-@6=403^+14Wu;Ik@kM#cx^tXQp@26R%2dp$uGo}es8{fFqcl|RkOX%q z*Ym#b{$ttH#a%nLLsD0=0VOwkdQ88BfS~qF;Lg|9*4xOkYKUDlVuX>2(t0#S234U< zGVp0MoiBa)d#Rzd(Lf4iH>KiI-NZ8-%m{;$uXGjocQ}D^sB5589dyAfaohtL29xFiM+J`-bXcH>ds~?!l*?#G(LZhgQ=}W ztAJt^2}Z+81)>#>E~qe>gb(8qoA~CPenDqlW*`?NXw|{XXPtsxla=5kAm^@KSG6$= z!+vS@e7^W+U%-1seZf^;h-plav1%0!xNth8=}YR9jVy25zEfAS=FIjcyjYDqjDM_a zDX!i;4dXRuq-XqQI@-Ba8Jk2<|H*Xu>b0~@)6BYcoy{AEQYtM%zxwY$4D>l{Z7WOH zhOGsj-2+DjTbev3jcScETCP$Mj&Y+n8b$0s>j|K+Cse6wC3zJc5J9@RWhz-4SDjr* z<$R}Vks@-@fQIE7ytsCIZX+Gu_msW~CH#^8^x9h|A$avpcCPXCckte4)4;-r&uhvk zNz1ApC6SP>Pr1H!Mwa3NgeCd|206X*1{$unY3pvLia~~Io&&3Jk3*w3H93|^1j(nZ zH$r=GCnfz=678`W12zPBt9Zrh(2QNG6;C|zFrFktlam^PFii@8yV~0YM=CrxjU9sL zTxY9S@KFPW3hL4JJ@=6N!|l^&5he6usP%?EjXBl&P3&vfk5vuNfo?4Ys;BB#uK9XJ z!>oC_3WYYH{gW#g$>pra1&$Re2h;XwB#Tw{;(`+On){ua9_L_vhTz~&{`jxbXFmC; z#_YS&m%s9tkoIv%^7XW>V@LY6XMa9@=Y{V<`h_|;yUWf8Ru;Lx52eG0k0=A9fZ4+q z-1*8)SKqsp&Ox<5{^3XH_$sG5zi|$tS0m8j0txnl%2#OG#st6;wmi7B!2=DQ@~k4j ziRQS+u;VcSvdn;#7+D_X&ntJFOH*dvfS{AyI1eDthaBnhQXddwMM7{o-4+ZiFE^)#%1#uftLgNK z%Q*VRCj&I*In0J5AAsCnOT8167R_(cWdiUAjvSzd^jLSyS zYtwsI$)G}V$5d8UmI_sXHfzd-TGJyA@F6(b?@N`k$$*9>-&y3DEQXe*)hXk1<8y_R z0^p#>3A*jiK&xZF$9e^Qr4|LOvbx1UvD1e9pkI+)>^ID;L?vKGFjYlt&PB3#C&6-xdh;9ib1QY(yT!%I&UE8olp)Hb2~xW9%5 z{=g#U%n~;tT(YwsojHGf;!|u7Xpb} zvN1LU4*ANSg#w{C?2#Enqr|E%++x{uNc2P#*5SSPrsw|KU#HCtI5IjV2Nztk4HrV_ zSz|?skebBM$NuiG7<6(!(fL=>pMT+x(k_|GaSe;@TlXk^ET-=BuczZ5{**4+ErNjD z^i7nK^Kbtol_Ku%-nH8vElFKa_>fo|6Nt=1hNC9DB3oSwr-!J&Al0lbGL5K?GnQ0L zDk&7#wUgTFNY8!si|OHe?$WSSmrlO*Vph(bKtE}4VB#Q-%VIZob&>GdAv1MItnnC> zDV)P9r;ymDr! zA~TOeX>sRLhqNT zRMdJVj9&25Ry9tB3P&UyVXP(~5FsBGWyeVdr_lL`&hQ92!ubVqek825002M$NklE#W{l z4^9d)x|JJ)OW4vI~yHl@>;JdG^a>@C+SrZY++#1DAMsEIop!{KFrgr{+V_OZhGuQ*$JCGn{fAlsmr& z?~OythhVNim3wb57^&OLk@mSyNiFoJ)|&3#-j(h;ydypT-JhhVKK`g@XmqvUb7}#a zWY0{_YAl&!YXl#)_Sgb?LXqb&Zl4M7P{cGXx%Y<3Jler{&Fo2``*`>CyXmfjha@Ha zen$Sv9^M29h>^>+lHV}C8^=(kh zIYU=8HC92dRr#WkCz9T1-Yu(=6swXkyX>Q=*D#M|pErcJ7>Q-<>EP&}38}c9ThQ9N zy-?$)#1?iXDbd&oP#A-d*Fo0XAeze%r*RaEK+-!s_w5}d<{)Ydlya8FAwjnW(PyU9 z&wS=C4>w2kkL;7R4b(4(jgG`%4aYG`>&OevA7{geyx$WN+}UtQuED(reIU585lY7} znGJzLoVN@mbFZh*TuVKGj)xySP6a4>4?-CyI!SvSkv+4K;9!O^{{Ww*wD+f=qXF4g11=%Ie z-6AA(T|$~mU1d^o2Rs)*u9>vEIb9bt4x*Pm^}#38EAO1pV1-v*Q<F(4tLFy)6lhnR`v5g|p?Lg%G`$CWqvv(zdk7K$ z3jl%y2=?B|>3v4hsE<`FS#B!sPU5u_JI-$Gn~k%MS9jyP`Q_ehcI}(k&dvI|#!+m^ zvQ^zwr}s_{dv9O?!A>;p|M@06)_7(}0{Fi7d*4%@^PJ}l+Q9?Z@fXh6_V!k;$Hl-a zss=Q!S+br)BV_M60RNX<>cWLv)-^CpFn8O(388Zf$z+X{;BOHeDv434K(> zJ|!u{b57vQPXdsTEMhxcoa^@HLIQK2P0XU=L_diriTSDmf*eoIpkSoek=UzgO?FLj zK{mnhwILOwsAD%$iAh^tay9*)ysPq4P5k&)n{ zc@a#_LqnK@0+>YADZWUBf}~p2P#5$mH&vS~5_)PTC_!ORcwYsYla$w2pc`xv2)R8} z6Y0N55#Tmb)y~SO5iASk1P_gEIm9S5z7toht{^wac~L^K1yz8*-9DoNov?%YB_RN< zrH9Ihn$6Zp_@u=x{Ayxuh)N1lsRXvtXV)Mn1&Mjcr~a4!_!)Zzu;oVoH1-N_Ln5zW zT7hnY`w{q)gU@r}12*}01fWrNvv__!Ev&)oZ{0 zB}nlV0MwX$_{k60&`>wvBdSzat`G}hueetYC@Ud0T7U)v2=4VN;CJ4q4Fc~-noh!;71L((Yi}tmFjYVpc*lv@a z7FFE9cbEYJs@`5@(=-fDGvq*t;T%n(ogJ_vu!rhF2orNmFyBJcYa7|?4HX?IHc>ro z=xo^%r#S~+i1;EtCZ8QXa35eC91luwIYjIM9au6nX-fv+J*O$_WI$_fcAs!)4uzDq zCN7c1A{HK7q#;oVGg2l6pkJk><&;2@)(_;rZ)cT_BRkU12Y=$gUKS4{438~|aZr$> zR7?Ct6&&=r3fdBMZI)9yuWx3sz*{Hm#WzpdUH9#wA!808&I=!An1C&pNpU+V*}|{s z*kecUx!YcR^;P@V@BP5mqO;bqr;W^tAdbVD2K~Eq>6ZOJfAe)R7r(vp_M7%P0qH6M z)91eMMf=2OQeSwNuCKV;}qI?Q)Rrd$7+b@iqrhh(L?_CQWP2 z9eeqleKg>mC+JJtwTtH%@%)HYw{)TxN)U{4Fk=oJ)CunO?3vdAcFE>hyIj8)0)3o8Hh#FLUJU!~ zDLr^M+kNm5D~TiJ(8;-B2_1u>FfohGt$(N4@D9BKhJmgGLp_AS{=zOCR^jc+Qw zfmje2NMZ+jgmHii3E~8q&oKfTgF8iOxQIW+LBxaNRB@hi{5S}`pFUARqJrflfo87C zy-;&h_EB6aBd4;76g~7ygJ|NEr{%mAj7w%QTmr(uK#Rp;q<+dP&}3||oitvBLViY{ zR@&*a*FbJYDE*R%VZ2>9Z1MVZy-C(Uy2egZiGl$RgA9I>tbS^Ah#>agc*tDnxwGeP z8!}!aUD*u+ptfzhd5_yhOl2n-v=m?0UqtOtpMU~#4aN~wML(mpS7U-i`Bm0l$C0E! zdeQ_vE1+ljWXtk@6214Z=Y_tps;ptk>g!RPU=;VSfAIq7Gl&d9CvOLmsrM&jpegQ- zZ8%z*l7`R|4xnkQfLw|2)HFtej`Aux+UIbRH7!iL?2jV72NgF&kgRS?Y3)Y}NZGJ-P0z%5HF(Ba2KC0pa%Ts8;;l5AE^y-%Hczujt;c zWE}Je`-}jFXZg2(_NS~#jtx;&7-yQ_^;_Lck8(31Yldn-IsFz3BzSS#Rb9-pK%$Ng z{Dv}Y7`(!Gf^qN!5i;UsgL2|(1)|uiNy}``QrJXxzuet z;pXY+&c&t(G89C+k+vj|V)odl?k6jU+tJO5s|ItGEJ9 zNRe7T6bB`Sj#3R3y=;O3s;m6MLGt<>Wl~hgGMqh4IRg{K!D^x-pTp0}W~Tuq^7-5a zg3A*pyKUcrBdj0Xb*|0fXF&f+k)%tTet5JWE@Xq{Ql?cPlg*kX@DFNgQqr1BfRaN% z@a9Wz%Q$h5(2jzYOp|4bXQ0xdy@)oZk}Rl!m63cTMTY?CT;*rC2rdO&czLcK_QV!V z)3r3=_D-$abrO6xs9h<0ejX~@Dm1z@iOeumwnU8KQIQR+3tAIl+IWb<~wu6VupQpy%F!K)7BsbP|oeGZ+w4Ol~1jfVTmk7Y(s3^>k+yT}BFjWBLs9F|> zvZl$Mn*_+B{sc%4ckF0}mU)xlo@yvaVFsV$;aO*~e+mI5^4(D4{Cth;%)<7OU9g{s z9{}Ep3Y+aFjbH3e_KWN+XOUny3t&RhXle-8#N}m-sw$Y$8TL_qm+o=_K~yM2(?79{ zs21CstD*cA`TvZL=3DtH!7sdchbCuYwJQ9<|g&{k2^{f>TV)#sxTy2 z>#2z;bi5g4#d8DUK&!cyc#KeddBobQ@O=cq-91!6X*yh7nII0RvN~iw$LVKVj?oHC zwz#S1gP+8mITde#w*pxX9&818>ci%t?>rT=hmUOs6uCtronzO#@NJEC)^%wbV3xB6 zN4^*k(~E#ZZJmck)j9SvKrP^i2QX*Xwl-`Za(`3_yRME{4^te2RMHgquTUn`)Jx1W zJa9?il2q|K7uzj?gt74@KntmQL0Jhv$D|UP)x52JtFeJ@Ub2Dt8Tede;!l0(lNff8 z2BC$VKMBg~@aKSPXqZU`v}ua+S0-ly1qP-B&Cq;9MlRv^n0Rs=IB{}CT$kLKMm7f7 z>=_<>I#^BTdl6mU7ctf;+tm&?jlkPaR+^m#X<@@$Nx3+6%vW%O3f?FXD8NBT>0)a>D-OXaB(32%HZb*=0jh z3uGvb*41^<9(d%VcJST@aVpvN*I)iKhEt4VVBp$;z?7EPuqjuZ&;Ic5e-_kj$;NxG z*k?cgc?=`cD4;=V-q{$qYHz=F!NM)u$(n*7ePg!&;9e#Zj!?35p~Uf$9X)yvD7#8V z7&e^esW)D;2jBkzX1kBrsT1dH2Qq%jFtd>`DlCK>Nfm&Y(+QI0LZt0W-ydrTErY|B zm3^Bdd;HBedDwcGAZP?4lDzX{00NYVU2s-6Ft8rhuo-!(6oD47A6XP{$aCSmIM>4$ z`KQWEqI-ysMx_Dcuz?}?_1hrk;&0N#r)EE)Ns>!bsVqg)PYRBnxZ4UWOCk)Fh(qfj zfKcNNVI>Y&O)mT$N9N;ar0Rknb%H}Ri^#aM9H4+CNp#}p65J|S_JRn(+5oWzk>y^T zk<-w46rAMa*b-#x3K}3t;JjHFuDiW?k8P)kD~ir$l53iSZju0XghW6<%Dv;PM+SNw z#g0u@QRukk3&LV)5D8k?? z(-yX^#y=rJN(eGMIF$sYrJAJl?BX7!pUNLjFeHRUjZ+>_#w3C78XCr2Fpq)zN9{K+|AdB9KeQ7XvT*Lw(XI?dpbZ6ZL^L^-gc&z43KY}7 z7~s&kyVWjV9dLRN0!(A7udTAnypK5PFm*^O(b@K3WS|{QOb)_>ZKmXgWLjP^=syS# zj%5L^T6H}tAo5 zVT)&<<{DJ#Dd7ALfP54nF-45Zxg+2qQQd;SI*7xluV%6q6DehT{gf-!{Oi^p!+xoR zJjx!35{z^)l%OyO_nLhcF2tsCo{>tS%2j1c+4Xkko%h)Bm;aILij#x|N!moiO4-yT zfgr)r0u8EI8LpLJ7;uAF6}#af8R7HTm>zkPD>&JO+@bl8rRpXarws0>_;O@gg&%=pVld&5)DJA6r&dHj1 zq}V7`_+qm>XMmm}KpsDUO$j{yauTx~0*npHu|p(>0X}nq>YyYg3#oLBpcK?MHP3uH^un zdx8MzanJJHHc_XF4sBX3N-33LIK-fY1@P;mnAu1}i4EY`$3b${n7B^UoXk~8NrY-9 zgGbmmY8q4KTw5PN^IM;hO#|<;bvECF{xt)Tkp0|?Lcn3vgT|+p?C*d08UPEL-=x=i z<_eOPFpB3a8zlrHEn9?5Q@DV2W}ndbhRqc4CHO=NPYR186)3_I6s73ZQH zqG2xtx^7jBK$~5h0Tz_&6;Q$|$!@cMC?xS)^g2*>ehbtS3M_RGQ6H5!3YGVf+^IJ} zXOkbo7wEmT`uYc#$}jQZ1Na?Zhyh7Rt0_szmgXM^Kx!CyRBa{iH$$~~ei&Q981N{A zvE+9Js1(xsB_Q(p^)4I^)G9bvgZ<;1iv#5l@#-d4T84FzR-Y~Ra8n!%Jb>BN!y`L=%K`hr;ZPB zz7$7#pvfR>$+pesxVzF3R+r&g2`D;HZzOoIKrc!ufao+m1BHNuHQOTAe{Bl;lWlwM zE(V~4Hj9?_%rJrN9Q3Sm{F#d;bt>#*qdiViqiL5>0H`#HwwfxXLgI%C>84Uz#!P|! zTg<><*9oN5IZ_-|TtXFc1{E*%jEm$b7$kbbZmbY2OJz&Ry<(Jr=b(kK!P6U4w?-(Wh_Z%_P&0Rvt#6T0nt)%7X4 zATpaLN_y&s-q9GXWXS@i(UU=8D>!5S(Lq&e6sfoGEu=7C}y*xpGe`5Hl4 zjU76C)L#GX+xBZpvAG~TUN#c(yTg}i>F97umI)q`gx=G<_KBxHZqNMw=d2HTqW||F zzDa3!2qb|{a5Ar_Kl(JyK}kD%^M-x(>;KtWn|Io)ufAl@{r}&kTmw~s;4ur-V1s+` zu-I-71^`EU=eVNYQSKSp-xcVtBR0?Azjo6 znnQWFrn<(iTsuxcu6XY!ucnf*c#*~5aVgzK!b1=y3+=I%~xqL0Ck{=#=gFu8mPeU4+ z9s6l&g0bpwCi9v7VayYA+BHORK{i#^CX&x{Y>MxZf_GL9odqo8;y&FOj2 zILrO7Q(35n1M4NgPSOOTBvJRMXCstc=#YYKNd+oFab627mk-jaj`l^?hQmR2?ITgZ z=t5WVkZh@eL`GXpKr(#U1ZytNVtyXM22y}$PrYC@<)t(~RoIE+mk1(oRNP}ZMxa1O zmU`Rhp5}QKxjC$F;cFL)Db>y9VH;(YRV&M+f!7EP+di zpa?pH7yU~TLLXUr91f!px**{d4-RArO4mBU9wo7BgA=?)0kf{1(l5p(;431@L-2=Z zQ^=47@jn-q6*Rd(q8U;Ey12x-(pj!4<-F1P?Tge~eaDAL!m{oE``L5Y9JjHIv3Nt@9Ztbm27|a>_!{7f1TC?N! z#@p|Z5HN@cF69iAB`MbEEX;G}bGi0*-aC%tlB3sDxHUT6)xc9+f-`}m*V-0>v(A|z zkgXs98=qFthYJR=$Pi?%z)zO0vBHu<&}!f)O8pqtlAv~#fM;i)s5w*!m&W6|c)s#x z1+2Z!4cnEyijFdR+7;!+e2cTLuPcBifS8snQ;DCToCJu(HBgAdTcxR6e1FhpH3lzj z%#v6I?8+@hu*2V;MB(F8A30=w1E4hMwoA^gpm;l){iU|Iqsd-)@%wQ9RLb8XIPZjC z>PM%$ANtA)PFn#BNea#t1t)Z)L5A4t8Z5#EV<)tiRfZ->=S-`*vw`#RV#m~MN(K#A zRzsf(sD9+q1=#k0gcxQbYop;Y|qDMbu1jILQj5~P3FU`XCI9bq^oa$sD|q%$b}1#MPjjm9Snf< zNe5p%S(TbH85-m&pqEIsg#@Ov^{7ok5z%(~Ud$AJEoIrf)F(lyBU%Xf_MQB!dZH| zhVVn|Q`vOxJHbqb#`+NU0@M;_)srJNha`S;eGZNGW~y`~Kj}2Q*EFg+ z0C}1UJBr##8rzkjfioM}Q){Z~VE{nD3y7dz9;Z4>Rx8y7*?A?n8avIZaepKi1Ye?b zD3Roc6{k9XS3s!i7WIQ0ajsck;f`5rXh|%10{&Xv4 z4b@=A#;}K?P}bE{Id*Dvc*-Ir#Q-g5@#`ex_)Z!tY~S`qyK>>Goj6M~ZbOR|RM*>O zsGAvh!>T~({O6`t?2bDR*?aDO++Ok+rR%1K^P@T988A8rO}<6AZAim(2a|Or7p!alqlwzK!=IKm{&4b zh4F`!CbGy%b3A@Fejz~()57@qB&e`tx8jsQIjbO(I5iAl0f#zCNhR$GIb&sy?CP*% zk39i3WYE6%!{>Me9=rF!yD2@wE9MaFfg%y4l-f_JQYSuwF7AVmzSsWicfO00_1V|I z_N;y9pS}eeIZW9kU`Ow~)9xn&``J%kwDVNvr_Rxo)v>v7=J#g>+*0y&qqcL}YNY`RC3+&F0DjtB_-t9uq_2@Bz0=k5Y zDllA2Gz#tjRqmx6T1Uo021b+8wM%F0mFHjNfwVDVw26%}W&irzF9{GQL5UH8%f~pi zl(SyId0HFLXVC!^XzEEP$m%6QvndT_j-Mo9)YQ37*|C3Mgp7&rlg%zt(iV!XU~Y?p zoC4}thaw>3RNDy0ndHQg;lZ&uoN^3=#-nO#k_M=xkTg^2L}gn!Z3WW3gFP62a6bVA z1owWBF$H=;i4~wq>Q0#)IO;Z!>)smOpOHuV+BzHNd8>u^uF^&(oQ)auYqLO{hepSj2ia<2>Z}+Ze#4o-kbf}M#qm&mG7eI7SUa708WeqUe za&B<@ws7=IG;1p8CLVNx5g9x$4#(l7DG0~tYDBQO(Gy6QNmG4noMs+AO0rek>l!)C zoLTn8HBgHcB6NZdaOKY9*_!q5+rx(I=TG`uSUVfJ>&E?kW=vbd0I z1w8_tT_mt9tGYemPt}&J0!DyO(j-MW+e09vNskmHm`F*$O_ku@{Z&vIXrLsCnI#!m zMybL}@S_GR%nuXQ0t9UYIt2MKzP1E z4f0(IBaR86uT;ZLdTxH0G>Q!AWl z=xhXX0UC~r;5#p~PC{A(I5L%uxjo(k(UxoaD?p&m*= z4GCBkn)6i*5DJ4TG5N2&j6Xv-Y&1z*YbZa4_+EtmgmMz3N-7?HR7ILdpz1&{3H)Zz z0r!PKoujM+r&arkb5vGY3$irAXO!b4a#1@$aRbg@fA4 zCT^N*!ESk>b&#aSP|}z|Mz4DU{yBlDs4JVCy{sIjq{XF>#2E*nmyWsD2Qo*%vVpd^ zaPCzCe%BVLEazKXV3oA#*|e$HGID%82hk1a^GG8=%!#oG6r>G!&1+Bt#c6CKv6zQ` zDDL(E5?a0ZsZBoTTy)5`(+{#83Ask>Pk9lj7huH=Xc*V&iNPIO8TY*f;_k)H5tWbx zqPzn#cZC2Xha_vBSm^o$+Sj1a-OvyUSW_R3M&h(zC;7aFE$f|3*>scy8o$Re#hz$* z2sV<$>2_eL$`w1A=axWfu|OabR1J5UiFE}euDM0nHf$yPyRjl{x2SCDxlasF(j2EX z!Y_mNdfA&w*ktU~SE2^w+qRF-Rg)nVuYv-e2j7!jS%r@2XwBm{7wMT$m1J4{0Qd}@ z`vphB4?oZQsX0^jM#7=ZjWwJj4Vyr5AwX4$Ky3}5mk0GMnV6(6gXTW?^lOVkRtaiV z!NGpXmW#rt27SroH8i3`M6fst%3VqmumCKoe%QW|}CNOQp!k7rFLqY`x_07Vyuq-%5J*ZyyPW z0KH-YG)d&S(JNMC=L%IzshG$Yi2pCWZb`Rls-psM^)QIqB0$Q^8B&kM!UA*_6jp|& zC!kkE?Y>9uv&Qxgn;ILmFMZ~tD7ox}%CZ9+JwfB|olN@l<5PmDSd?*n_}&^A2@vmr%(Cb5s1A*f%-L_=dW9J4F8kzDf57_Sm$0E6Y>KK#Q&N?y zL$qOe8EM91o^f$8)R-jz)k3bLgwHeUxrL2Ki@p`$qoR~C%4r&jZH$?~L9rmTa`diC^4)W)p z|E!(<^^0i7&QN;IwLkvsr{K#qTW|k4vZ?cMr3&rDJHNB%fAn1&Ja^KvSLUs`q7YPx z;25N%0NtCHp8sb?6?^RSAAgF{V4=NA6JW&4_+T~y|JgeiE<+*NZ@b~?#gK!7fNFOi zJxW$gDGUP@rcq~nm}!a_hh?PRmRaB+*tpOx!WWiYq(lI^>kZ|k*&X+(MV z>}sM6oN$6FE{V^<*i!OTv(g{|WiA0gVYtTHc63sn2Fb&@=wgK6D05txCn)5)6+r8^ zoZaLk`n>#IUMhuwk)s!vPUu4pds~$O{j3_OgaV10B28{RoS7+_GNJoOeWbpziLc`{ zWu*Bq1qVq=Xi5Zhrua1H^W;>W0Gj*O#YuplA3|2?DoHF3596%L!5V1Z{?2-k_)U;x zxL+Kud=R1@O1*P%z#K!(^`|h9)gWFS?8&m~a)Osd1mU?aCc#PVzzZrGA;|6R9;f0_ zNWw-^rP3zX=<^ZmFw)vh1x3v_QgukNALei*lC^B9$VY%5DLgnKaSU{ZL@eJ;S2mo_ zE%t5*g_TV>i)*aSe9TMmPp<3bK7LE6hdXW8`&>Nf~>BaMCNr;rt zP$}d4O9T=s*WQ2ceb&-akHZf$D5f2G#0u+ZZb7|hnZ62E-dlq6UbEf&%z+>hfDA53 z2dhYS1!4SK1{bH2_(a&36RPa0d$y3WHslamNS^<`j!Y-Jvg~J&RD3p z6b)JsBtV@2`y$HPt#RhMNT@KcaORO;gcDpZIZhIM)edAwl`PKi1D8;p@xwQ-gS%Z2 zD6t!JO9TcL1l;bk2KNzD@%$^r15PNs+A^lCgFf9@J}E$mW}Tjotbw=SaT_?KcB-n z)vF{QnqmJ07?f3APqhxts=%E&`VYjP_7TKws5uilP81YUg}Vi+Notf!vv%4$F3?%k z_B2UQiA@3sysD~#_dusufpmG8Bqs>{0j*yCcbH=(x zBJj0yR&8i_hU;NZ189g6g2lzhh+c=n4Ze`u1N37?1N&SJl18;aNcTDvn_8OUIJM6D z%wrREhSmuDB_Sw>;wXb~-Fp5h0)J7ZI9jX?l>**xoj(`wr*r5PtDlT))lt{!d@Y0#l0f3rC<1!oq>>1A+-&{>) zq#6KVnLRDaM;%r6a%{`Q=rHsTK8u8}yQj}iT{!8C^WNFE!@lwtf6n0wY%C;NMT zvCHW@iO#|nz;EETc}7__G^lBopuU`M*XD%PHx&RXVkhyF8E722H03H0$_KDW;rmvo zOs%k2MEe}>N~6f(XRb#J{WdhgvS)%&SvKMHFD)^Kn<|Iw(;5{j%mFr_%J%L#XxlqG zc@`<_>A3|Ef|fhqPeR*U251RDGZQs!8A(r$6~CaYk?=|TTl7&?6I6*?W^+jjR?YAl zij*A)7d{(7-!1?dWg30dnyLm~ixFYd`QhdW6&1l6fY%A`Y;o1Fk?>{`~f#) znUlGNA=GGMNlLAOBCZ0(udq=h#+{2uvNB6eUQ?7m2bz%0L++?AvcLFuk2-R1|M;Ds z)AV+S1uJW;sH)BiL7Hn@c3K~wF-mjGv5$P(9{K2J?C||h*s%|P%EI*>cKY~P9{QHG z9oTQjKJY=i_q`vq#4m5<(uG=VCw(PZW#yN(n z&=&ByE*N&gI36PI%yAC-)@yPHH+0BX# z^pDuh-T}MT-9wl6uwCi8#U@MGrOTJ?m#@A?d9apY5u^6Y*MG{v0>$BhI#a0Fcydbf zl(0fjI}#wqNeqStdE`)v^bv3d8Bl2Z)La7gt5>f$hfwH70%Snb za%4zF1<jbi#;O`RO=(31!2+}qoJtyWzXYUDpQ!)@kA;C#DPIN;L(13n zYZktu0(o^4i*x8H06l=#k^$k-HAsI|4nu3li=6e<$omqq_sY6jIQLan)6~c<u}c2qVb+GE_}x^hEV=^+YGwS*Kr_}lc)x{DNX0Ij^zyFn2t>$ zQG_EUp{#EVIZePD1Qz1mCpeP{tjDSh0O;(s-XU8i08-;2uF6`g{m27tfU?hX)_JZn zx;%UBnROvdocBBo;p!6C%6l!+JS9h542`R_5XYUhjNA~fp~6v8L6!~;tUQG59(=?? zs!?8)RH~}vjA)=DkW8n14u{x}eAe6&`xL}#15Wo^5_(382FKoCS$%0WsCSTH3`7w+ zSafmO4I4QLvaCQ&&w)+Ip5flO_jQ5-KLK<$L1b-nyAx=4cI>ncoI!sdL2nkc8P<1Z zeuh%xH~|ofJ;fC^Ffjo8#lF3G1FD4^dC>w3&fh@3&eT5alIfW5mj8maFmSYRvHM>lb8Y56&%N)<<>j zDuZNnj&s>-c_gi^z9a*;SOfYP21tOWaO54V$(=M9b@00l+RsjGSEs5POrF%Bn9`l4 ze1?YPND3=s7tdV=L08~73o?kh5U6(!`z_6W(V(6^aG+}$_kQa9b*@=*oT7ShzaW=R z--MEVe6OegYAAK=xc=m8`o0v8h-jSeso_x7Ko`h)87dPZA8l}7swyf;T4NFBVoMHh zxwW;F&(c&sIMyUDl6Wof)k0~yiE;twjWd^Et@_3$3A#Y&SS$Ge)&B@1`OW7*QOH0K zsDWzcMfqeFT8SEQ)fYpP@opU0ng?kw#ExR&%q+r&d!lS9YH>zdTwaheO9R&cY3b?vHZaa50(oe$V*>IK}x~rc3 z2CcBPs_I!$A*RPCp-7(qmhEr3Ww?3ne(>qz6b5YPk+)u5Q{0h`B;Eoqnc3&!d+6=2rrA~IZA39Ec!40 z=ReqiJMXhQ9)8#k?%#*JOuvncGX<=KYntq`NP5Bk+uuBEZqS0kn-`%_G}|*zK8?Iv zgT4F4E7o`AtmQD+;E8)%?X9y{nf^4zFp)bzUNA6Bu4-(c5$Dih$Do&BfF677QQJpp zrK6*n(YAGL-ZV%;GbLcR{q$d7u%%?wDxqquVca#v%mW#|v8Kds4cr9zUIQg>!$@qx z(WLnc(eMze9$>R%Um&cYvahaSs>WT zZpHT^Y~tQYhID92r`2Ka!Wc*wSqE93T*04E04~s~u61%^6b>(w8Zo?l8APCrKmti4 zu0cF=1*UR13jAf*)JUk$Da9};p-{4@KUa`dq;}%G&Izpfy66GoTM8{#z@J9|n}ahE z6-GRN=k;9izs1|P@0W}46KKe=>a%6Eb7}UJ;S?8K0|P`qSO1tOtDk4DNdrEga+bFft)D`anlHsp}{E0vy2h2NgW^;r?W_XQ?H6-=~ z?5-`7AmE^i8MdHiK{e4B`qNbvbdhgC7Xd}UbfCPGV@);1C{WZorOZ5rlhl?{^28yB zNBDPIOS0>FB0Gmp2T;$raM8ia;D% z&5uE2D$oUA!eJ?~+r1lP6Pv?fC*Gi5P(idV5UV8d1j_IBU(0J^M0^mCxOO-WYedLfZR!^0$6oJr6qO=T2a zNJ)^+i2?$hE7=V5&Dk_0fTa9!c zNpD+=)dAepRyW#s_iI)hzXHNW55?Rtjh&#AtWN@JKqfwIMFd|HYooT0szC{qp2Ff1 z8qbllOfYRMHfDa-d2$U(9o3Qr0+?kI73xVAC7E4dU+3Wvy{vl)CG9kWnG{o|v6W*; zL1suSvNAp^=f2YG*)|MCZXIevISGQa#mh+~bVkxpCN_~R%_Fd>pn}j!Vv$e6^VamD zU4a4;$1cT{u(O|9n@K?6vyagf6{L}A1(lRm=!{#?T)O5*@PQ1h0sYj(y%~azD)zaa zJ7j8XG074^$tpo=0zgKAx`v7L4%2f$*OjV~YTA?Dyg&sm{x;%>z16>EtDUKV3aB{m zqK|0mT?St)n$`k)JVijLAUL0fKB3K`Drq$JCVoWnfUEd>mEA@8n5W7TL#tO|afF8c za1nlpYpt%TrqPQYBN8hG%S$w>iAt2iULe(m%UueGm85~Pzc}!5_Le5au2Yp-r>VGz zwR2;?D=W%L=&&`!5{0OBC_xgkuHUL?%GRr&Mf+|Um5vS2b4~tJHAfQ{WAx(C+QoaZ zCM0*7ysLyFj^_C~fuNKeyxda^n#v~hOdkPufM>G23db8-DqaM;ERY8O%nQ+q zk}{d*7x>xV6%3rJt`K6+I--QNft02=`4zQcs(K3qpx9d^KC`j0O43|%7F7Ro)gOY- z&gNO@OIuV+WP7vlLk^7xA1ogr)K$s#*cjCbDgect_cV6PPsMW)wUU9}>riX=+JVDI zpr6H2pJRk|-WI)7?|`x|InAk2dV@qmS!I0$c+8Mw#6h<=02!9}nm{0dX;R)fapj7+ zQ5vf(DYf(GZrW)O?FP=JDp!t#9zUx@&BdNp&xWe5YtWrE)a=JUecgspHfpRZx7r|y z2i)W6P#+D8BtL+r*?=k+E?%MC0y6|I@bmu#XVCSM};NN z%Bg0~%(4Gy_Ki+6X90zd-o7sUI`_goRicK{+*ZOl8guOGwbKOP#FE6paG{AiIM))r zSfpB1z%$eI)GR=*B`OdcZ;}#XEP%lGKJ+;H(cia%Pzpe_3|o`2oqNgvg>voUNv@A- zA}5CRFXbVP(-fY|;GjGxT5HzXR*D^2uv+4=FjZS6DMQ0hPC9pWP_a_CtIzH@a+JV8 z8|rp9c7Uk982-XKn?(q+hl}g)yMbe!p$nYy7>J~sQpm(G8!gD|KvyTwj1@mbrRp5e z2W6AaG$0({0n`CL|H1d#sZ$s12fuuoAd#+Zg7j5x&_hO@qT5j=4=F7)Hi1Ur#9VaI z{^6f~nU2heJ^%a*cJAaUIFu`70fh_|S-0L>gUHcI>sTdmn$_S$<gbuc@$4=090dh0iDvZ-kV31eU& zjb`OB5i!4mF8K)*3CI=+o;}`Wn*82FLO?LU>4L$;fhItN6Rtpf6;4zVVRSbrT>=%7 zB^t5hv|MCPzkKOM2US)Ey3FBdZfd0oDaz)T^QANlDkn7huA}#Jh%p2NJ_*(=i$r4$ zBvCwM1(o7=snXyCj2K`wJgDsU%4@GWL7@WIBtNW1K^d?NhDK@v8Qy1wbx;t=J2|gc zV33U=mcir0+3508GU5W%xOR-7u21jdlpFaup~+qhm$GyjYcKmtDjm9il~El&INuXl zM7+8!5C_pngf>Vg8z0TH5IR9KYh4RJ&wgZ$r2m;mNtu^9NUo431?i&1sI;c?xQ663 zH#Rsyx*Bc9M}`S(*|&VI)J3Eo!$;b?@0{XVKyyK8!j+X|?38{$=S2^ZF1ZFd2|2E8J4+Hm%>V#E07*naRB>aF+?`i=7VW765gY)H5d{m0#5WaH+WA{uI7oGM zBP~VwLUMB#r7#o~=`IS5JVrZhr*c)(x-%YY-$W3*=z5+Kg`6gHJlcFX3qY^ob+@--LWGc&_&To zvd|^x#%%>9j8|VjWrw#NawbH*dw$sN+*j++5CD-ua46-`P^d&Q4^Cq)w#LJKFDy)h zdA|8mv|7CM@k)>syR!>fG;7grS>&Wr{JW%1mPzjXtRYN%=;=FJVI><>zdoVh3@ z-^K+&xb_G=nLIA2?1en-R4xe*P+Ao+50&K2>b=n{>QxlUC!5jkW9PTq4)KW?#9`<2g zGKTsAnFydjab+!|pUZf@jN9VA=fEum50tmh~JbPBXhjq135hxSs; zzREzM)3xb(VIP{0fVm19U=f29me?!(1eE#QLowGeC(2r0A>3<8X<~KQ$A0WW8`U2T zc}n8DBA~)keBLxXY^l(M2+(%c(3e0WP?Up)x86(pf~G=I*9M>|tcBtP`eCc5*;4d| z7|ol#6Cl5NBnO=7JhUCLQx~B$5-2t6$Gd1nZi@4Z5 z!O$U&EOSfO|8O z^wF>{=i}@>-VH(*)j}#|ymx{%)=Ufe7F8c53#%R#HMwgdpb{h5|GSUuhQc~+_uO@u zq=NUuP84ufvWUybuk4PyK5Ts>Bla&p`GM_et%Qznli-zj3^3)$T@O3-N1e}b7~il; zV;-F3<0ntrm;dZ5Q~(Kf>Ams6Hc)(!O>)+I;|5yF44GqAM>zlhm%_f{zB$wKdGbrL zH(Bh3Q5yWadk3wxv&oL!xyRPvEa!UG?aYaj);qR@)M*ub<~EuIr?3Uk&H!Uw?4!pX zyxZ!bvYvSJ4TnnG)pLu_;burqvUuKJ6n`{|dxf=_nL_!c4*CgIe>d|nVzWFXRZiJg z31YWnkL&^b>_epog$<}f>+9HA5}#G}v+{>nJv==U0d70#meY|_OW3VDav7Bt+4%U8k}kWz*ROp+(_O$Py$bE zoH8wk+J`o;y45!ss<4b8wz#9X006KQ$`y_FN1uF>viy>L`-L~`>g*T-_pOw8gYf=p z?fp-E%mSq#5g-pO+YZ>5zWQHm@0}0WlTUxjjy?Xkz4_aBt!HGy_U>r29q?@4z0zwB zfBf^5o8Zgs*u%l08@II1w(mO%FXo_SLTFCb@3ZR0D*No0zhX_>cG)1sGYvN!oY*3~qX6a8 zzzl~C1CAjnDQjc5638s0-^lO@k>C^X#FnAOu=JFe2r@zLJ=B-H3~bndd!<0Ne{jSx z=rTr|aI2iLs|2S)SLGN)_fT1;zP^s2O*~)_FO{yyCdH$cYB`mVQ8istkrstV-z4LB%1+xv3N-2O$|nA+j>I;ut&1931)$5E7y3`ZT)f;a(#dSq#u0!4Cw|zE2HS89p!k(USyD=~cU8Udp$H%Rv zJwzEEnI#ej>ZPpTEKY*}f+ni^Qj#2=ejOtE8WTPaCr=&fJWdQLyMpzaqIql@q$&-H zT7(@K9G^g>f5B1i5b80rMDq^=lw!-HfB?`bYzQQ--GVy<`Fy{KX;vyKO?$nW^_?$@^DsUht)H%KycAe+iF8y z*Q^FddFfKOy?U+Js)7V^NYJ@(QYnyL>BCEjskJUd0HU>uInPFY3F7hVX=i5>eBh+D zhuE@QE9ZfrE1gBKOOR6|w4du-B={y}viVMbdPIH^_pH z)zvp-@$5?O2`(hadbpX20&=RazHx~GU0XKPeUmdy;~wBZF{o8zn94(}2g=3_RRqu` z_^C>&``~a8YcMzme?>s65y-Mv8G=_SLlsL2h5IPrJo>na=89^X{uZnU+c3vss^>%W zGl2z?*IXnaUJ$UrxpWh)ZerUeI9pM1t!ajwu@^g?VON7eVt10fwYc1%Sx@u7je+K%-ab zzgbhI0W?=*!&j(WteNo&~_HJbcwM*LGlUBdQ2v$i6aw4P~WV`dHLMG6#}4hfNl3 zPf3BUp{lZ!z#Xa+izqbR%bLiROTJZz`4(qX)Ql}qR#6Q#{a97T9OUWLP`6AIoZ=Lz zD5=q`h`uUugJthTaS2ix%UAG5kOWvxpbc-0>XTa)L(YvCx`M{F2aDJnXw)aDASmWo zVn0gHd>-_>yrkTQ#wR%^B>2$S)LRrHu?qweRE`+HQ3~x$v^|p?$E9kcsE|Vwl7-`Q=0K03P?T4c5?@hGbdY@y@z)jZo2I%ao+1zoql{DvAh^@& znmVvQvIVy_$mK89Sm&o9`siJUsH94XVwHX{zykcAD!YpD!t{o8P&KQrufq<_gS=}B zB?T_7LCL>BEa@N@Lj~KU%2QEUP9K6~crPe6xb>L7My6CWXo!c`iJr=i`XP!-wU;kSLeim-dP zDK=YBeh2}e)2RCGK|O)YK$>LjZA`NQKs;{od46&K?6?l&vEO7cxCEh;}py zg3e1E0HUV010N3+BpfPwRtKsGj$j$aB#VuuCL}ixI}J>pgTZp4{VN@4b}`cj2QZpk zFv+AJ#}}eGB2Xe7*BIGzK4=;b2F_v*h{JbE$2f(SO;*Z=NY);|lc<-sRy|K4pjKRF8W+{#44I{Wn-CvkvG{{i_8peV3J zvz)SR=B{x_(^lWmZtuMFF3yr*7u2i(t;xlB7mXTQh=kMFfKKi*rEP68$-JqQM4ZVE zMdGQvnZJ|qh;xb06jxSi7?=vq76BFLQh=--p#>*U*@PFWU~iCS#VmMx`Jmr1x>$v3 zt;4TU30{f^oKFWas4TC<8G#<~=0d@o;1ZNYGH*$;a}n}Y_ES)&KvMimq0YAkZaBf9 zCaQ&LPD{fTOY8oa8Yl{d_J`0^by?rm9+ekm4`bkk6zc?H8yw@Mj2mm=1okTZYI>Sb zIvKXxK_l5B_pE?g{5=KZ8hYYnf9yq}01A|4T-1Q!CO9krjgoVbF>(_?Dj?jzNi9;c zDe!Sa2P79=^f@cglgyv z7X_(o1W061-{c%<$%JeR<#4eUsgMFY_8Clz~`sAMs<0Mv!08p!8AeKQcN1pLfZLk8rj;Agv;SR${21U ze%@AYIjSW8{PL+L6BQY;lI5xZ4(3yP1O;`cuzT06ZFcQL^T8*Xk-8t75L?K zG=8P2ZixdZ4y*KEi^G)n2o@De=CQ7#dL=j~(m$8OQ)7^tN|jXVmsAR9`QpnY9t6sZ zG}^2ua0u+3)E0>Zj(T_+jww3L^Q%-8Hb!iY#M^RaLB@MQkos|YV^9lvpvw@fZ}gG$ zOf$}Qm}fHyt!9E`YQSokGB-OrXd}~?Q8MXcYT*EZIze6ziMM+YM>%dMFOT9BMwvKU z!&w`|nJj^9!c|VI6pK6?$WU!fz?$lCz=s>HwSh+9^%3q<@58=QBN<6fKKsYZP=(D+ z=r`;KsV6Kf19nic@Db#<_~>^bxG$v&)=*Y%o1P*@ER#md&h@{6!^IxZjFp2eouaco zpGss|NthmjD*Kn8y+G2%q{4|CmV~pphE(GQl&aL)B-Dxpn!b@JD}_5<0cVv)_%#~v zazGy=C|XqP;p}rgeh^H`fKaLcYmlU>j!;2}5&)sRu$Dn3gngX?IZqI5r#Z{QAh8D2x6A$y*oPbUdogp`6k1oZ;HvcaBMpoc)y zR@0n87yG)QG;EhCV+*LLZ7at%qzKaU4J(eSRD?)@;EJGC{UaJ6qb4yA`)VEDwj&dW z9n;x$C}J2Wq26hzN_ixCX)3wS>;UPtyRJ73iA^oO%b53JptKfJ8J4u0H!0FNqD43XGcW)ek~-1N*v2 zAQ*sBB3ai8lrdIOA~HC;{(KU!eEbOeC>Q};2&w@bY60)03cc*5XfJtfi zM{>Bv7+Kmh>k{?{QOg-~<`xh=a{lm9#4MWtDU(A`Qc0}pcO7(8$yP}|)MT%QeNnEQ zJ`1i@RFJ*U;3Px1ih@lU$+d>jY~<0LN99CGm_QH~50D^YxlogqNEU>AyGT&d>~X1x z0HFfDBmsnas7Rt6KCb|u0GPd0R#JmZqk5!J)!`Y|5cG$!i}Q=v1Z@2#e%zB&V10d) zcKYNQJ9g{{Na(^z%m~=uie|K7a~L>xnQFg_X`GMmC%FZnK#N`K90h)C zN)eM^0WVgjE~<4F;3VseQ|m?}tPrKC(_oNG;_UT0EeWhH7ob+=LJi7~1j@S`_5 z|A+5rXFtSkWN3ky6V5+9Xghbc;B$t#HmRvG8-&-d0gx5LgO(Jc&QFlu4NVp<;CyDc zx0gMe1^Up`#56ZPoRx59$g5mjgeu1h)Qv41KdoRm_Z2e72{tgB2Lg2pXSPX3y@mth z+_B;qE6~CsS$`?=XmD1mk|Q=Nf2hoPZ$Pesi+h-l9~<>9ics;}{N? zCtwHJ5U>C0U3>n;mmq}4ZKC_KUA%eKzW(37WtY1~kSe>xWTGC3=zZ2lR(@@82+{i} z8OfkkH#FIwe&sKj7}Rcm1K0U`-~Kj>utfQw6+{BWv82p?_2VC)jay~!f8tSl^{vwu zs&29`edYgzzH$Jq#WE(_^jnIC4s4z^ckZJ{w9+ z4nd~4&y^K4{}6bJ_bjAw9pqLHUcsv(NT;)%cNBt~g;R7UTJfYu$0jL_5KO9i!jae1 zCY9{GI3sKl8J$X49Dd4GLZO9x3*8n14H!jk!1ZE~xKk1`1+i>y4w9EeRmoo0CY^Cd zaX<(=!LYi3^T`xsU?k0x1q>m1J57z^i~Of`QE6NI>^AzGO#rLJK?6wC(8p1CjH(Be zNo%85iDS(R_|1hWnARWqlb;sa;j9nFV}q<5i^x|=!Z?`hWE=%s5>DIX#5k3R60RTN zeXg6O)LT2>R|2A+yB+BBdAxO;#wAvPpQYiD0B@CRY-;7uVThNIOxqv>R`86s;*wlQ z3!QX=(aDh^>lqv5ei#W)`AaB)vh*d4X&%jYDRh*RNZZ}Bvxe?6UQa0;Rh7m+0bU~O7J{;q&olLk+gr^ZBXE(1Zy|~tx{3hh zLrLLfiFn7kmj10^NiXUVTgYnVLqXCol3X?kCr}_ZhX1xEub0nHfR6a6G;FdLg#_i~ zAi)IXrjQ<$4K!M{ml6O5L?isB3c%YhQ`MV|Pk@XqGeH#{WrDXer*Bz(C%pD-f^!3T zOcG=-LVt13@~?9sXVnY?LRt{ywXVI~a*M88EOFhITp+sX0m4}V_jQo-C4C>_t*y}LXpZJ-+-SYXZ2pawX| z$)~Eb(N9y}q@`DSP|g^nv2fDnMtf~_Zo+acdw>R0zt7q(q$I7g+t{6aO%+4NX z|L{l-9A3BfZ9!~2s4{1Ao#&In_xX6Xg&<8qhAfoUi7z`(kR0YYPLs5Ps-dnS#TpOE z?Hb9J0y!^%nQXOesic(&JqNA0z{O!#jyzr5_Jys=N2GJ07Sfy;HaSnsan=!i2z#QhE!-m;bJGi z)bvOVrqKk<*4kQl&m>p`xJz)1*C;)!u}pSZ+Ws;4(%GmDD4Cc86e3Rt`6Rhff{5Cc zc&QustyNW03G5_?n;WbI$)s9E(C!0d61bzmPs@NIUU=w^dIi^?A?eC@&If-_@fD(=&6A+z zK^05lA0y?+Z${{qfdUaI03hLgq6A$l0BNFnq;((o2n~FR(c_^eJulCG5w5r&P>aiU zfF3oaukzkA(*nqRj>H-Z$S-3$pVwOw9 zeqy6UZ>Xp#C2*zs${wpJr8kOmGY*h=#{&(_RcR62j~l=f=vSX9PV4nM4b$HX>F{hA7j|L4s?wB;@XOA|6OGya@9~W=h@FGnvjhFQcX@pqb$?_)pd>-u7qBYN+^Y+ z^zLn;AeRBCnzx4^+u```)pde@e0T`$X^9!6Xza}g5Dt}iY0m6~HUwx(kIs5x4oVSS z`!xtuA7mn60G+!*N|_$en?j~M&EdFj%d${S=1`1`4{;blquB*{ye5eg@*?1$0x?mU zeRtCyd-%SG?D(7S+W+x?eUSyJvdFF~+Z`$;XbR(;_B#`vj$gQC4}9R59Xd$UVp%25 zV#{hPE139o%D(;Ge@6THL7GL%?CPm^=uT%~$*x_NIniqmzVA^UENC<3Bu(JMe^3TS z%7!lGr$6)|Cjofj<(GKiX-6OW()qLYwXgjp-J2b3@;U1|d(yt}haX2CXwv@ZYu~i5 zJo{A}yLuByUm3j5{^vh_-#lw{ueY?=p`%AY`JfqSGhnE|eyz2pk_Q{N(ZLZk4X4S> z$gFUJu%p;`pof%HlW?OF8z2+}zv?)4dr3e*6_T515L40 z4e^2IDA2}d6CAl6L^DoMq;k3F1GxlS8ZIKEFM}-vRl)8OGDB+Uknnzz;6;rgij2jj zQ(z*Ydj0GsGHqFuvapZ*9EMD3Ag>p{F%QG65yeN2-p9R(DgtWFpF#x`%07o&zj*s1x$N#ps0(h&yY2tkgGU^UtekMSH@0B#qqDL(EZMoP@zJaWaa{? z&B)f%y>95duTs*^;NXgUpx$(2=dgFzxwae-73tM#?@Z1!9k7{ZnsJ^JTEfksj4o7l zu0&HPC!oWOMBFT+epB#ewMQb9N>^|M>mW%^`IVqr9QQoX{}qN&L(Nm7^cW313H$lN2&2S(G!)juqr{>0_d(Nw%78O)!L7~CVk|jT zF0tBD1OO!^l>`%-z6G)m`r<)qPKb|W_8cu?_FP_)hA^s5I&b;x12!hXD+66P&S;oQh_g-rtn3uJhU~szj-eVo93ZIBDsjiV~%t&(Qo?O!IUxXEL%9wK8nt8iCSM z0iFCzh09q$se{Q~J=ud+NZ^ydUSzBDg9P~%G;F5rI;he6wl&y~&UD%Rcki(`U;B~O z9SPat2e2inn3Z{ucw?RN{o_zSO067JJ}1*|t2B4sy7{)%<(5GsDYR=he`mk{=TA`| zoUq(Tl2N^NcI=sq6|)aR1l--jN!xY++cQ&a*9SSDlZ?{Dnx)zHGl(?Lo!oDWl9ZzS_j#jb?lY+x&lmc081iF z*_{+Mibq!nYPLzE<07bAbybx;aQF!V=q+q}#x7ldp65!l9cQF~3Wz|IMKrWmDT@~} z^v03N#7@C4p>GK4926hwj3g;x04yd0BhSVdKYEt94ipcTp%i4h%N_gvzncn`xXMl{ zh?eawiIjr$(jd#aC{Bh!w*ls#5&f_T!Z zj$uOhJ3SGjQOiJqT!lC8CaLyt7CfxQI@g}TCTfqaY%)NJCgmVQ)&zM#R&erNI)j-XYquU2*_3k0o|mo`pkpw)zTwsd;J_yd|KyFiTt6gxIr9z~p{25e0{3POOs6~1v zF?@h1lAElxe3l?BRV_1sLt0(YoG`{z(L~3TeMj>i3C#H!DjD>$%rNmX5gjFo&qF7k zY6a+~hOreB9NvwB(fJEK*p(oI=a9ej)iFF}oFO$dPvWa5$4?`jdnf0Nrgvy@KG5O~ z=!Q4nc%EK?8u-Bv+t~}}2_8p@6Eu7ZU{gL50{RL(`?mHr_9XxYNk=lCvMa|=SQhea zO*^+!^-%o58gY-R!_-m5*Fdn`2*X^aq7JP@a+SGMU`tDVG?u%pp8ce_L39t<2lWG~ z@lbI=V@(adC1EoJ_}eOq$SCq{aAKaPqdqBsGJm9k$*p3{0XznFG&S%3n9m6R^UHSSLZ+B!NkDZgTN?QU{x$flz_|*iWZP zV%&hC6}UO#IsnbVp-JM;5EMH6J)qeT{RTq}v{T<-l3pV4JJuA=_(~G63{7)c9plpg$s;NmkDu-P>T>w>5H+Y(|hrjbX$+<8Z-s z$c(~BR|WatE0-^`KtSdg3pKT+`5*~T-?Q_Oec|cP+O5+U?CN>w4C@QlNJnP?N5@Pb z(64fgb=Z1tfHrVAwly{I5W>hOMQqPDg&=%mH z&Ol2UAp;wt)OqO84m)?@0+Zm*5X57wSac7i7av?FKm2cRE<2S6yG+(IG&Beg92qv8 ztq>(O6RkNMa@-?<8<8+ZS7oY3z9*-z!$uIxLA)(fgaZbJl%o`K>oikx@bjS4r2iL9 zX95`aSzY@p&5X9ujAk_2HQFUh@+RBz?!>XSKuTCbAt8{2B!rO7iQ~juyh@gA?fWi`Mj9;!*5?hvL{_}nJo_p@O z=K`d=sQA)IehV-a3X0O^3UDis&qk>30g8n%Z8;djRGVBky_i$B){PBS-LHM1#Jg*_yX*qiEV?dw1=y-8*;L4g2=mwyisGG1*AK+-ME! z8f-lkUSs`w2DECep}v6ujtb7^R*dAEZPVtB&V}vi>STR&2G6gI*La-;S8$VjMe+)@ z?-Wo4*tK?59@WYms(=OH^_QGSWdBoAR7lVhe+XN^fQ5kl3SaNxx#!Zlqyn+QLF{!n zBTMK9vtb+6hR;UglwxS7_>A()&`tLZFf@U74tuwvF#1%qwq^BE+z!y)!bpry4$yW( z4p5bE6T=>C4_|~`D&zUWQWZ#Zg>4wJrV#QAUILphPf#6?vWm6d-oc|+3~LI{ItR^G z4nb_B4|x#!+z5a-DfXYwkhtv>YkL1$1Mjf#1UN0_;T=1LOR7LNt=j;b)mC6nGGXs$ z#UzmoW#i^$_%55jOLLQKbxOmhb}M(FgRNL}L|_H#*TLEjV)w-NOQVxAivBUqAct1- zX5i~eCS>S~#1GhtBR5%OF-AJCFB^soXb1pe$P>a&8#i+RKaqJARyf1p9uvmWssv!0 zPcf?jm&_pVm*K9)5;$d8=iUkaEFB4zo!S~UjRw1txRj0E+6>HFRVClYDbD0OPC?5@ ztRbog-r_bkE9D}0!wqeES{N*P!vtb z8Z*lo&|I3$XK-rC>Y6g}cTFK7A$P+iB9K{5F@T%JSTD)e!=}b|mPp~WLswzN)ywB; zuv7z_nE->zfF91pbuVE#{P5_ArAn@j>khxS#xtR`=k*E{DM^!*siYHp{?3-dwLzO) z4PjTuXGSbd5?dzYyf><@B0T1Ov{=)LgA**dS->5kAXs3l3}-D8R|>g1Nr;F!{`*=d zmTx6$_gAvX5P?K`7|mju)e$57p;=@(?Y8@dO6E&4?aY}jr|Z@?GRQOPLc7nBl-6k^ zc@*NDy`cfzUcx?>#xTp%ja6qWbn**UvzvV zH<&^v$|vW+C6nkU1z{HU6bR#k9 z?QLUFbbz^mRM=@`DV*yifS%ZGS(K*HIg&He9AGSUIYQw~fr9;=hXJevgSCsq{OPGw z27GBv!!k?07ebCXfnT-cXChNXER2o-B6xjbixndkFVv;d*NwrxEy7sO;()Ypx8J{zFH%a?D&fSuPj-%nkTMg~Det=eQ&)f;HbS31nLmo9id^H4dtI6|=CXGYyJo}-*x zc*uN?0{_>Ua)D`Co@v%az)o>o#E2MbkqP?s31(WHjkJpC{GKzg&mEJOJr9B$P97ue zDbI=77rDg+cH|4xQI6I>!O-{|jJx8LiVp!b&>_SJ-7r2I?QKxJ)nXlY~ZrS9ZUhUEfT-QE{g<6gAl6Q(1_HcpTkShL7ZNO^jYE= z0F}vMELe(D)DlB88NzeXaTbXr9e-!f5Wt`FSXczH$L@`~Qdn&)=D2T?S+2Ud7tG9^ zzi`Daw!CF`-~AptwEw;2G+a^^N5PyT3XwzR$xm9{dz^0YY|iqPIG#*E|2wUCN*ql(q;FwA{ewN9W?@KeAqLLd^l`RtMX@qEe~bLlXFz4%NrA$DeG z26+bf@dLbPiK|uRXujQYi7KJ61pbS(%<_>e5m)``)tQntXgim z%@!HkeeA^(==83zeWutJ(?fO@9ce17U8h|5g5o`T&wJlzfBxYIsnVzHpa1py_QEqv zDbqf=GTv=>ec-*e^`={_9njp|;IZwEJM8CAzGlBWcfoGD=>|J`=dJefkAB!LoVj2p z&$QUYz%`Qgs@?bA_rs!>!Q5;{?m=~qRZkvC-9^>&!t*aUZ5*|SR0$^u4B1%87_9R$ z8k{u&ST2$#K?er=fRY3$PR|^beJa`-@!0ZH)Y@!qGn-*3s-m)%YE6eyV2rCsJ50|! zm5e1P60y7*px|~nK~EE=^ZcxLE?(u=uWN4QJFMZ(IEPydTb7^Kg58olE-R3p$WCgN z@1ZJQ5K=)$RkMckR%qLaftH~)y$XGAXHr~)Ekf=DaarKW z3t7V{%LF5_iE242P@I0}to`zdC+yRI{RzA8z6b2~TW_P=@#1xMkqazc@CuCJ@)Fb1 zFbT^9wX)JM)gwbpFeNT0uo7GetZvSzw9kdSRt*>?X)%f^^uQKXh3K%5ND(M8g)b+F zG0VzfAO?M94&S4&aKIKlEFZ~+Ny(Z9cnn*2{{^dJ?QL?d7(hl#Y~d1shIVI+3Yuip z-3}w;&c(8dmAcClwrzI_Hg2Rw7(2ompD+-aXPX9tyRtk7h#Pc3N;_0z3SdgxxwPUs zhNWGAVlqmA()2rs3OEn2Ac4q>(*px`eP~l>lhz<0OaW1!tv>rD613WwSy(wO(sK0s z0p{+03K85|0MK{cm1kS((fPq}Pfz)5a^wnaxI79P^srSKYye}>$CuB5WDYG&20iBe zR8)MPoE1OcH^wC{jKeA{of3-+rc%1fI6*#6$19EGuL@LWUQ2q!W@g~ox&$MX zB!JHVQnGMNn43%>OUPhICuU=Sia775g0^Bct{E==TpC5@68CWtAgiT4n!QNCTYMYH5I-Kbs*@C+TKk%AZAiTcTrtE|fmB z2boDKdW$(2_O?qyc!sh-0|2{--chavDpYa+Ivi{V1V}HN08lE=0>}9I+&2Mu&Xa(* zx_FYI$kTcWaG+&JV#LJAD+#y(u*)$1QNFIYq>h4zui-rR_D)itsG#QO@U>Si_44OY zE))Y!0ZYM91zxn+F@n@4u?Qq}!^*PFu?E>0GdE*w$cyv3hWqF;&7_%M-y86{N>Uyf zp=05xz~y2bohxUBRn?PYDJ&)e1Vmt`W-~25M=?5!E*(}TO7|i%N{omwFglIkFCNAp zxqxD|$RdMF)`T5cM;~1SR{@eB0C34V%Se`3T?$SoplUmE>mKAcaT}WLMY{-Vc9nr$hQuZr+)ThUP4H`@NQ5H1PA}~4 zr4}~iaxT3{FuDf@h^5%1;gWL8ZR-Kh9nKl*=*6n^-TMLXbNm{g3HQql!<`4w6I<@G zhPrK>pB~N+mS?#DY$<2|HMc&YH-MB(}1HmvsOMx=5s zHD}_2nfKB;NuVtk6SuyE0)>`G2?Wyi`gP9opbbr1?fI8ZQizA0~PDLxQ=H)r~0NmR2Cz+jMyQCgT3ZsHR5wXH+{YVyHF?2x>Nc~vo!*(l3$gE<@`bSR4IpNG{^VRP6L7e z6rN2s1LK(gFs#k0Xu1f>#W^tjW3ZfJodu)?th91IA1ALuh8+p5&Md|vXSldDhrETO z5QIaF;WvTjC30n%tJm?$PoblplLH1I`zS3gFhHGK zlx?@}-ES>ddpPGh|88cwCSl2OiXgs6=!z@H$QfsWBDlA=$L>6G5AO}4MFVogPAz0p zmq48n6%A=vB`OBK@> zVF7ps?en#3m+UV-ct5srhad;o4jRHIx|pJjA?SGqOH~BOmM?`RUv8wunv0MeiC&1Q6J zoCF)>&064%~60d&h|OL8Pm9m_y3uJ}&VZ$!NZ}1ue_~Nf?$4%KpqB zU$FfE>Np=rXL~zIF2mMWSK0j!zK>g*%C@qT_WG;u&?2HDIDLWym~Q)bHrnm`aMIun zPWE547hgPQV{Ae!tE?nxEx=^%fU#mtGc^A3GiPl}Q#EbSAg`&ChjWJEq&}E2TK5cp zz3YMdoJA@9qu9g%0@TJ|OAovSWS~U@ zNIm!BOFT<7$RzwEm9sYT$*((=c6fO;EEb0>0u#M``wfoAwltx--~!2-?p^>;t1{(y zac}?_9CCRRlj)tQ=i_g@iS$HmTDJqzxbFle3IxDj8bDRROv7rrk#459JOC&U(UxOi z54``qcJ#=*?4?(pvpes+m!JUq$N$7=sU=2y(|rM#Kg)UQ@^j@)vJ?j z*-wA=h=nVvc)v+|{rD*+*8AYu~Zk4j*9S+>%6-1gp*ZoSuFGO70GrYo4N_UIB8G!4X(hCs7i}&@^YmI%)V+3?jsVCUHo7 zfB=}KBZq7GS=|H?hNg1H0n6!j;!F&Cza0L~vR7W|wZpeo!!qFKI>XdFasxScWcaJ> zTr1n3VC7Gr5CaPs<@_hHN=#<3Dj9IuO|sCCmOe)nf=QUUoFFS$M*;1QpFH=7gyj@r zoLk3HfMj37B8@l>8^lwFXwdY+R(OlkEnHQNRDtPs^wolnx=V1&u-*J5p zfV9|8bOA6QBnN)3rt(ve7|4wx1@^=Rd+XuZ=0XCf10f!D21$Z8V6IVAsS6~(YrSq2 zuS4jBYs*VnF2d)Oq&tk(9Tk}Y>cr&<3; z*5RX3fur{Cyi;JPTcp*&2`1a)8h8R6$JGJkJ*xPPF9i5n(rFg)k*@s;gJPjViXgsg zlJ<21)=X@BEW)tm0QVD3uaAlOInHH1!+1j@2@(#hi;7TK*d?r+TxipEed`Mtgehg4 zSNmB9U~s(nxqx`Oj6RlMrEsTZ$rz-w66A90ePzm;jyRT05>AI{5@1OsF6tg9aOdzs zoVd|fdsc^W&UlN0f1FN%*^Z6d7?@+|F%IwpAhh(f!=my77bnTkPdm+gJlVOUs+r1EEqn_@ry=QGupfSFoDOC#i8bZ_OI&EsVg;F(D``vt zvML5T$60U^%djGbt}>9?JP$C(^aH&%$(dr=OVX|)C)~xbX@bvnmhPbJ{YrV(v9x@w z>i|j&+o$rGPO19fy<{RQQg=3md4cTOMtkn9i*{~koC3Rs0a5Ng@lc%zF90o5(yIzQ>MzF{l+&{) zaL;F!#z7FPst$t6J$;^zJt_aZt~I83haugyv6(wW(bm-gX(j1`Kngl)K$Sd{gCXo@ z|K@{yAAX&EyA< zL?1rVjl3wZ2r|MLKx<|eCn8*Z2721;v7bG`Jw;W{XRWyjIg2>-eITP;;m=Nt!m`#^kk1zELQ4-KCJJqeiUnekx>Z`=ErKI} z)Ts;tVqj<(@Xkj?2U#6CNj|d41?$4Bu!o&>lSjI+Zrre`mhY2odw1`*-yOREsO#k! z8-+3Y@tGkzeCQ@etLuWGa;HQ4IK>i+$*MP6)4tp74=)|#?hUf`93d*_RQFt+IxVc? z1LD4eW%#rD{IiHrsmv^t!a7gjmf;d92WXQ%o%#g%#EMPxx`(fI(v=_%(&3(^!{y>k z0y~^;nr!+UnIylUbD}t+&YFDUgUC+ekZNvzekK5Wa8k1o09VMCBP*LtfHMGvXtY~(;V*zUkv81^e#}j09_=zVr z)YoVE9E^j_H{0pAPT55&g(S>~HhC3f${q-?NRoBO{f<puS` z+JGqSfK7nga(nZI*X^I)xU`jy?O(pD;Z2=69`XFhqR^ z43xG~Vu6V!oz-4eU03UTPF`;w!G=N&#!(J39tZ&!32&7`MIEpN43bhcvs=+wWMJ6(GBM=Sqj=6(3~i4eL%?t)nqC^Vs=SmP$j;k{B4a*(vM} z0c~0@@5|-&WFq4OD86}mfcQZhm!(GuzW>-T@`dp^aur+dCSk~D>44?Ta7WX5@8l%N znML%hybbPP5iuTTlDQ2OhSpVXPElCbxZ;pQT#3bGaFZOT0Zhp@7GULhbaa@x+r+af zo&MFc)iq}!PSiD)}e-t5f;#T-Rjey=l zia&K%{W*E$6z(~%UH`p~!M5tsT!xGFc~QXge9)Tmc}TvQZ5PjBcelicmS3_X{F+31Wz8fYV;{O$#gCA;GP zkvk|v`0Slwe9qL&KtBXl8nbDz%fu=zS<)Oy1_YWUXf=)XNTkSd7)V4Qd=lh#Ep3sc zRG3E^c~H57Tb%#qz3B6a!9b_-p0Z)yJ$SMQk@+MTgq~*znqChC7Z!th!wicLVFg=* z)!_cSKWLllj$q-3w|KahJcWL|0bO|vM>7#n7*GqY&DJ?t|8FXoqEJ%~Gxmtr#&@I1?0S#*}Y1DUxvjd0eOJeHl~?3DhU zIK}rL?u+ogr@>fssUeMB)s^`VZLZ%+Qb?k$#4=5uh)g_q39<<;p@#vQ8rm|ueM?m0 zi}vV~zqj--I!!N$2j*m%cE-jnw_0jJ9bU}E~N* z$1O)~*TFjg7JZ2L2W&gc-~NL)+M_@EoxR;RY8_Ylt)l5xbLW*>hW^fnncxk3^Xo0$ zPaB?3;V=H?)AoTs`%`wfx7)*C{F0ry(q@CKBOapF8b>4Zfqmsz0xjE*pFM}B%x~ZS z`48-tn{Vg+cmX%{JOHznkrC^>a@GF!ul~ZA)nRq_FY)smwtxD}-`ZZXrWEn3<(U2)#@AU zX843^n#yqjkSox+!e`|S(E(_s=i&xYp~9|H9gEG9%Y}lBzD8Toq=gfxSCEtrTWqi# zGdv`UuFh_UiQ=269;fO;(*@%%P1zipTdme!<&rtu#(4c3(F;EIpO0Z_SWbfFQSiXD z5Fs6nT^emB**-~{a1IH^9LY~ZA2E_cNjOY0hao|dqpxwnmcV~Fttqw1wAAN^KYYyE zuD09J0FdDtrCy<7nW0=qYg>;I$NBy_20KTf7nUdPp;J*@~1$wVkB|1DGQCjxl%< zTLz5bqSDjTVb{7~l(6p66%T|G6niZ6L5r4(7QUod)66Q2D1cxnM@Cq*upkZIkZo$H zqxuK#~>OuK)QgeFGylQlPM71-pWKd7Lhv3F+6#-Fu?`W zmE?S1XSUI{b8lynORdQk5SdmO3(cEv$bmfota6rOcumU*hy3WcA~*{b=#*%CpmeBW zx;2HLaQFYW^j!J24%yi08&7$zXOx#W)T4a+O+~RvBEa71qPD_ zSb{VO8$HcyTf&JYrI@XJl}LpO7}hR?qoTN26HLglP-fUF3u~c*CI)WX#}?5%Sb$pOUxj!`_T$M}q~##=;hA0f_BsI9@~rPA)! zECRm(Q>=SX!dXII#90W?hOTSOch;N7A|zYb+ga|;I5L(=^2IQkNWv3VbGi5yvml~p z5X;0gn{%}TI`GV9_^KjYi-p}7z#z{q(CLt0_Ts>lT^NP=BS%K{HL!hUoZ*tp6nkny z_XO``^s57XFo9qIH^U%N3hXH)ku~&$M+UmBCZ_@ry@oe7FP-@2MkXTGRvKOvlrtl2 zTr4T$HI14pfZIzUQX6DF;0x$aZjW%miK-t#p*(g4Tn5j+g^O_ z6tc);ED$*oTq$Tp_!*R} zYgkA8NTZu~m0ShrrK_ZYPUV$!X}HN}>Ncu4=Ed=Pl=GNNDGf7x%WyKk79+;W`<_Qb zjAGDJog^^0p3MqOI1h^4&SuG~I*Mclc8QZ7W**#pUh@zfT6^s*EaCI0VrXs&N!<_~ zz}B7!K#aBBNE%jQu#|&L5wH@BQ71DqiuRa#lP?#&HUA%Y+*1V4Q3h*c1N}DbM zVH};kJeD7L;2sDb{PjnMD3Z~PbKX`VThyJ@^O2lTgLz_*#bT^t;iml-it8CX(Xym5OB)lD;2W7j z@Stsjf7R&*%QJe7L%YIjk0Q~y*4b(2&*5rjQ+Ds4ypI^mOb)T66RX|QiXbqD^WY8I z_|O6*goHVCLr*I!+=z?eh>+5jr4P2~Q`8sc6kh{LHrvI4i(KB(8#! z7Urjrhg}!9BpJ-^MJf{t6+zGU`&c%|lYII``f7oVr?RzM;u2Hkhr3s3zDU1_o97MBr>C#?PKIorPHAQb{u zYkZiRVjb>mXA(He{_LY4MIXHhO=-V<2c}WR^jspnNRH)2(#Bi3>c>1?H;dgb*$l8|9( z87i2;usa>CH1Wx~nAx;%ba;G#<{M#s!Ua@ruvGJi-IqD!ORK6#(edPHp!2#`QdLkY z!CEp00fQ5-zs7T-dO|_~vL}dLX9UC|D51FlyQ#F-?zr_Z0Fm{iXgGCfxgWd+C!#t` zn^-!sA?$#pApk1^n+nI@J^d`dE_nrs0)3`5Mrw7$#Cp)Wlw?4^r()plJNMd0KJ-!h z5r~k$ptJm2Vzx*$bv%=Qq8vD@uKVZ+k^qRf$ z##@%p#=K8{>Tm6px6W7(Hi)+zKEkD6v%mYhzek(pw}P?>fX4zd3LId17wxsq;BN(!mp^xn*>0vjA`$}N}gD+^Nq;&&RPzC2( z=T%znXyC$?`3^W=BMGf6X278E{sCd~3QYx^_m6q;KbE!;V|jkRrv-~8lK9XtAe*j) z&y5`-pTD;EHEzZM;H3@*AL)RQ7t+w$3LwT{10$Nkr_HD?gOXPvfc_&NUx%cMcJ0D2 z_mxe7=tYNdU>IZ7`E7UZvXTCFew~3mf|Is@F2IIPP;FP0quq|98SU+|+inSAqclZw zqg6+1upm^%oySd|nXfW9;ocY{hz%PI_7j2;&YEl_! zmDFG@2@?w_mh;VSm*u>_YPSdtn(@i|E1Ozel5fLu!T~WOj3+F zl1LrLa3)KGbm-8DD|vMHwB1xvhhDaGX^Do;l8l$U*_pa?~| z+Y_`Kx6*1R!3}myQ6$wcx!+FL5{)~b(a698Ea@b7BM6w0WG-pjDgZZ3;GZ95$H7p- z=0^GbGBo6)>DJ!Q{jH)af}YZsI%@|T_u844*$kS>a;|>&DdS_K1&@UKAO*da&3ep%rmOOpEemZKLyYQNTK|~kS$Q8 z7KE$qa_1}{WRZ?-xdZej$5~i10eeU;^H5~2k#8(D2%zF~a$|i6P*Yrs!GbT*8Snx? zoWW1-mb#fbV-CT>=a`osaAXRyIdi(6{F?HL{$1TcP8~4=?`%FZb+Ycg?@rv5_HdT@ zzOaP}*iui3?Ydam4xx$Gj6*(!nR17m3u1UJ2a91Y>0D-!%dTAMWC(OCk{$HElDJGx z+GD?c5qoZ8lg>VWP#w-R&iTUsKkstINNDgK;=x51LpfZ7t1if!Jmw(Y0~lOcW~g&= z(0=}tUt_OFTp^%n6RgM&fk)jjnOKT}b~>go%R0w?7hqTR6 zmS(Fw4}t9BB6R(%li$B<1Dz#UV?b^S!7B43&Vj;0MnSY zwIK;0Vd^!9LKN*K=#{x&b5Z0ySgEZ7VCAJ;$~}s~Q2UTJO_6g3#wcU~(Q+B`BBh#z z984j3YYXf=4EpY!du>x4-66#RT!eo6{F`{$ORkrS1s_`mdFH!!ZbC-L3Jlqk4PeXi^Y~4fm z8DI`MBLXBze3Vt6U#vayqF?^}J9T?%8Y?yg(` zFU~s!O$s|f*7$cfw!*0lR_BN41Po&aF*wNmVq0V%xrJw@=d!WcZ@rzPwza7a!iyP* z5;~u-`0@FG4I=Nz0;_4ebsG3+a&(x5H8B6kXApIFc4w@V=TreI{^wKU8nm4zYK$DK=-YuB+ zPul$-`WRJZkv;$XbM|ll`gLqukWds;Rl)k?pjVs&!OOmBjaJ&-?|zq^eDxUDR>N|D zI`W9@()Qha$ZqHREW{S=OP~9KMMkb#DJ^$t#5A;V^H$hIK8Rnw)@Ci}|9nLuq#Qo` z`~US(d*Su-Tn-PKU^WzP!KQ_D?WPU-#m|1qx+jONh8DtupZFhGM9o0yU$tL9iLRKR zFBt=+krQ+d9l9BSfuS}N_7N&Ec`Ig;u!Csz=2-2k!>qug1q#wXCK)ym3-;QvmtYCF ztbl}h1}-XD0X#Z7&V@t^3QM{GpiuRE`|XEu0D&FBt6Ge1CVKIH+Em&0gDR9rp<21zYsIV6y*gtw%&IpFKITMkeWG5|v^Ry&BonfFEz z=lN>NU(Z_0SNLj@i6j<$ru_Z%)6Wo$INSulX?#nS$M zRqunLShY`n`g6Pnw1ohA6%>v1y6E@yIWMBK?FBtl{X5ahPH#x8A_W3V<8^AYho2yE3WBF_QLf7o!fBGyM`M0t2LccuU%4_|Ry>#N3oo|1fXWLDXhe;rK%CTZg(;;3LLt#j9 z7GZWJi^<^m>9hCyX{AxMAA9pj{<{#JJdAZIo~+%|<_#_51B{Gd0J}UoGBvdTG1{oZ zLnAN~fDu+}uh53?W<_m2jIFjbEv-axmslc!rZ7Cq6g-xP6LdwiKG&BEpo+sF=8-7z zRE|u*o`O9FaiR&ARq$w#nJfqG(v?ZuP}=~LKR{6#13=RSf&ECOg`b%ggT3`w({>om zLcqf^%qR{HIRxS@o5DCrFyD|KrcfKTYwZNM1R&IP23D|;VPMV~40;MIRMUE7CJTc| zw>qu5u@UY0XjUKE=F~bvGAn3^)jhd}#%+c{lQ@Nd2f(BFAZE>tE6fU?D=t|ik~A!m z%IE~(2fThGXOh+_#oWtpp25;^lK6$A1zJW8$Y`)-jrin%XdFbG&6a>ZZ(7`L+*S)q zU(MHZvE)llQkL6C98lvTsA?*Fl{248;uLU}eWLDwJfE`w5fbH$QXuhFPVuX@rQ?7@ zQL6a|&2)&(bCNzuL*PQv5Zz7rvT8_I17?al8V=IWP{BV=!kmJQ8m6_Z_mD{vR7@tn zIp;$gyk^p4G@xR=OjBO^9sJIdKI$>NvA)nXn|1}o1eDQ?OjXjl|8U*at9 z2^LiHy=Wazs(>bWdoFViwjwVYz~dR&jC;U(mv&oDqt{+Jan&v{K$yvA6knh#KrNnt z<$m{(Dy;q@*jSOEk+P-n9LnlKtPh8XzyhniZ-4>bAv#4t=4gi5>LwN&29UTo#B57p zIM=+aolXyx&}Eup6>%l8k}Zl9*6kgTCA5G2NVbmLz0F>G?W`TSnF70$v;NAc?QINO zChiO)ta-@5ZLPK=vF3zwD2V%e?cR_b6 z$n#v9i(q3rL!q_FzWcBL?zjUf#|iifJWIa8rQv7jyK|rw5BP887zd2%_qn^0k11aj z@ccJzDYcWFH7%-<27H>KxqW*YDe5QaxFl>pL!y!{&H{MjSB)_J4FYD{900hy(aTG zJ2o=k!!=MWk*|D!&rmj)h;poX-z_+|MC>wM;Z>xI+2n5Nq9t3=P`94Z5)7-4ZsL3H zIKX={JK2IaJozmXd*Vrm2YHb@@)(}C9An69R-33lD=W_Q76JAbLi#sT#ibaCUXp08i$gN&QAtL;c!==96) zd*jwx>+bAit}bLvn;LoU6FmO`>+fRu9mPiV`T}0F*G5^i(nt4W`~EH9gmF7}whNMM z9V7#ivORnDCvQ5im)2p>HkAczL)kJ5PZsR$t5i>H5X;NWM|>Sbqr|`;LwqUjfIa$) z-!eFuX%GI@Ut2S}VMSZ&7<=m3-!gT38z$9t_WS4lNKhWfEc*^FFdEV;t@g%SZ`m8i zPuNX6c3KoY*rwuQ8$5m5dSFSqI|psY&MgG$703DF!yox`P@ch$r7n&GfjAg0u_`11w;yN*kTT=|0M|6`O*bP8f#L1y>9)t7 ze8M^aVsfzX5rjVc;QcIgIm@caKB_Om3qeEdlZI_HMSJ9~eb(FCiR=m41BXdQ`Cc@! zDNIPKjiL6mB>9^1UtwEg4$O{pRHsh8NtKDth{HTbTOk9TcrYhO@`82bVy)t>nN6@i ze8&+B(*8<=v6CO}EG?QK+T9G+iRyCBa*4#w>0s&S>sU)7@!A{5kke3Q0lFeH3?mT) z`6?#}NZ+hUVBU${bNAgaR_K;FFq{WR=PU+VQW7!id=bHn1Wm$TCL>)Bz#afJUfO^g z0gNPH7o-&@_EFQhYYb3iX0O^$9{D*1Q3+q8tA^d#El0?vyng~BwJR43*$K}=uU&ym zdMiRVzs}e5Mg%CtdR>>0sH!EfahsfWB43vQ>My5#_roV2N3zpu|NhheMD*Wp-~YF7 z5nxm8^Pl@Fj93f{tIhUjfAVho;g5gGy3P@jL8^V>bAM+S&$Zewe*JrEV-dqos8oOP z#CNz9X=u}?(MO`wWZ-F$1m((Dp!Kwmi_c0F3zkM4VY}o{;xmg8JQKve+%W<#$!xyH=F$HK0{MVT zk~nd@wx$SK#2~Cuwhi@AJkUm0oF7BiwsU{3bzTDyvB`4VmI|hS2hnIQ zi>Qc4Nod6Y`fl35Y)NA1B;S{`t<6C@_R5GA)-2inTSK;pUaPJqA6+l!gGBYAC4PT`txV{hIqw=0y>f>8=c4VH0ys-naz0nA zpQ^lJT@bCPi#9nrR+fnP%CEadJoWS&_NRZ!)O}Z!BFKgL{WV*^<#roBg&uY?1!o4B zML^pci7*wAP*)=N5!kze0L7~O=SfnuFarTB*ht`DS(|2=LGzv_bggEacHc=b6@b0Y zE@{25EawUe!<>Iy8A#%#!~?kojF8N=h-iCr6Q3_JgkbI@3GOWzPB4ulG1?W`UEe1$Ik|i(pW=@31DRJToVj zz#IdUd70b=qGSph<5XmE`mo6#Bs}iee_aX~9o=7WG^!=13gIM-*COnnewq@*0-d}V%=8+zfib!tV!PLn7Igy(T>$9}?xjB$ zSx-B&8~{-dAj*}-!Vathwe~~tLCZCCzZJ(+NQf&3Z#b__%w!G=NR%PBl}D_?3fVG? z2AnR;*wiXMwtgGJ4JU*%)7WCUO|vX2Ha&<$11W?H_W+8)B0lq>{sCIifJC|gDGX5c zcBWa0R|Vt{y2M1}Wy!m~Cmp zgLW5SBx%Rr9JK>Cu7i0>IvWim<18fsgv`@TSw)uCysr$2%_XZYX|@F%Ji1uaH9p;j zL(T?(C9U`t+!Cg|#O63)5J@AXZ(&Kos%tXr=DI@r$+x@hXm!w@yh3{yY0y z(4-lIB;8P1nNrd@z)^x$dMAz8tq!NoDf%(H=dRna9Bn{nI_t;;8Y`;Mn!>!( zjr1aRZ@JKoBnyckP8CV!Uxs_TiQj0&OT(OPx_8`NEnCqph$PmHT8JgN*vSh+)`L4y zfbOG{2)I|*<%*np&YW^Z9y;oIm~_1qE$?#Xb+{*Tanftn`fi=W31Veop5Gq0_b8i- zt`<$YbI+U2f=0Nh6x}~~J`hLok0@MP>DtzIQoNm^}4PnmDf)yiAUBqKK zD~E+U=R2HXZ#Oeu1^INFa0=2gm^jr!Bu+kqj|=K|a^Y_(d#4Ga##!YeY&El;$zmIO@m}B&m_cTbh5_ z(k_Ytr}I;Z^sWeNz!c;~k3W0D?!Ns7+r6%sf+@{@_M2De@-Y-mH+9D*)=kqSGMqhsUCE3+*(y&H7^40i8Th8wXQrTY|M%VaLqaSw%3j5!V!_kPYq zO;rgU(;0?6(Qr&~Tlr9C~@xKnu$nkcrp zJg&_f8Xjt*&AeZ&BJ^lay**-mtk0$Q4p7Rn#=3In!_~z*1-qwqat1W_x^OeLDxK)P zy6g?)8Dcc=zWXRPBwhB%kAH66=p>`C%qLHsvoj};ql=+k0DI8e-DTT0q3a_7pE!Ho zR?rs(XrWDv4Onq*k==RMU3TX^M*t`cMzr+;n0^RbMFqo$7{YA)^Y5-=Kw`f6flxbR)pX53soc)5Nqa)k+a-ho5=wcWj_qZ}-A<&kYRP-fi_< zj12qzAC7ZCP%?8NWlyJI;zpkqQgKtSCbD) zY?_!|FCM<9e++F=740LmvL#`FL^0Mc#a0SyT3k}b#8|x z8YqcjLr3_z%M7LPy=F&vet8sE%SbNJACp+}D2lGNP{c9BAk%jb4j~@Sori68w;c3x zhZ?be0=SATgdHB6>_O*GVFR->IzEQRbC!W$RxHyBo{M4_9|N!wz=8o7N4h=J6lcBw zo}d7gAp&Mkj|Q&%6bG=1qjX);@x&bj77Ep(M@_H+ZH0r9mb>Ek3;Q(a+q@Ze;0({h z0HUjWU$Lw+wAq4y+G*Qe#e$iX2<{$ev9%0>=i#DTF~^`_BjCOtHrdZVB~w@=V8>zE z$EQ@Z#_^M-NUz^TfZS~P#g*voS$R9s&ypJoIJshQ5wl_3*C>7hNH@ypOy%Wyap92D z1zjBO!8FNAOq&u}Vs^n=u*__2?`63Rt79jyRfFX%!ai!pmPRJiv5Mo~rK2;PVd~z? zawM^ax}T$?QzXw~%vH!OAUz_<d=CT+C>$?!eR5l6O zhlDIIAB!-wd-Ai+LB|;&d1uq<3DFhw!<448)nNsaqNlgRnX>QgAB5y!s~;ePMD-?-AKU&3{I@^20?QB+UVtBatjfw za>@WYOC?C05?C@Q1l z$Z|4RXfq4r4Z{|$p!Lt$icTW!qI*^+HQ(~LI7_BZ{j#P&jmAFfU`+|e=oT~AfCb1 zd^YV(&}pI~P2*h4nMSL~7bu2ZXy7L}o9S3nMgfJBbpIqf6j`=RQLk-s8r)tYSZD>g zmdS`oB_%_0Flfj#jKdr)k+;aO++j!}{#EkMIf{!`BqG_o&SnPe!W9K}@lq?VTZJP! zTi92p_~iZTFa5gYRw9ucR~Dog@imHc@^D#c5x>qer)U`%9I^7sGVAU_sz)5v230LL z%0hw^W59Il2Ejg zgVbDB(ITnJFj7SxjRVT0$CZ9tnqE0eWHT5(M`vuAXCP*Mh9x;3e(sDUmCSD(x^Wkh ztZB$auWjE@g;X}*dKtJI#E?O5L%kymki)KrvWX2m+f3q#tUe>tQ`X&j2D`y6R$04| z_2H8&H$uOS6mE2!0YPLz#U&NCedi4}GlrWEHmdn$o1Hm|MLyTwt~LrvY$72q66DPc zo`HHE)8tZLQP@(@jOQ|lUSH1KM@|91hRlaEce!^Qa>2zc+BX-(s#CB<^K1BFJ7iw+G52uRm`c7clk_JSgawL>*Djd#BgQP)_VKPzxq2mw1sy0 z(jdh;%a;lRXM$8iEHDP^vO&&Tz?I}SW_^UemQ+-IF2kVPv}OhXE7 z6~+gc&}YE!(mCvZ(2suh%T`~v-kyhPjz{~fk_6M!a@MA?mU->it9U-2wWD_(WsT}# z%K>B_d+Jfkm~FFtVK?970*?-#*+WP?NCd5&R~*X}H_2*crq_zG5djS61U> z(PQ8K+UKo4bJm*kqxRuL)plq@g?;t0x9su^tUzXt9lh_UefG=$%wSHI)o)mDzkl`x zE_Oaf;u`=%EEE{%fT4+6)80L_qvx!vy$zN)-JX8(H`c*gZ2@NiMlCwgipdZ%6km?p zT3cJ43EeWlp4wX4xTFC==^C@C(qy-$7L%q^bqT}}t#FZ70a6+$)OujBJ3mtafnD)o zw6a(oX*H!p`^CisS(wGL(s~h5L@QeL1jbpC+R`Eyp6@e`_Y<+i0XF)lmY_gFIn%uJ zkqDLT6iJW41YA=B$U#CR+6XPeboSLR6O0r{%a|6=L^q{sTx~OLClt`vp6WL;e zrG-|TM3c`r|hx!+;uO%{wRgmRRDap{lh0d!3ME& z_S7@4+U1T``^QiJHygQf(jNKMH~GBSqQ`skFgQ3D!R3QzmJKT@ZD=Z8hrHYhz%J(N z=p!>cEHEHwF3X7_nG0xD7lAEm*dii5HAqUd#Tkx!N2mg8FoM!N*}7@tM)di;4x_&S z5R_bLYLs#b?_23d^NVxs?3)t|3erlS!Igp)*g3vBfD51j@6lq0zO=qJTulH4oMw}R zd<1N}6E}Rv~E?Av8hV}HdT6KHF0g5(Q9|#N4Wgm;aaKAg z63Vme#M>i$#+dG}U?(>iB~kG)qZ6CcxdQ--VQRYq$Xvke9^?Bo^y~4ZX+A@q8v{|9 zITW(6-BBi=qq9hUsLO)>e5Wg;0=Ji zo8$QGPjly|8F(C@n!)ZYinZ4a|IKzfbmTEUA8!sVU6OTPVF|Cdjx*_{Fsp^NDzUPf zYSv$`L-$+3AW=2031NrT`TWD*u!Dz>f~b@{V9x;5Su9|gPA}qYQr?ZiPRD~&;U89g647XM_Fi#l< zQVm&c_Jm#LwfhK=$;70UhL#{Cys-PLbT1?#UU9`V_$gc*__Rqy&gf9;Ba$whC<{F`c83YYobUI?dCg5Hm^W>xbXMxf)tFz81952KXu|X7>cc-kO}wQdxUtjM7$~o zL^rT7B^P?#;iy>zgIOo!g3xuyyOzQr(p-nz}<}G{A zJ-67MNAKr+7TNI=Zt9Ob`c>GxoEmU$yG(2dI$z_Qo4;IIWk)&ASNz1?WNZL3dQy zOcek5r#{JGSAjkL$an0~Z~r^Pg`?Kgm}d9wZnCfa^o0HRtzLxQm3HX%+w7D7^f{|< zY{FbVo5RDU6^4SU~^UBGOUvz zh-9QweKPdW+j9|3EnAuRfOPTd>ee}z?)v4U&F%(RVV^zCMEW#=P-VQlhGSG;sz6n3 z3b1x{TyvPGIIY@j3WJ7q%-ExyE)5mnH%%hPn=lpTE`Zy}B0){ocrgN&+Pkv5k^z2_ z*C!qL8mzC}0HlLj=HP33w&UtWM^7j-0x6tquN zRmeKl0OkrH&LlRKvH-LO;dCjrrAaGSRWP(uXy^iHvYTJxS*+Q6-+#Y7$gto~fBX}> zbnc8@yl@FSE{1_%HN6CKKLw~n5)H2H9`)HCn2m==cpa)ohki!5&Ci?C(r%u@)UOhv=NZ4JsHq&A}V*l|U zk6K&z5MPsNpZ$mbX>I4O*<-(X!LD|9+ZS+E$>z^J^30D27!epP+J>yJj#2rK(?-hU z^-NRHBq$oFhhQV}kqQu0X?@QTRP(TLjPn~B;B*oJo|1hO16h1V&Y-~x+FahdAFoJl zA1q)%Bm;Z5sS$MpV2Qn&P>&L@s z>-0Fj)9s7MB2um6T7-#g&KZo(Bm=Bo&d}A1qgJ(!MIvc4Xs*k7b{hPcvRiLsfGMA$ zBm!kyR}XD^^mUl%XZfZH&;b$*#pD8V2{gEqOp0gojAy9?%1a8c7Nhk~pjO};Ve8r| z1z0T3U?O_iipmWZrz%fpdCMG*2HCvlNq}8!9*F*JGd>?Pz&SCCi?A=$v5kOAdP!2LAxr?d>_IAYlhJpwL}<1Yh@ zv^XTsUuEC_;ZN-MZ=WDQcEOy>uUht13}@15lU?P>mJYfJ-3;fTYo*;ji3CK#&f(#H z-n;a&ut8%{JNw23e8D@><6gA(o>n&7Z6NO4L<_mb+S)JBst3RTl&*We<3NSx zmX|49IEfo{!N!9TSg94K|26(k9hlZgZ18V;T2E5z715)bNI75f4KvZ54Q=mk`0 zkWK@SV!7v#4=e$;WRWL1T2Wz{op|*$K+0vuu|K>t(9eM03{rz3iq~1Ip{OWr-pvAw zL;N~`x1$dhnRVEm{oI8h%st&9&QoEi6b3yPrw`aSIuzPex3r2L6NYbvdsS6j!utbm9$EnyBLU!S1vAS4n+!P84%oIK#GorneJC{5k;|c&>gl@-3+E%Ac-W2! z^N%&4Y`7M&rAh%n_w)`yF5s9^3PU#GqstkhVai6jh?{3IRwPoY(*>m`{}PN4(CKc!LCS(4tFuY?@9uCI4G zoE)|k+WPXWrWWVmiQxqd10YivroCy;CcE6y?sQ)QT;6FwU0Gd;4Yqgl+$fB2c**BA zceZ!&%qXzE#Oo5|7hnKKv(NYDu#ms-@4ed1=SOkQ_n%iM2=Egn#|g~ExQA1K+C@OF z^vz0C!HA=4S}X1w029p7QQf|6kDWSm zf#J-0+p@0AIy*Y8xS9=)fW>Lp;Z^R+-fc}3aQK7w4nw9e6c@xMa-a_gJ$At?NL3vicWsmjGL9pRIHHZXo_m2H`sdvE!xZkN1Wn&CnpQF3eM=?~# zaC=+pRSMQZrwA;^YguLrTCAmKp+U_Q4FYohwKHR&zu#`!yN%rm=j=s>fkg()3Hxv| zO2btYUlbdBo|42Q!G#3{bb_YFITv({kzFZAYlu8-Ne|+NmJmg_NU4``Y5{ms0j>_Nwq(rGMY-Yh^e#|X~2PuAtrAcx| zY#O{$q8J*)QZ$v0?+AnOv*bU&HEb>;PqM8MS*+{sd*1(0roYh2^YI@fAp6KX=|}=1 z^D{8K58%VQ*RGzwY!83t(~dPrSy?%iNdqX{Wz`jB_OXwDoMjd;&a`VDe&{pSbNQrI z0~n$MgRI6ri^Uw37uD!MZn)fAu6F1*RF0o8TcWa1dp- zUsS*fSpZLOf2Y${m&_y+U9!AnD+%yw$?C$XGEaq-hbrS@@I8>IxD;?;Y*pbVMGq6K zQW33pclOZknTG{RWl9_~eh%vVEGz;mAfO)k9J zU|v71NPb;9q!ccw7Mi?${v1ExY+WmTgP7tZ?}8tb9e2bkvP`TcA5@Rz@6cO1E&pS@;3 zd-6FL6)l*Ug>ezfpaad}MgQR>e7=uky~lHtn~K1?SZ^`nvL4d}qog8YNHiws3>Wf! zwa(npd-J!oI}`;RGq*$;m9Fwa_p8zek*j2R?SX;pIo$BO`uvND)Bv{Z4d2uqOyXoH}V zP>|ul6|`=8xw0kn!p1G*25`3XJi`>o1Ynagx!e{~vHGecXij#J_^{xL4ly{}z*eVI09pnwqAt5| zVZuTs<(wb33l5=`W*zwIN)JCTU{_juZNr8PoCxIPf$bh01!QcNO*Os@t2)mVqt}bY zB3l?&5?L^Y-L^c#y6rrpz-GfE0LIIb5gFF|Nk)?sLohY4-yK7+5v*gz{-=l*nKZ}V zzy)p*da_K~XC#T~fl*sug|?KIWKGE^Lsm#oY8XUAYLgRk+gOA`3fG$n5|+9$cOAaV zPPJTwIY62L3(yBB8bK;CjJ??0G}cBJ-ewB^906GEwmJg1;6&2?@XCu63GFc64B-t8 z@*Zf_!P3t|1Ppg~0YruXK)CuqdYlt>Uai)bw z4hsn2)&IC9#FOi#spvX}n*-WoZ36o-5i{H;mxa z>;%*C6gAx)48Of?XRlna7~P@Co?e?D9Yex2WbTsUiObilW0B5wXwe%&Q_a4wQK%*ETz9uI+80a2AGu(>5D%&<0DqNs* zx4`SJ+E8cgu(d(-zti(Uo=cL}a1-Yr-6h~-25Cnx%%#?vyRd@nh7I>*V2hV6U)@e- zL~8A9TbDI9RO6Lf0Xrr@WPFYTkT4-YWt=9et9x*ON0 zTC;FtiH%^Ln&i$2WTn!*oCN?aXjC7oV$Ip2Pv|D@aBDmjY8RP4V^f z29O45uZTDyx7~SY4+}UZh`$0ZXsaQ>=3zO@8fvWLoy)v$3UYo%aWMr7*032V_>nyLKyU2l<3UW^}#4=N`=QG$AAm7F*%z_XqKD|Nidj{tw zn}64QP8I-E)|6gAdpfUAQp!w-9&LaOLZGFQyd=$0eAn#JRrK=XSeE_yM?Yw7E$6wL z%=~aybazxxX!y3Vp%%8^k6cp=mGD^y4kBQR>tvUlNyOv_Ac8d9HlK*naR!u;muIkf9EPdZtc@G6 z>4s^}CkG^v;8ho7B6D-meMSBN6PjO0VFKeGAf^oT(v2W5sz4lZ$oiYXo2RqvBgLm!XOr&62i^TG+%f!rWjvS|| zoEe|qZX1~pL4jnH=bfwPiUC24F7672Piajh#13;XW23m1MC{<9yY1}pw;^|~FQjQ} zy-b`DVKhN;G|T(NnQFL?*UV|n?!8Rl z|39AI13d2YI`ch)!C-(v@4Z)oV5caGq(q6bBvO(kOLA}8#L3!m5^pxnbF-WH?mF3$ z>@CT?8#~!&-Qve7wxr0CEs>%nQKTdmiM;?II%d#;8I(a8%m5hd@BLscD2gO7GynE| zr@ZGq?-{hyZ@geX_}=#j2-TH50Ow?gCYDiq_OqY2Fa4|EBG~lXx4!is?Ch!2b`Yc~ zgU!^p8WI|D7|*WJz1mNGQi?u z1FJiiF_M4vSAXqFR^=5H)=M^)SednNe(ke%>B9@C1N4)z!Y3wk(Wvb>n<0Z>q@0ra zK<{l(oOvD;XcU{<&&HOj%Blf@7#_~G>0Hf!!1%VivCQ>nk8^6 zIoDh^r-J+if+4*p1O4t5vRg@k2?di8;4j<*y0uw|p&<|k?w6m^)AzprBhcVdf~i%| zl?D6h3opXgf)+r4FbhfmQb4W0H_v)eNi0gqc@}Dk8YR^LqJUzN(viw=3us<1k)bbQ zbQUR{NYO-^#&f)1f9gH+yjRnt^u8qws1W%mNPmofuY!oKl7tk3Ec z#6iWQG$~1UR}>+YJJaFNk$0ha9b*zFrGKamqW5G3c&5ui%7jgJ;mQyb${K?1^F zq^OFltR>DwuS&b`z%Hh)*4WN{#kOM)oK=F6T|4R+FIz#v3y8p8$fjqY3O;0W^DgWL z4W&5dG?4oYs&joky*TB!kn);feasQ4AS+nP`tpy_=!3p5$yq6-?*R0TQsf5nkYFp} z`9wfbRBf52Sxl&5Cc%@3e@13j(vw z;1*&Jf+0D3dL%%PywCya86=c|SMKw{7gnI{TeKkpAXx-+^X-zq7Y_t6rNSC>|%clQ5;^EO|TooiaMV zg}^#h3a(vx(?T6p*_6L?4YKTe#UQ*4~R~VgI^pfl>A1*D7If@{FvxJR~aQZ}RiXNzn1<0CAcC*=cyU`Oxn`Ig1J8*#Ca2Wb* z&^T)h|4kybqkX$wy>f#l^Bpv?ZUI)Js7Ru84qv;5k3B#y$M%*=>l%bo$-VKB49#MT zMn@+ZCbt(~O*K}u8b4?*f$MPJb)*}SG2XEkaMF)FFxNuxT3ps>AD(%~?x_x7GiyB5-Z3lIyYacrPa>w3wTV0r^zvK?r1iOLHi9*Nmk|0(#HlXF)2?eN+ z+qq(M-0vVD>-a>7dyRx7Rm@E8<;@%2HaI#=!qbX^(-eM?0dY*EP4bLVxX)_Nl_r03 z86b@F$C|pNQ3IcXBaGhu;3D9z&wk@e&y(=dEKD*p0eCV$!2my1c4w)2k=RdW{X$^Gqyz|DZn*(r^lI)s&_a3sn zd-h<|Chh0{@)9Op5;&`HhJQgI#HQn6eeU@$+i!jSYq;liJNfD>46FDjbd^C9hC4Cx zl&{d6t=N6P~qVq~`vd2NAcAKY0Q)(*iP#3ackUPFsefn-fh31zb(GI+SFY#=o%`FN<<4PGZ6 zurOyYJfeHaHbI0i?!t#M5X4_xMqZ0@K!QM7Q+YDzc9l$49ORTYIT-iNw@z}+9#CMa z@05t==^WkJ-o*FVaHu?JGT8zd*@F)qS1??tz(WVziEQ^Ju5{60;8uy)qM|%I!$B~{}1Np;Pa*pB?&A=`8 za4!_Zt`U@{lL0#sf6xL2&&smjefw>fNq_$*KY?euXg~VlKM=Tc4{+G)NO_6-wa#J{ z`s_-1oIbZmcTcC~jGNH11os5D#J`0!tI3k{b2kYzo%P`bIdJ!uzpFVy*`K~IRBlW7 zUPzrjSl$0BUsHzUbtxn&>47!-^KbpJYx4NccYk7i@YBBeI}BFYcaQzSpZ+QDBQc>t zh1iD%ArQ^nEDT_bq=lqp1YKduyBjo*NNSEVrQ`fDs5K>&>lO)iqAqindP=$vB!cUn z;TfL4c!?4YMx3>rWP>ink-?%w<{=QKn(dC)wx0lXKHs{BCNNrU)^+8YrR7#S-Px24 z^kUBs!J(xAh(J5RpcQF+X5(0e$WKl!+T+J7DO-a|k(8Acd#!sE3J_@a)Mz&jzMf3@ zj&_*t(PRnr`f0`Cu|!86@xvLb#WwWn&|BURRz%tjp1PYtZPc)8ma5c(5Pbg zxucBKU595{LU30EGM%@N&xWP~FMN^YM!foU5Y&EXB_*71cx=q->oOQjgC6yHq{B!m zN-)ypWt7wiuoh=2^J2(W;i#t)oux5grg4u25HZ$Zp-e?Gj84jHm{o%?xmS_Up)6K$5Wn zy(|vZ4O*kyMQJ1xn;=1$Rac6aL6`I1Lg=7G;4Jdsn65AZR=Vp;D6wcbh6i*Ao({Z9 zP$JGhonapuppXF~rmDjlPB_6nBy|wzOppX0hI^$7n9w}HDuPq!5CjG_(2#P|Ms5EN zHG-m5orGJ+Jski+>*;1HAc4Rd$WFr!NuR>GuBEAUq8mGpmO7}|IKzEJo6Dxe+fEf{ zsJF*WXgz)QD(3@|yuZk<-U?FbNM%g&eRlWGRg#_-5@-_C9;O7=F-f!u?N)-QX%gi) zTqMu(IH+tJ)fiMoaw_cV%^u_wDGvwcZITZA>_9zS={yua7MNHYgl8>HV5lD4_a`5& zAZQ`jAu&t$(`-e9?GnR!Hc&=-;~Y|E1WuoS{t5gI4fRtK3`v6bof5VSs8T$2Y%k?z zbcjigf;i+#IKf?ahV3f72cP@mF_Ip7V-}%p5je)Mg(E{$S4L^;C9*6dbuIBB{JGrvWxP-z{U)YKCpk6efa)Gd+nEJxG$;p&_nx3P)I`XCwbTq`j>ex zpaS$!q4pY_q=w5-kP1gOJ~IL(EQ@iRD4!;1@$57?Pg4;!<~zc^$wDpc$>aO%2S52|VzaLxov&tFJ#S?gP{LSengTov zVqHQt-Vf#W^>;4Y-QfuPeAV`B-v-aW(;hoUjD@M3BMD5yuWQ1rlKT|y!_kjF&rAl? zKq6+t1(lY@JdWwxr!3~Hv48c|Puj2E?zX=7pubYp-L}2Jo@jv^zc^}hP$V)N0j9E` zy8!;BqIs{uE{ZWk5%ptBW8h<*QU;H(A(h0`EtjXtO(4M>vm|t7^0~*YVjz4A`5= zX{eH)e)QP4?|I-sd+@O*fUu)>>Qx#9Y4|z#z%e^?|4}l)Tsk$c<0Lce!9$113RmHo zyk~Fz%ZoUYNwQ*iQ29mHJ3M4}DBDg0dxvgbvFj)~+`fI??%es%dT!r9iJ%h-N2k+_ z+<*YzbN7b*sAbG_1c@Kk$76R108Mld(VHt-Z=dZ*~g6I#%Qy~kvB>bIA_5@ zswm1P^XcY$WF7=~3LZ09>p-&l4PBniNJ>Q{-A3+dyU2T`SaBEK#Q)ify37MN#|Lgp-F@4$X{VY`3N*x$-MsZ|M?CJ2`mE#_=E5N&}oj2 zO;9eUQ#BN#3{Ht|0x7l7Scq=lkkdXM9igN?J`R_NbwHLkHZn@!$M?oY-Snd%Mr(9* z#KuEoNTyAYwFfa$L;M~lp$UNyPdT-gaT-NNCuoY`_Y{o~lB$}Z95p^MjFjCtoXb4> zi~stck+!*MfBT~sL6~Rkn}75*%Iy2?FaGlXqsed>nPa1Q|kf%_~0zdG1w zC$-*KKTCA!gW`y9omUJeF-p@A*Q6#=033pUR5qZS%%i%H3L+GVaPAq<5onCq1Y%}7 zDd#%My_3!=K{)iN$T(#znspm0X;!7=H@Lt?;Mf}WvPfd02D_zb9=k$GsvH{5hQ_mb zDhYF-F%e4XRq%k-#Xm9}w^6DKLRW!4Q8AbW(XS!!Kx;i?xAjbKFbY1`JaeGa{&E_A zQw&8d3y{n&a}7(}a~dbm2qox8R!&k{pZ(gm?BIzn*^!4&(5P}26kMfU8t$kVD2c1C zt96J>ChH+GHw$`Qg8?OuWWQ$Tp@|IVM-6cub@d>gjO`$>pP8n~i#@jhRYx7~Z7tS5L?l_d6gwrD#96bhh-KrEj`;ppLexfiTs zQM*8-wt?cV^O~lH24@>1UL`*}M&%_u7q%{JzJ~Bf zB<<$#jHMPPp&P-+$0lVV|1~p5*&13-l+yJg<<=@17pI_#XjHtP()2(V&9p@{3l;eA zGldMGxJ?4Pjh~@DLet|k=ucZ)EtLU=!gP&N;hW&DuRtYipc*#7-iy&-sYYsgC<@7# z8S2#wcQ}VCO9JF{c{!K07e|T4XSIzL=(lgu^xjQyA7>gUlkuqB#92~mMq7@=?e0j- z26#pVMd&$4MhL_OPAr3D&SLX3Pz4%fkBRy~Kyi1T`;BS=RmBkYtdjj9s>Ah5DCv-# zc&P}~wzRO!QCc8bn1b_)u|~;b*;>(MUtU6%aEj*ODtMJ+Lj*bK&W@`ojT6FdYig@T z4TotEkFxJ1{}yJXVmkWtnKV=>KpO53Vq>U2E`pL01c-jf0@7hP2Yd^AjO>tAC7(jD zMuI3QFHN4+za?|1Ymo-IbfdX4`_z;7TSW=?pX_Xb;HS8RNs3ei_;5ax;2CPdB7VH7 zp#rqe0OHI7gcT47tx$!?p!%l=lSgHIjcIpL*33F+YzF5Yhk%-eeNAJ{W7wcM(2E2; zp#YFbC~}mlMK;N!0>>*id+pgTebPkNxN+$!O?D-yI}F&49Y}6sC&eW%#D)wEqi8~a z86`OpRno`xNFREUM)q0yeWXaCKjq^^-^84gkaC|n{}o~;8cbX@dKqLo2B?*QdZ`J- z3iVd_UI40WZ~ugi%#dV)#uiW&N_v;5qLIu{=^|XTDXMb|RHs*wO-muEpP%0#Fy;7E zTjro41=us`WVLC2`m0bHQk7Sfo3_?gj0>LtD5eHH;ZFa1<^uOoTHoSn_ZO@&GPf;wzstGA>m&~XCJ2r4J42YctjlH{f8HS@$D6Ysek_aA7Koa?c>jU z((0Sq2?Rp+k06l4Lj!i}%KNte(7ks2#4$SFyWzU6GSagh_gCRhu=3tF%? zs3ZrD9Hr|O{myMW?DV^E8rekcyZ2fkj{y+yh2DPiJRHlQ-M(NSpBN*~EGFg=q0tA$5`jaXJmc$vHbs`L~ zDQ;%cb%*MiW5;lYWVRR>={7n(GT)T(0vBbI5xB5T^g{ho6P};IM4hY!IA=BM6~kK^ z8-a%e!l^hd#{Wv`YS-WvA*(WUk`j_Mj+i{zGr98UbKtvy$|wTjsXQNgV0|=2eKsUG+wy8qKseyRH6)-Be>)m<5|RS zp=v5ums46PrBqeMYlz`a5KBu+ zT~nftRRiC?lGj(#*d)~Ys~GEr;4)AMk^~AtX-&_56+V

3q5AZb%GiGtcSc=JU##%yHd21q27pA;y}E())ue|eqY{n-7kCNO9rSkv9oluYccYZomf)DKLctKnG)7~ihL`v#Z)fCi z{ISpb&HfYR{&iWe76)H^@ z6fsaH3+0@#VatThpz-1h+;?m|PEk7pXH7XWLiv6UbVoy5l9XY~Dx@n94FKmKBPe7( zIC|SNXfIQmgYTY|PeUc>TPpOM?d2g5YmBBb(J;)KCUM`ui5=Oq3!6}CKY#Ovz4rRM z7V5kUdQIR6A90@YoS!It0mD2Vq@frDL&1c`Qfs96276En6bT~fC;`d}- zMbf6h3WFqoO134@RK?H@P1lml(I%NolII@6fkaS5NB{zqQMOJ(Q(D6ADDj;bg%ZPh zQ#o*fevQjlud`Oxu~`iu?a?yh)aqYjN;s*1bJQngvTEK7&4{ftRIcGuC)R7+A4{ERY`>f zR{b`_Gpr9R+3`cYRtY!&faHSFh$ja+2m0{@leg~lu=h|9f+p3_+{FIFe!?}sJ`lCg z@DffhcT1lYM<+h$y}VwRorHMM-F11PU~n zZSY)n?kodgHXJ%my*9;eUhZRkqFYU1Qo{R|pyCZOct+rd%J+p-Z6uW?wq4q0CX|F! zn_$1i2%MrIjJY(p##eb>n>3+uZA*CZNsbq%0x7#b7lx}$Me=SJ>2e$unkKldNa9K3 zI)m#J>L|WvW_mHUh2Ryt=iw%oqE1p!Lb)G#v~^I)aAb`}I+9s}<_%u2po98{s~Tp4 zplT4AMk?!=s`N>=jz6~io&qg`L{-_cs7wT?lKSu=Pdsv%>Ir+C1Voaps!nPz4G#1} z)1a!0|H#KqPZKz*m!uE+Og4P&3QAY;!P*<* zjH}Ui8H!$lM9s&~*_iyv5E+7cYB+8>VT|D05B1H|}6%Xpk5+Xe|=Qi)9GSd#;)X2 z-9C75yQ>Tg(L5K%K8Y@Lw}<#nl$@#>)~V!OxUD27aT2pJfYe<~Z1!^R-w%Qs!-cxu z10{q?R*)d~kACM_{2S9|iR1R~+yMYK2OvWQoOo;nWuygSlxkuKM;jG0AdQAgVw@OG zwu1dtSyOETyhbx8L_t!e8y5mK5S0?tFBYj-_4P?v4f+otNCPTk`S`11;>uAHGXb8e zAS5`}I-gNh1ND^BaDsiejy+O^K0$?0l+Rm$z+eCJXYKJ%ei@0zM%%q_A4z(Ln>iuc zVM|LB_Mn}{@H;d*=33ufgd3{SpNAHgN8;0cXNo>Rg6!Iw%5O_b?32%Z2IR4o4KQjy z{)ZnEG+!XAgC2l0_>*t`9+A45sWgo!%R0|qptG^xF5VghA!4jBw2eXJY>w?{w0B?o znZ>4hkQ?eIu%lUTY1;bEp0vf`JD`fQcH+^al(gO@n9<@~VZzH45+vOOASfjuF26j9 zKs#vb-R>*)$l*iQv7-aYw;dST9J@p?ckSF6`^vxm4LkYvuk6ph{bz7a%k9G3XYH52 zI7LuNCLKVl6GJ0f#0HsR1>Kwh8puM!@cf7vv4yBrz>y;ul_AlTLFs31l}~Z?Jn$qB zj(tzYTI&`NyMzD}L&DG0C9JW!JYQEP)6y32N`bSClNM|!6oOl(dna965I8oNCjDs| zpn_L5)FlWk+9>}iKy&m2&P63AOTy;T}@DGn4 zf7W#epLzeP&Ea?#De1;I*91Y9#*<68Qk-2)DN=?f#S%?vi-BS&QPAu38Z}_3tfs&~ zKU4FH45u6GNm*{4fKAPj3hafr>pe1fx<9&>Olp&_qa%(1W zr2pmr{5|+nAtp&ub--~Z5=;oBiB+X}aoNVvG*%b8D*DS9rF1GPehiy zxUZD_)C9Q*+PF1Z9IjabP705jO(SNE$%}P0wRZ9RZ8G8r8xe#86fZ#lBif86OjgiH zH${D2)2Rdjtntj}2+V{)Y|HNGfmolU=zAaxs)BL5xn$U=TqhS<`A9nI-t2B~fkZ*x``PHF_S>pw37|W_6a%a84((#GWWF z1s&ubGT~~Hy&;a{0!V(6J)H-w!bh;2)Oms=6y(6OrVN{a;O+-e&!S}L$H`=2FZ?+B zT%3kvqm(@RSfBZsXfcCkNiIxfUk`>uqoFTd9JX{y?l+MzLwpRWF&-#uAvc%NygXwc zJn0P9*9LY|YBFg!s&t%%f)EX%s4B~)t9>tPPWN+;1PtyY@`c)yM~)n3?@M=HYlnd( z*kYm3T_kHMICse|6_a4Hc<89lXHRqf1P~b{*Z4S|D{3h?NexHx5JYDM@*FZJJ2y!Z zCqzjVC{>+8G;oTBl#nd~$zS2VFA~^!K+R(yKpv_HeZ74kc&t6v#3c7YyxE*h1wFvC2jHjr2DRl6)YC2#UVU`p9ALhEe;N0u9cknJI(r z{9Ct?4GU6!<{pJ(w4v;Rx1cR345&}C3so`LQahG$Obj9*5IG6K)tvtkvj;{*Y$_{IWh z;tJ^4e_IlDTZl7}GwVqK#jl5|U}t%>_R#$Y>|cY_KK;lM0%<`*@X|RK9z6SogaJEP zKvUJNzCq|I#S9->CLk;V_+m0BRhik5IeY!hOAISRh7?<@s;2Cnl5^P{Raa$Wx2F5z zr$ClPpNtR`W)qZW5md(D>*kVNimQyWJ+^O-XI+eahGxlLm;-Sn{O4I{Pr}(1#SVX@ zCPST@Xc>}w6E`@Oa&ZxUJ_kFUiQg1oydS#iZ+`8ocDwUk5*So4;3>1{S>F-RSd=Q* zV*vmc0U-i9vOzqjY4{U5FPl3@&(AW5y#B6=r6wunK-p2Vo`Od=ENPP_Taq6EJu$9b z_fbi-lu!a(v*?ghRA}>QP%SEj{s%Zw(@2$keSVAnktXRtdSkEw(12|f-;#hrkjb@_ z!=s+3!kPv67zf2IEXo62mEu@myG|mzZ6{#?jg$aAX-XCd@MUY`k14SO7+8JC%#~<)uhAPX058TglN3)t3L3B37Ja)iUwO1Qqcq0LAW} zUI)}^O?yD|a|%JcmuW_350~?7RB0fsqT0?L;#iAB<~@i^}e42Ni`foQyD{TCbF=&8Ne94{OU;#KuLtf zlnF|Zo|v}k*8SGgKW!gC0#}B&yD7(p-uk)qQJSr4I7)e!jfhjw=O?8o-Q*Oi&kI_ZxC1d{7<0tHulW%~aVN}SpQ*aPi6lcH` zRF-fPM+bY!EGcz>>`J094M!+WZUVy)8t4ZJOan#bVUj_Lrz_3hB%6)rU`LN0;ro!) zd4OqT=ShN93B8Llq2x}%uYw&Ryvp`eeociVeD2+IyhgG%a>rzlZ2n4|NEn1r$gv+D zmzv}refTjxn?+3kFCLg0)&kY1;n~%I_FfbBgt!o=1aU@_e`1Z8oxz> zk-_Hw?!3gS(x3=Ac1=9fId7?qa6fsCgw(gV=Nu7~LCJ|LYZI)g%URiW8pvgSws`0( z);|RbfYxvZjZNtRjtfc?rMy^DAx-a#AaabLC3(0*JW1o&%>(Ql|UM^`K{*Ajl4+*Ae*A z<;#X&jdPB9s1e|dhx*4c8Y&MWlZOFrY(&Na)Jvb=KRin(x|%lOPqT)yDQnMy(rwa# ztmd6^DjDh>D5(&lOoamExVDb+9|n2>ia`R-`|6Se{ry(gMiR=s7`Qu26QRMEETUA0 z=1`nqlHg33LIw?{bqzJ#ix7!v+}hefWzYzngnrVpZ5v5wkmruN@%l7e$b4&TXttMs ze%o5BD(Q$0b4_KKV@j!@b9aV8oyp9g_!EqShHgwDi&kn&pzXKsz|)3uG%+zj@I)nr zJ(SHlhI?Tr9@$O_y`RBLl*Lyvan9mI!dD;ZLvQpx97x2f^JiHbAbaS;#^(Z1pKzi) zGXQ>cck`j@MA3q+vg(cp?LCr>ebsfg2*t-Y8?w)R{1EGiq>rRdYgN=MaXqESox=I% za8J`Y;3mO?Q;EUpDN$47kdzsg2%IkW&M=M|wAodsNHPNX_V$Gv_SA#zIsrS^+ikz| z^aG$x*fZ9PdObv`iorde4Xc@tdq^@UL{f>S5TiZ&_K;}Rxjpl%({FHoR0^P6WRQ%U zc;rzkoT@7E@$4-H(N{3$5h?&v1SB!ew-9il14=+VzC_;xc8hcx+HA2LM*rc#$ z)H|SHB@V(Tx)=Dg3)0oIutvbFKv(W%bx9(=TWe|lS z0)cplptX(UZ>i;Z zl}UgVjX2U$8^rF3k|T+_j2u(~#=QijC5~Q}+|X1t01_w?^UzHENWkqou*c57*Msga zL3!*ZO;ru-M>N<`G8pVnwYGaf_Ch1v7dWdtYp3~2HR`38FS`DjX5`WOIj5yWIx>|j z=;GHwUqhiIk490Fpe|@5y`9jYcnE6D_A&MHp(m-BjB)QXQ0l4P!H}j?d4Am?>B=M|vvS-GIq ztm!pSL<}yK0D6OhR8s(Mva`{Tmv3{cO7;|6%Gwa0U9e9Eb{O+Z!iRo!Q@MTOu?MV- zHKzNT#Qx0yY()V!GT0YNB;{9DIPuW<7)`m`I9Adw-0ZT4jz8#VWPkm)FM&Fvw@c|h zjn}TSpp?`JO!2Z z5}PMQ44t(2{sONAM#u;2GxS*k%H(UD3@ZWHM`|@`#3MWyxb!XP7gyR({>OLlYkUi& zSG?sF{CWWThl21qda$IJl}VtQ1h`p23RR8X(-6VNY&x8OvRg%}Zrz{QZJ{1~x{gOV-^_LPj;ulDol5rYJgCjH^ z%SUbTxU=bJS)o!kGlnf9F&1d1ggyhUe+_aer)KE4W0!2*AO1FRa7k>qEDAdSrfAsrbqikQ}5SApt<-qVD4kl>_?%9nI znz0KXT(iR;I}YvSv(Cxp5^OKCadXH-mp~?5V8?1z<{tyOl(AT3GyLc~-=!2jN_p`P z4ww=EolDwmS{Tc0BsDll6#YIBaG^EIWK#&(5@bv3Y&2-Ua!r-3wa$@oqM^# zbJuk#W8v-*2tYSTjFW(=Q<@1wlv75ga|y_&IT%VO1ftWkeNY;jEC@m+$)TBXm1%Q9 zp$K|YWQ<~ttGJ5Z#J#@$gKf3Q~cHpQ^MJ0pl7eY75v4)4QU=(rusBqL& z)PiR8I|CbEXGjS5Ka5#<#=V=ZOn8In)9gE+|b*t9+LL>0YZ6ChSKt|HLb zMi2;sr(`uUUQV!AKw`y|LL6NI6s+c&43s*;IL&msdkd8e%J{P+6M4Ct_WbkZJj((* ze+dq3#vnscYV6!O0;*N2BsleS_#7n|`7yYM1?f<7aQx}H1c@{krg3dC%Fww5Of-L$})aIt}2lf!_PflAqH^Dh62~VLI~g|7 zsy1-eY7|x_p@ipD3&p6Vt<3iBZ6Oa*4+2y$yp*a*9DrvpXGhSjx0I0^iZGkN$vB``o7+&Bie^QU_lb!y#YC)1_5@Bw5?kUq`Y4Mk z`IcSKzEhB*y`=y`|8_%?xGn|Jx;~wkszADKC9L{vaVK?ebRI4t=I?s1kfu~PxEp{e z8u*aP>pcWL@l_JTkw0|`7XUU$Ez=lyC9GWL1^lDVWp-yJ3&=ja?n&ear1o9x+CY6=Pj#Uw3(dY_2!q$-AOkY8F zyNkg!&FC;w*`#{#z=KreA|P5p>^;H8o?T2_8&)Shdff|2WUT0zFI1VkiFF}G3z7mX z2%sW-^j2i7aKt1@k?=ZIxjK;4C8{*V_UaqA=tF47UtQrdckua?o$DIx)N41eh3Gd| zS2A>A+MYPhl)m+d^-{Ij-pJ%Mg4wPyf>m-=NrHuu41DNdC62k?&YrzuyYE4Fmvxe0 z1oYtWEtGkf>Pa@6N>!zyZJJ)5gZBEb21%Mh774`MbCBia8Ot9Pl!DM<*W)WBF;t+I zsj9JLQCgzMzO7jXNGbuS+(ooNNj@(=QnEKawU)d!!-g=u!fCi^Xc9Gvq3 zyx#?IyiVt;ZN~29Z9G$auaIoFAGB8ai4ufW=QFnYnN-@{oL-il9MghF=EQbE;U zK6Ren53%8sNMqIk!1UUERL#;z6f~DY0l4m2KA@#O>*$l8v6Gia?L!)erM58(h3gm+ zzS-R0x2B=bT)$yCsFt-6LuJu_L%{_XPc%VX6JCni?tAaS4)gr+o!6oLG!PUkxD`lq z`O=3V^bvY4@~pPFjOWb$Aer<7q-H}$Q3X#_pd8ltGB#IJRkz{_>=xIXp!Z4gtr^%S ziQ=Z>SJvo4@45?LyBLs{J*3_Tm{iulfTrL6(q}BUsm0E}@pJqBcmB>IH1p>aQ;D9R zus)u*XmK8%VSYaGGHciS)vx^4w+AT6NY7OzXUVy(#3FXzp*@tmDGT#Z#%Pd<0ONNQ zG5WQx-u~o2|G>OZ18`MvTqxhp&@izw1E*#`8v;WDe=VJxtudg-PdrK)d)&VHhregH zE}UhPXWPX$PusI6?zIQ^p=}E%^XI=jWl7MQwvJuM-ze?{bP(&mh1}^QXG+H#WBNSvV`Q;sSU)8u^_? z=AS_VqXpqKFS)jKjFHMp)wRv`%rl?HKc|2^GTR;lD0w$ITo31XHCOkI-4{R0AYScBP zje;Vo470@dB{?@qSckr81ECH$-H`Qp=+}Pp* ziso&|yCHETgntR-z!^RaV3dt{_x3FU6J!KItu#GRiIWg?jdzWN7x+v`Uoq~LY&lBf zlVqZV%KEYy9)L_y1?4&~$w583&APwy7)vkfHJ6`f(gZdWVcp_(q8RH{u1o78n?^=# z32U6d2?w0QcxEL?elK!frDiuSbFFYVM@R^hB%(8LM)L~l*au1)nCuDdM48EIY#0Y1 z-OMbWXBb*kGhA^rFJtMHm4`7ZpaPSqCeVDd27(k@MLvoWVO32D&Vi=0k|_|5S+^EC zb|b4t(7WahGnowuC=yEZ&w`FETXc^R+8tjO7J4SY9Z@j=Z<>rnGhp2`l^Hq!b2eKQE8n3(I>8@?zk!q z+J~%RKbt5xI_QQwgh(bA)igq)86^-Aa+X7YpM zhn-=-^*y=zO`eg0IF%%&-XrI%z2DZcjeFc+Cr_WU-}>s8DSJ*+O`@q;?@~t3muOoG zb`;2N5KyFZd?&ZbwWiR(n#Mloq6k-1BBwe-GN*}_K4>BexD^xY928WzDWv>MYgfEn z1=vF76)1VJ!GnWCcI(D%p7lI-9RzZQs>MtgPI!>LoPdkIVM9?~Hx7S2>t3n~*_86( z1dfg}d;ztE%pxmb&BT*^*arB>3~*5J?4=W5LwH1?icE3eLAKWj6eL5oiC*{u2~-w< zjXyx}1QjVV$2m--!-MB|Au0j08s)BF3(2RwN-M!MMzGNrG;Vfe5n?rY5PB&?_-T zB|!*q>bl(zcQ&(-UKS9v1<>%SV)i!(U|yiru97rn^8IyyjCmwlv!KQ0vY&_Hfc6Yc z!U;vW3946c0FE}!9^p2sQGh*g*Q+Ztp%|7}^A3_%kk!hnTpQ|}g$jgB<*&g9DZ2P+ z78P*gg~J)6{_G(T(0J`~nvVT>qOCDL9m+>WRuO?$!sehZsXE{z*di*zo+<1k0p;M%#?5ZlE=>)Ju(Oe6F709LsgPcv`8xsXW zAPa$~kG0P(p$bh9%Kp@EFR#;#yDaRYI&uSiJ{!ypD)DiBVDRSS^EY`8VBEwrNTxw$ z%Y)8Gzn!IUE=hb3TZUj7Fa|&@0(DH4BQ^4iRy7MnL-Zvj4D0wuC8R8H5__Zz@lgug zm2d!S08T;mAT~%5I0rvGg}`5aei8q$Ojel6fHw7mNI_%{BtM0CK~+r!rXt@6omWy{ zQbZpKeA;!?!iXt}odn={S&ys~s-?>W&sw{hlDv*8N;%1jCg?39Qczu3YUu@lU{G78 z=rLKG4BHpzV_Tp(xU-WgUSSqfHuu>}zj)p9%WGKIUIzjt@P!!xn%w(I(7A^LjG~{K z7_$a?ly+@zvT{bVkI;J&W~~c}SCjha1Y@^rny_zxUT!_X-KNq$-49))B+Z^WdY`2c z>{j`(fAmxR%f&AGR($r<-Udr6sj)8}JAeZCLw31W@K3lnza%5YwUQ=(D`c?o}7s?Jr*{bPR7#5#j>r*-kR() zpZzSI(C6&6S6_udUSR+J&;G=9B1a&K3xQ3;Xo=V_EoBefKKTH37ca4)ROVg-rPlBb zb%#d?c*PxFhKozu?Yiy7(G@ZpAUl*O_k{}=T?X#M84CXY{AZqZ97klKITpIkIFbYl ziRj&BRWrP&qPkjshhyOcajc?Z$U&{+c$Mu6O_uSIpHmhs1WF@Q6(9;3UV{SR#O%3h zAwF9iFd?)2Vke3d<(fKp54+SkI)U0cZ(XmbA`*aCASJ!YG#sn$r@sPoW!Mn*=h>jvfKsD4RN`}J)*8Ll_zjjPN5Pm|ZyH z9PZ-W*0|7l=seQfT|wQ!?V)=` zhi)+e0UI_!Co<|r+yzi@g5C}IZ<`k*{5((a|=LqYfC{~>5Jg`<#OFSnu{p0 zF^Ot^$o3WyoHO+>l|ez3Xr7PF6k2P2hb4=)v9H(dtuq&i7O(*X4)wLwc4&ViL8P1- z`<8tnN|0>XM-4SvrhJPv$696$vdY{V)xMV8rtDDnz=)l{)ejvp!qvUWzwvfCb+!W&gQmUVg61ijZRk(n1FHTAhpd zssaR5_FaIsrtj(eU3r@K@t@o0+AlgG?G1f7B#%E`Rfr$Rj%?tJ6^J{;o3*1+(?Xc_ zK1~$VHLbFS9fFO`nwgH+>nBfIT|*_Po3y|IB0z?#(nc6$RYl<0WutRdC@z#+Bs9su zg%%n#8J@5~f(uRJ%C%v5%K!jrBvB;lvk_2uxa}2;fu2SRD@+5^Ia%_jylqLi(wZzMI^?{G*xAx+E8fkUhK7k)H3q~pj72o@?06k9VDnH zaV-UP%RwDuXi%fJ!){MY;R1av?BFs9BttK_rrg48k^&mP28M;y)8RLK%ZrfelW}PFTzCD&!~8rH!VeYLUyj(>|tO z1nO8I4?toZ>KL@5R6o9Rjw%nMi^C)ozSLYm2!afJVhXgBVgUaF=v^Os;E==;NWN?M z9_TioB`RJR5KX>V=OUY_Mzh}GZuUr+#yt(zqDsO0qBN0}LfzTgS5#B*U8y8>qG0GN z9Y5&?0^z5k_)6LLT)5O>O82UC=CCfs!*#ojb(&zGED@wC$qQrz07|r`3BcKCnobuW z+0kC1qtNX;NwgNT&tmvC`5pYzpMVQn zKzt!eCcBr$d8jlDCd$mOqIX~fbRK>?enh@AjpRbK2>IVa0UZRT5kP}D{%D0@ZG$oN z*??Q(ea`?MslQ3~R$!&T5zVmx4nnpR?Rh9Pp%BuORP?>j&z5NPS@*6m!kqQWbyToE z78XHV391XJa0VF)RENLb(ON^We4XSC@QhxO3?CCl%bM*MZ(YRxSJ=ZHP#^#)CaBsE zbB~KrVA8!y!MDA6zROki!rb5IPCSI%8%ZJk6)_SIFVF1cy9~plAyyR2>MA5CvGcoX z>KKlqXRSeC^b>Jys*)6f(BJ>qGxi=0cA+ReVC;KQB|m)YZOdw`vlic~y){l^lvQXo z1i+r~4W~8j@hO(ts@RpbLhGPOIZmP&2TaqnSoL;fkT6QF?#zp?ke~vRK!;P(vx(1& z^8CDtJ+X_D^%V#g#kc1}KP)bys!Jjz>WN}7#TkA;D_xJ5_i3`=0?p=gfMpvz{~{3X z6oUT>)O_?I($)ZzEmP2Xa z&{4+Yf+Pts(fo{!sj`m(@MRFtE&dk`Z)7tHupL6p z=2W1q04fH}Lnw?sXDd(@9b&5lkO>b}TAJeGsL4%bFh`Z(-$?>KImC1VF%1ooHl<3T zLSTgyOX5v|y9}6!^SU2$ZlWtlhgvAP{w|?&{i(&Q+sZmJNngaanU6PibyPX`51szgGFh1<+}w%i9j3n?AA0G#)W65|Xp8J~xsvAhPZDx-A6 zpjdI571Wsw4Ge=0N>Ee?A~%WwF0|pXA*v>b%V~bjTlbag@VpYB&kLYhc^Fe6#-In3qs6V2=Jp1t zg9q;ZCPq_%Oe%XQkLg8gAo)JltQu1{KyLfH2&l<~Gl52=4Zdr44eA|>*4-Dhq!2`c z=PgPA2nO6?Kbu=+c1eh(fUf5j5U3;9RbJ1gXLv_^k;E5%S7Hnlia{)41o(X@z~s?D zn4S%y4yxTqQ&vt%KTe90ot`Tt zJO+}O#VBI!!3_|eN+f*zAUFQ(0h=8!wS`Tl*!4}a9vP6*l4V!lU9!eDuN9Vh?3b^A zOkxCg@5;97A{xM|Kx#^I>}P*}hmL9b5};58IL8b)tMf?W)l?SJurX#n8vmj+4Q8Y- z;M9v~UMoP8^SsrUt;5IOYyCl{+okNGB9lbUt_9pA7ww6Fl&wTOF^iY z3e6vU{c|*X4S{mW>21*=qEzm*4^&!|)7RQ} zZLP~$0(pIXv|sdhtt;2C%Lk^5{H%wxx8M_j^AQpaPk8{O~Q3Y9V(2I2BfGgUGHH=JrE0do`kKXf}{2V06! zI-0i^?lAoj?eIeAG-D&2~>o_RgyBRBhRx^XH{M1IS)q>)PK9iQo030U!`RJA} ztje@avxK%zkwBo?-bcv zrv}KOJX8+he1aM#;0fRAqS~XiT?vmERIsKd&+6+yBm;H!!au)7Bw7Gp7e~k{Ab+sZ zDkQLYT}j0{h%uAbkcJFoF%hnO8PqwCV43FEEXvjoRf80p>utzlP|m_c%sQG27^#qOVXkpj{O@#CKCizSsYpghn>2>VUU3-f`Wm)Hd zRhz!sOgSy3f<(1}ipAVi0YM^Cs6)N%_hL{?g5QNap4T!;NepFzHj~Tby(SvaW)KEw z#9kE;=!qM=3OJ=ncB{k(@{QR%qt3p&_Wos>+NiFHvV?K7sqmCjYm&VZ(kEpKHEFYK zIVXPcX9oUw7E~~kJu7?b02A!Le2X#!N5|l)Xsz=dIT)&ETmHepR_?=S8ph^vD!gya z-h1zy)z#He<=RQ}A&v9gJ4f7NJ!^09!7iTAK8~~YTXx<{AWJZ-*n-d2_;3ea@p_%4 zv)}xED+#9xM6xHklRityvA(p=1@-83wh~w+!@3TfBHxp})W7-b*5~m)`AWqFvhT7- z(yy28&^7ZS_u1?6cl^S0ay(I9+@0g!0BU5IUMguk1Zj>{YJr@8;!SLW9^c+C7Or%-+X!4$g zx+5EuL1jyN&0K;@?mS8YJFlSYz8@O^?oaYx2Fko=??DTZR9>Hn)7(#Gg$CXRPuTjF z^X*IoKw)UWzH+S9mV(z&v>4);TnDx)jpHwHoShFGVV!N=6WLECVPWVt=YI8uI|r#K zHMX}{9rj|4HI|4Y$4Fe4A(|}bro>4yraVx0&(sVlH7-qYRYR!aq%K1Hx5jS8iMd4W-PE z*6N8TpRh+B`4~=+j1xm5Cn7SvN~8K*$!DplMM$iW7kyvoiC(8bOguvw9F~*|ew8U_ zPpXd-I2(=&?6}}hzgRaAQb~51WC;c zq8*6CETmn>)MnVqT7^QR703p5NG=Of!Miq?Hl-Skqy!;~ivnQS`dq5lsN==;(qHjaRLJ!M;WiK!5LqI-gkd>(jm@MG#aE( zK2=#Qi)>8Ia2gRy#So`M2^(JenfKnsxC=caSYktK+F)^Y1@bpY@G0oz+9mhXKr$o^ zP0?Lc7E_mhiVQcSJH3>vh4`rfPX;H!Z%sb*u`a+I-6X0_0?HLOoXYG0oMS$vGwC*` zVhB7eZkec9s!DgVMf^{OB%O&#o)JoNOdq1&m7(%Adai4X+D@fI)|WX)Gb`Qel(;s? zY6IS4>**bajzn3Ab+f`I+v0xyIzb_*kn#NVbI)<_nJk1M(=*6~Dx@sDuz=uzdy_y- z;+?nO$B?gDePadBA>cUlF`CJuO!kw_MfulKnb5b2vd22-uPk?!d+#N4_OU*4X%vft z<^*uS5#-|<8=FW#82}N2nvzXG6KB2fjK?UyX#}dAt_-yJHJd3kN8}JyM7h!TyX&i5$~t`Ra(_bf^`=fL^aNqb(9bP8ahZCL3uV~-Fp$9Z?5gY*)lDX z(pg0{Wy;lDo0uPFEnwJF8B_rZ-F=mj!+XjJn&NOxkw@yJxsT@L4Ny=$uly2YJUPyI z#_ZA+nlwnD7o&7l)8NrT<4L|}7L?D=*j1V+88p+hou*UPeLdyzjfDXwCUXAVn*K-% zO~h^1H%22RNc{{$ZoKd!_2tLuyTL>RjiMR}5Rf@dq4ATYjv-Y7%EM))ZLPMgXmphY zr)hBi$8Y{FK>-N}3GXm!5o|~2fMt8MZ`Cl}P|LJWf=pLkW3B7UIaLg|PEY}{UhBpt zbM%_pDoVy2Qy<2;C|J_q2kj9T-1DajIF1Se`l7CXmp}?V=RI=vN-vdgOV3@2uuD?; zEG-r7{VhcL*QhqH`6&3_z|nX>P5$4%{f^C(?8%0B_)I0C;x$GYAFpZ)hvFG2=vIvd z`-EpWTtje`KMA5kQZrw{`A)I72`a1@PT-;yRpl`3r5@W5Mha_`fg8>C`fFFPW%=|9 zXo{Yffh9DIZ)>&>ZVr?l#=y zMn-09PQm{D4EyQ6PI8CNc!a=jf`-wj>9OfK2hfWQ96HlUBoWKu;HTlIK6tO+imKU{ zfhe-4>DG3j7^HjJ27}Vi%`^>hs4uQ^AW0FjV-wKK0K078!CE-!=##G_D>gms#-f*C z3(6T@lD3&|vkW#00t}_4Bk70a+?T$vk1^?kR6{A)GxIQ|k0$egNEIjy5U|F*fI84Z#@U-gckzu-b$kFAJ`AhYn~b1uHQT=UDZe$> zjZsB{tDlVx^mg;m%dz1ke3{p&3eZ^9P69m{WzA+Wp1cH`i=O%VC@3m^bRC{=?}lw_ z879#IEnY!E^;~>-3TD%{*uoYXOU!<}m6-nA=elB_>6Z5dG3;3o4=ceh7 z7e2fKZ3j*CK~x-;_&(_A3IUg-?c}@kwMfHQA#!61P8BG7@q1eD3ZQe4zT+Qm&tS3n zE2uL2SYHY%^(CLV<;%7JqZI8O{=;lT6I4YJon`u2&R)2H7{OPa3ePf?N%?dS4YB%s z#Rj6p=(7}-#;Az3?>WR;;TU|564DL#v#r2c2^DX1`@@C5+Fa~ux0m?4&PV%P@rHsk zos5p*-os0`&YTb6bF?S5*Ho2uRarK;_VU&!aNP@z&(B4RP_XX){p)kl^$QRbz~|1L z&(@a*5X#vZ-m{56*0%+$`S91S;_Lpcd&n_4M@i91Di`#`*_REzr-VVDAwIg!QP-sR z>fWjnpzGnsd|x1-`!**-tb&aYF!70}9$+7jxS0+uZSAg?qnk$GRMze~iXzJdxj((a zw8~?jxBIBfe1hJeEB&Hiq(S8kK$(G20JnHCime7|pPm{fAsysaasrs}T;ywuYZ~d# zLw*lX?u8%z1e>i2-4?H3Dqbm6dz)ICx!=T9#9!K5gdVP1vdKOyB0dw9QT%s3e^ns4 z+t}PK;4TYlk<_c&pxj=5hqwn>O;1*%g=iLCW1XfG+oTfMf9|pSZSP}GKtF!Re*BN$ zWw_HFD317~_U${q-E()4O-dF^&=CV=lu=a!*(}}tDIjWhZeE37CEYtRb(kJ6(~tJR6(>Bu6sR;OhNH7fucCna%Ngg zZk#rTLnyFNW1*_ju@=AAElwVezLdQwXjcHMKlPbHm9=ektZ-ObkZ6h$V2cl}jiU@z zzm>5oc$a3cHj|vY7PipyILFpGyJkhsNt;i>)>g1hnM2718$ym($I(4exk4j4KfL?_ zFGvw+*4%5(nM@kea}-m|)qXDJ)Kcm9%d?7E*5Xd6$>Oo0yS zUQjL}@D5Y%kc5v={1u$q27#<71}X_@4Dxrs`#137p08Xnib*3^3HMGC>vuD!=%y5n?fkK59{7+kk>}a|1=T$ znQ+IkB&M!Lqs3Wd=O`gbWklsJ>2(K#l6J#cp=&!2Uu=Wt9j7!0EW^19=@+$zfP_=n z*3!apKzMOBF_Ia{o$32L5|AJbQ}M#ty-rd``DS94^7I@!+hrJ!ITE~FWY1_MfiJsA zP~{^Sluqgj$yi=qfxB0YH5HUXsStqjW#<(UWM<){CR|Cb6jZXk0~x{GDyy$%00u~? zB+q0d*SXK)*e`KTG5{K+u&hSK#Q;V5@FvEmC-e3HY`N zG`%&Lgy|_rAu)g<2FIBuFhmRZK8TI%6S~SZ1XOth$J&E{;{;KZDYG+BCIOKonW>^7 z(2sF_l3Psg-iBDUr{P) zLZ)!7ycQHnwgQw`PDGU)@zggs0ZCD6IEKdCYOknzBxk6GC)c&F_kkP*;h(?#K`+6D z(06e^;aGCrt0cCnJg$?hiDtLus8q4ZwCzYvHI*jqP!kle;$<5r5KMBfy_@j&S;uJv zSBt46;xv$T-es^7+O)UtEP&!NmODPd9v59|ji8!f8^kIL07D626g!d+s+*b;BOw#aZTRYXwMNnrpFrgjF_tJ%B%Sdyfw6x*)Vc{011Uu4u;W1^g{oM5&#nEyS|MO z5>-Ow3TXD#Iu!3X3h1IBw5<-xMHy7aOpzDH}nbKyfLhb;{@<<?%sUW`+vM z?t2a})){F-5NI!JU($f=0`>_(Bz*mbCgw}PiC?GNGZlS(p{Z(jL-2)^1l!q7RV25lEwWL z7s$00WOE*T$!7StZWv;GCg+cB(dQ+&SDI2PWt{{z!udqrD<3M^J`4o=SJgHE9evKP zgXIN$s{l)|Kbky=L`XjQsk0}Fdt_f+m5RSBnb)~FV2|~wM8e%3PEC!`QUY4SV2n+m zyIe;C$NgUiv=|#1bF?>A!pA0{M8L5Q(*zj;jPcG~wHtRnupgehZYQsf*qJLs_U5Hq z$i-c!VSLECy87rbNoUNx_9sooB+yCh*9Ni0X#W6%PEwhS{j#IQi29=QRqO+$+$BjP zp%E7lXA#S6;5b%k!WAv@Rw&3mpP``~N(lZkN}RVLzd-d|jqQrJE|GMNlKib$Bk+je4$)vSJwou5n794+?y?#re|- z4PYyLo@gE)alTn?u1ujIJs1oU=&0l;-W6!8GHw>GzQ*YE_kj#b)@??clpu8u!>UcC zd!+MO!3l&Zy^6Ey9H^Wt&MZtlFA51>Xz`YF-O4&8RirYr=qd`V)#)tMOOz1pGx3+j zSJYH0Ayy0A6Cu{(ZV3e!>aX#g`coTdo&~6m;mOfqi1l=QJEZaxPN_o;fG#`7fXqU1 z_|&I9#o`}k$Vr|(_|U`d`f>^jDOC=#Cd3EMr%{Y+bAgRPB&mKmV?c_4m`Pa~GMkQTzQr{DvJnydRk&N=7BwZW>g3 zOQRF$CqkxFNk9uyte{mTczhhjK@<3L?D)g?vhZov;~EPK({LK2j<2lI?XkHC%9Zda(9v4_sEJA)+4t<*PZENWB8ZTo(};7Ijq?D~ zD18bY9U>rA(j@9lY>C7sg<(JhQfV|Gt-yx}t1*(`R%6V1J7;E7 znyy&4u}~NLXgeIxTO1n=^&t`r0==px%GWbAjgSayr0ov4*o&;GIVdI`KKICdrHoA- zM^72ORCt(qfruU66O5q#A3k0pde}4@PjPn-iPtr_C>AKX5 z{%;9Rc-|h^+iE)xP`9LG3H*g|foiBxtAr z8LcU!vNTDMOi(L8AeD-RxST0MYiRE;EJT*d8AVMxrGdpq!bk1MYMGk`2LMkCOba&K0#{gN~+WQu%un>W}(ephCe1ozv$ww=uQQZ*54{ttY48 z+Oywy-x8nG-^-8;sue|Ltk;$zyKx2GS<1yVb=7Fu-^+wRf>)ZVDo~DD=bY9^c+=Cj z8oA}zr#P+}ikFu?wqsu{6G|DZgPo}?E`;{PI%2R%l4M&lW~qrxP_AP90RwSBHV-zo zSxVkA`+&+#N~ztxHTl1&dJphO&+7d9%t#|?)O+u}uD18J*Ja%cHpZrzW#fWhE`yUp5bd%eByYMaWc_ujikn*Z;9#=gGmQ(|^k8qK`#^FGfh z_qoq~;NnKvFpaEf%q!?Z0yNB546k_A>NY0R*cff^zDeUOy*^PfJp@H@JWHM%$y{+B zL7o7U6{rmO+ZfJ&xXR=Nh@?2~*>B#mM$>Pb-+{KG<-n1ysF|{tZAlY+e)q#tl2xqntuz zh=5tD78e@v%N#`6%{loB?4l~0Lb4~>gTz`S&Lp@{H#~5L@4W3g+q!i#bemjD%Z7Wt zsTx^ZIPAPmJYFdgX$X?etin^#D0R+8@aeVnwfHwxZIo2PW5zA%+!Bugq)gbQtBp|p z*n1@NsR^0vas7OyI?f>hv8qq<6#Oc$QP|EJ@^=AnI?p;Eyo9?}pb03W zYH+4yBSazOXV?)1wfa+bLA^+h z-onon)Z*ZHT_}}UI0hR&v|?_j}c$M{ZNVSM^|)`?`h=r62WvW!&dSE zZR#pZ0nzr_dM4YRZ|X!NntBVW7)$ij$w&5c4wtALDEUn9hCY1s6f_VoL)22;y$9$8 z64hsfc&?dvqK)8of#gtf$+OT+#|MX9v!og(rJ9xrC@4wL>diIQM&Hj2*HT~3=x{s2e;H7T2*|Gr`^ z7aABqb<%FQ@do?U=RRkiH(q@u*gi0V2I*cdS|O844M?vbPxZUsKTVS$MDkbPVbWBX z{oS`8B?DP;$liba>U9qOGQ1J5ef3L^+PSl5Y~$v74l0862zAFMW!N8Hco}pDWP%6l zWg`VJK%z8g6t+nD_kZwSN_d;tAQ*QZTqMD&G%(#p;%4{(frCmCA;;uO9DHAnM4Qt! z-mvxDhEdkV&lJQ;^jil?%?`@OM0?Oa)ZZnareIqErd|^(o-m)JVI@MB#V3vv%13aW zg28i{AwTCs`8!UL`_Sjh$>{ZqWP@&S0tQ82n!Kn{)Z$}D^LGW_x_%+V`V8HlkY#HS6i{p2rw*+~f<}`esiRr)E`9yz>hk*v9^4n#qr@TsD#s-7 zMI1(dnRP#O?1cNA+it%DL(e2Q&~Ihthu(PE9{k8djG`=NAK`4-PXUbmP=61bHxVTb zFeuh8gkb6Xf^P76JQ#Pd^juyfBm94V{uE`71Pc-z_6@YT!4c{*&mlnk^HyvgZ=9H1MDrH1Q*la*MhS_2%XnSiR7;PcH779 zyaPwoVo$&RI(r!!MLHvZ>6#ya3!TQZoSy|9!uZ7|L$ARxO+j4{+8hr$+=p{kpgWAv zzYL!cUEPDK8w+q_g-G9X$6Yu})|lrb`jMAFSKK^F$LTtSSU>;Db0GnJXfm2!mIybn zC_l+f-x|h{ZmX$AT9IZBH@T2u7u@#*2~N0=eT;LA%0L4Xt>?TP@I(T+w##!ohYyh8 z9B1skDhHfB_CQz1tew2pLpL%=9R^YQt5G0bsfkoINREp0gLd~_HzG;b2bJX#nYD-R z=n6Yr@+oNowrKF?(3@)?b3kXj-Eb6b5IG%N|#lYZLk6w zB1cg*$;e^aURI_(^T%hIBz2p;!{o*FTXyjb=Im`s>8(vj5#>ih%bEhc&ZIFHjdeaR zTuqk*GtoQ~O;$5BoY${M_Ku)=bY$FGuC3VRRwRHX3vg1PaO;qS0!j8!(eg7$rR@?W z-|`4XJ45pdqVPhZS<0B>j+P1QxjJdPkt_==gWTc#@|gyh1>d%}Y1Rrs=AxL~mF(~1 zPo5~HyO)la+j->8WbCAaFsHHYw#wi zs=1OmXLgSAvm96$d)LbcgrWSRaqm%7=A2z(XS<`1)6w2ml}i)?Q6l6xrT0tf#`7aE zN2%cYTknFy7ebRAzJW+AvN6k_v%bC6gG3ak|hq z;Gj!uUb2`9)~8XaiRL`5&{(C>^$NO!AilaT(Z-}uv*Jb8i9P1wHTn#$R40?l3KbxN zFiwTD;SrQC)k~qtrY}D|V2|u!{PA?7l_x>R>7^u30xM+;^W+flLZ3q!Co<4v#oM;p zGcUJTURn_o#Gsok^|`;FKG}x43BzS*petLyYz+sQ>c&X=ZhTKB{MqudY)0u_vHEpP z!6nFU>xOTQ!ay8K7xR-|8^cl8Z(dK2z`J~25`jlNT;C$Qc<~(PKL&7wc?3ffw)dt= z%F34sEJ2exNW7sLC;`gKB&b9|XIf21Q;~MzN}o%tqL7vp4Q!m|L)raVBr1onD}`l6 z_<(uaxT%n-x2Une6)r3)vlK6XmJwWp7eQwmdrucV&sD61Y)z2V*VOK`0|yS#*APu# z27^=*ivXe|Gln*8BFVyp6b(B091X1j?1;;Q_uUGeLGqG|RC06ize7wf<-SK}?IRE2 z7Z!&>o5O9>rYcme7P+2o_9UaFN8wNVsB94kt>2J=-5+%}YXWX{S3mn1nwIE`t5imP z*boI1>uT|j1YvC?p?-9XCs6-UBl!|M+G-lrT07e9`klK`a6qM@2mRfye%n^I89m@? z{0O{jXfl34G&ZVz?-wuHM{nL^&%Jcg#sEH&lX+(Bvu))mG)-pNiL>XJj(5fqv+}59 zqFjU@OI4E?`;(Ugd@u}%ihZ7LtBp6@L6>I*&8qYACpmvM~ z!5IRuSo$IIb7^GlZDlL(ASyadKLM|1cAh=@3AA?|WN(#_m zK4Ep+(6Mf8!bfR>F6&PmrRxYaf`>o>#YS2uRqYi|=-xe0o>m!j6+!j%)ju6#pq3Y9 z5h$1V17QSGc~T;xHY*i8Tx>=l#goMUcr7=Z=Jeu1n;Gr5UANpqEH`Vvf9hF&&j1ps z@B$oTRp~i^T1K+$dFIzo1b6P(gh3^+g-WroOn35$b0B%}d+BZshuq!T%w(}>E==SS zK6Qff3vB>6Yc?_sTq-rYFQR{;9&#u%aO^a|L=9US6)GdX3Zf>2R@8~Q>Poxgj$0i6 zQV5Q+Ss~Y=Kxm`=ws0;6bLGaR<@@1ouf=8 zgu;~*2-0=nl+8_R?Vva4=Rz;F8Fg>sM0fRe5nwVgkOP^LK!DC?un%yCA-=cB?XIbZ z^$d{g3}dlL^^0r&z*i|8gQ_r{UD^mMe^uYUC(=+tg-hDVOmhhjrI zBTJ{@t?r?$scCu2FeSe;&vhy}nZY=vzzcWMcv??3iZXAlcQoCq3O4lh>)$-bK!8U3 z%)|HE-~ID{^FFKvnru+Ut)9;MfBeVqk%zI_B>V|8GQ~uJ6 zFWcGXPV^s|>&q?K7YGkbUHXAG5;;kK1p4_Y6o@G|1){9orfm zi({dyJR!*sGNp`pk$oD4oD!o+)wr6MWrO{2C8>t2f;5iNIqQ-m)-Zw6ypoP6GTz`C z&9c|sz;ot)G15W=q&e#LB(G7)U6q;3O&6WIiPpeJU?vLA)RacLdKoH^k51$eD+cNb z$5;IQ1p?c7YRj66IF9hTANof;N(E&#QMPsCHj*Wp;D*|5ew01Tq&e)J<&{tdW{-B# z)UyVky0M`Rr3{Z1qA2pw4`Z}xoXm(HB`c;^0bchcDhDMS;%xsLmr0(IaZpf&VzXJl zcAN}6_2M!NrN??em1;IJD*XJS^^c-cojpqewVleqCHvr>O7<(L*V?r8%`DjQQa3Rcgu8*+`@FtHoK#zhG zo1evGswA@ZF{YA%45pwl`^GD1Mk7nMzD5lrpv!dpr=?IDhs!#3fY8Eu&9Jq)hUewRzRxQIfAk-rp0mSrK+QofNR6H z;q=%aIE)=2ynsAIY*xAQwPgX|$C?5+$;0=#ZxEXoTc86>5Fr3kzCmM?&GC~@Yc zJXa4NB!z%TY%gw$^MF8%T64?$-I$foLB%8{^$MJ@oXashK^bwoO zxg}vp(?MLXP^i)5oJX_F-V$e%&6 zDo&w7P*{x0kH+ifTF`$UnozyH_1qA>6+;B1r8d0;znb9(LV4BO5SLtN@4nWJ+}i}f zFeoG=+uJ*@vG1a-wWklRjhC~+q)TW8WtquL#cku6<*_1dwr|H)^vIc_NE5:ucb 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ð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%0AXp(I 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�f{Qv#jYD)Z1>Ip^Eelpxfm=g;VQFL5 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�JJgQ%hm zFgV6DWU6H)em52mCMshtR-0fJ=*?At|HM`i^yL*pIpAb5xDuq;P8LAsuiVXlJ= z1&fwFV7aM0 z=NleI1gs&Ipdy;71n>i&&VFSYoY}*VvjLpQ> zv^wMU%4z-yxuuQdsdQg!m$0>wM`mkE$T`5*7~^vVqKo&@-uJ!X$1oRX z*yU!d>GxzfW9mlBIq1U(qG@v~Q^LpQS-t)tK|={F`eZ)C9zkxLjt{!DNR}+fQU%P)14{)$JaarU$OYT9MdM4`8o8(JGIOsAwxj;b z7Vmd%qwfvxRS!9*l2Y8euY3F$Fgj6YvoBm117MaUbZ&iS?PHr^QY@7{!Y*Lr9Anoa zblE4aeSvgf5SD4?HD?=HgZ`=`prB6LSf`W>?={F@MYcf!t8ovx3;7IlaE=T)xJ8zVQJ!#~tmA$NgZ>O=aW&UI1w?ZWivh+fDP7r7&zf<) zefIAf861ZI!7w0VkJ!J!vUI#1n@t-PU=usl(p**8W8EF?^y5frYHk@jicDqfARD5! zwbn%4`qdR`<%7>ymZS>OT^06&_I7~s%wOmf1kEAqkOMq)@9qgv>t#i4DkD zFt72R`DTxD?jnH0RH~N`2mne3It5cOn@`)&-eJm1{h|Qg3AQv+4yB{3lksz1O3gKJ zX0P755{(^gGH#7zgK}8{Tp9M@F?GBxBVjhIS;1wjWpl@18o2sato`iVLYg4+Tls5= zJMDFCen}^ucdS;PSCWDHkSBG2X-6<`HZ#?ZC_^sV%O%5p-vZ#YoI^DPCS8}gg;{LB z25cwRf@fJ}PZt{m^QH!)dF7`wbQ07%{M_#J z!|#3vcJK(S;{|}|r-AW(1sQa4c|PzV%cC4p4#uEOp0nlL*G4JUHTtztj<1_CCiH^X z06$#cq?Ys;04)R<0p}CS(v{KRxst|;y9C#Q_~zNrzd%QxpsO1wyV2NDL$gH6Ww0-g z@a@Ds#T9~COvx5A23QV0XGRM)1HM8<^-21pKYNG0ew03Z|4Y`3KpdH`*63d$^DqxK zifK`>ZTN68*l8^`dj9~~LcQ3D=xdqHlDIY@k5pj8pAcN#T^9^T%s}$UkzHC{+k#zw z2$(+4%u)6bxp)j_T7~Z}@vFaAtW!G-J4OaGc7K7O#f&2&WN0&W%tc}!Bfs~MJIIWY z%dBfLB%Y}WekY@}yCni$>#irZwKeFAuG}6u&$1aSF^+Jnaklng=w3*}{e!3;A4

K)V43yWwLcX5fd-HC(JTRP= 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

6?K@K&{^(b4M=H1sSOvD-I|Vy! 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%0A0iR**%`-hG!t!PQt)u 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

lfOwn28h1R*{z1hTLM#_VF1MN&`{Xs z$|=u``<>Yp$`?T;@dJZo;Jq;CkQZ?><>8N<&zup@yS3%Z=mvuR)~&CnH^μ-mNP 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
Rbx<80zv~3I3x~@XC{jd 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 z z8&uzD7g=#+3mubs1bVeEwL3iv?F40^ZQuAs*jUOO|I^H*+n0R0D$At7bZT5B*^68K2Y7#WlEB2AFd_ zewGf{G(MgAxomF$;A%x*QB93cqwQ0NEl|sKYIzQ2>Un057>IrMgSYXA$S&qfRoF>& z@N;(mEU;!-x>>>V3;5~ggYX@}J$0oCTb^e#J-lDKLT_eT^4z?62YHT%3f-tXl+W^i z9-vRXLQI;rk&mX1mfAE#qFWu6L$AH|v$TlKb%^1w%uBQipy?5?C0IO&xV|NI@hOBR{ zvA8(TjEi1uO=cJ%&pN39t%D}N|Ju806^H)QQY+pPW%64;ipp zrlR*@MDu3*b0@q<0=L;0|?t0z6q0LMF2bqb)GkYw*=6D71mJA1*A+Q|;5g1Z@; z*fx0f_uU~7C|2Qo4}DUrA{Gc}7`&**#xeOqj?#uQsm+84Wm#l4<7b-?XQIYSFF%`} zeDVVL*A@V1mfWPzs7$y0tlzOpQ`(UiO`Pz2^na@Px8Kul({2&>vaQQ8Z<>gy9XVqr z_4pWcy@9>ilD_@5KTYSKcq-i@uw&10`^_&9ba?%juctfL-p6MJ^yk_~+{0wACaP|m zpbxPJ^{9NW&2B3k$P-zgBlCKdKr#Vo|H*qoCedmaI+hQM$Ut#2zRLf!zhQi2ZP@Y?52!q4^&Fj;-Qi z;jr;fH#{6MKg);B_!US~87ZiI&kgtAUdR9QzqlM5>?^+Sueg@VO5^L?x$|ie;TXf^ zya?BD^5(^h7g;lrW(a%_VlW-wXuYMa_V=}i$_f!r9d7~VYz;0f>n$btJURXVgY{t$ zjU|FA)F2)}QI)?va_x&FVE4iM?qK4W}SK&(JhjQbjl$MQ==$|J&uplfLV^uIb#R~h(zjvX6Grxcrlf;@A-_`VsLl39>;-zz=`vF zpRXYUAz>=k==ZZd)u75&~btjeX>?f)-idu@Lc|>zqd?850_cM)u4wsDi0{>0GHKmWlrTkW6Gj)OIpx z1%S*pcF>#(lQ025k!QwUS{}z5R7e6en4l;hm>D|qwY)^so6N&kU;R${-v9JH6b*)w zeTzB2Pp)4}KmMm56UjB}3TKQnF|$uvaPiW(KU;dG8}Hsbbf6AES&+?=VFk3=3r1<} zlga79tAOF~5N0t7if0Dc5+o9EwvXU(P{n=M0SG#jbu|)|)BG1kG*`6cvHY} ztO1-mvL_jy(-E0S;2h~-gVG(8;0hqRLwI!T%yu;UsjYo9ojf_ju%ZtE^$Y35ss41d zQv)!0kDrOm*+-MJS(>F^EhKGeZX>NQ7UsyvBs=Pe9*J%Agq)cc0K;fSCJc{ur@7f_ zz&oeMx1fND{9y<+)D4jZ513A`xOU3kUV8Z}(Rh9_%5J5>Hz_^)K4rQq(itNCF z39eP3ileFC630UvH%b7>RJ4@StWQWS_BoUm^y47NkKXZG(7VdCM6f{P-Uy@o zZXdw{=gwva2xz8%WHKw`dC%$%gF-40m6^uA>$IJOe67&U^7M||GkU>k<2imVIgHb>^# z{fVh~?gD)n_c7e<6Q=i>A?MGERoF4<~7*tgz%gCPRD(o)G+|cxtrmjZzNGpMmRpitz{eq!J92SC0W?N$% zYXHcPC5!@rb%8=2owcwY_Qrn7I*3gu=p&xBhOF(b4yM%iQ=&+Z@5M#H>WLj_9G$fc zm_gLKg??IQqZ!ncHtiQ$A|s5Ov3?vEoXE&L#c9QrhZo>w0toJ_fdcnk1K6|DDOMh7 zRJx8b-#6RDN(SZLKtC;1;IAbNLFJral0&k#kvp}3Fg5he?&xkOvR*^q=;jCvj|1v| z`th~MOgVM&aU8aHkdI`wB2OGB8bfKJn=C^@xsd@0Ib@B_nH5N?60{j*T=as3$2$lX znf1NloB-sZCA$p_Ng5e$BT#`(#JH)obq^UxYh*+;6;Gyd2IDleV3?tkmvFcimuNLn z-w|slQT91{b`)^6k)Yjm&Wg_kEen=rLEk8AV?7QFY3CZ2s%0g9+Ck_&_QR6900&qv zj}Z>5`bRpF&JC>W65VeikSeceH(0TxTr6qw}7w9J&lo;k}2St31Z5AX@@neDfRw0{hIp@pD( z?GpkY?5R~QIh@=!WFB>Kw6%f;$#B&HA#D#DB|y-C{X*cO4#%*XK_oh@1`!OFmvF+A zGe#NYAJU{ldxWa2l(uO@4+JmPt02OWf`FKp&Zz^g-k+M;4ew98mVU390DR9 z>>1=7pG}{^psM=0NJ5zm~1F$q}*XkF6@l01`8F^-2@=n+*>QiaYb{+;5;CNPo zUL^A|hd%VV-KUUC?75|twkuJl`qJLA?SdIv1r}@eFd{PKtI!qke2;X2P0wRBd^Qt;A5O-^hwU%;bfYd;fy!W-r8Dg z6M9!i32x&MLCXTZg5Z1mCRC6`gNQWaTb;`W@v{Lo0q@M#QFm*PxQ}LGh74r|PK+;6 zU0^o1v?)z`eb*FOT7XmXgD*v1HD@5W?ZOYt7|yk_KiGCU>Hyd^)vaNVyOqT{o}0bc z+Q!!4BKc~PF)FrNG0PgcLz|s)1^VHe4GmNzm8YS*t_V8ayiTP|JyjGv%y?n2O_{RO zdV(coK=H1|J~9*g7&`SaGHoE$!jn_e^zL5*JfT170fDqt`arkPPNS_8n};*jrZXFR zWf?Ge@hJ3k0a`b(yt!&iALJE*51OZOe)tn)I~x?NgEtQL8MwvgbV#-9mCX(nH&LQO zHmm-Ftu`DWzD1y9mkKTe{(FFKD`}Mg06+jqL_t)L@sj7&vz(3Xu?tgu;P7ghWq(_|5T%&3QYtsan2p;RtNA`gUzsx{Lry3J3JBjXu#7}c>)$@)bGMOX6!q3 z&Az(xi?$#D%*7TlP@Ct>Jj)$|t@bdjqUypvz9r7aU`U<(K^wqBK&B&PQk1o`Hsyt~ z*a3Pba|D12-w9#}9%+LpC(SO6_C)+_`wA01+zOe+|$OPqBRPyo*+g~VOSuAUXnf*FHmsp43uD+nve168vXXT15=9HbDul`5q zD86$XEVXxP*sR>w�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�L2IsWN~@bGZD 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≺1?C1IdC6@GI zw9;d14VK9cK{ormj(}gb*CD-WwSle3golsWQm72W!O7H;Xj2LVg2&i*D_vUKa_QpZ zO;ilrWxbn%jj>LtJE0hhH^j-r!h#aFj(7Ujw z^1bxin*j6};Pm+s67!>xa1so&Efw02`P2RLnPDm;@XNFhxw}r8IsHoasqR?ER+e!R zJ+#r_tetrorXu13`W#W^@GP#vysNWhp(=y=ceC?LJVyg;B9h7+mRL_Bs(_v zpMn2a(%3@`IbLUAj0I2v`M`R`zR|P`bZl>|Vl#O<`%CLPgbwhY4?Q=23>&RO#8{j| zE){Yiu%RN*e`46YY>#F30=9L2dMY*1vz{X0NSyfhtSy-{%&fBqO}^$CgR|^@_F5*# z)h~Em=sx_l7(0nz^#nodI*EY#HV#z6zShNk(Jcfef;-A;1i)O!{p!33^td-2dx^bj z@R8GB<8LN-)m3HavzEn2!0382!eFy7E?fUZ-&-D4f6=|EF9nVfYZQ!f_I-uq3s257 zWwzoG16!M)B{={?NZjlnEk^)1HS-zZ-A%5|_-Rd1OO-*TGMCLO440bfK7MY;KCYlc z<{4iXzq990N#OD<_B^)=?1+N~oq2VONhF;}6E_^^86Zkjs-gbvAMPG?rA#VU0HDD${l;0D>1%`S-2gs$>ntvy(!^|@l|Ag<`_ zI;WE7!$cfKTc|dYf+UeSq|<)OCnbD{s&<~s{+=CicEc{8?Hi=rxnU&4T$Yz_erOURafd6C5&8S6?7Ep;4JwSu3);ZL*#Vj8jgR!nFY zu?f781)S_MH!5HH_Uhp{G?3|62Ss(H`$c)f7HC6F2nq6rC?a73%;MVyr`jdssxxf+ znXN})mRr5zT9{C*0gyH(w)#i{hx_80$%Zs`K^EX42Q&j5cNg((X&;6UG%@f*T1Hn) zuinBp-~eNY2%mm-hxUK8?c;FA;SPKi{N}kubm<|WW|hPaTE5Uy=>UMdVDEC;%;f8B zg&;U;g7P$7zIvUc8H{t{pmX$5D-24Of}Y+pJZA^-Y7+zpO5g$g>xm%;X@PKfxDjTDNesh&XJ6K-O99cbQp`W4&22{j0uNH<&?FB482YNd4#p^noIUh& zBjEY$^ej3^fE8T@TU*;~JC_9jbmK;QI+p;U)n~`BbhR<=Q)R^X%|p2wh#&d}Xr;*K zOeV|RQ*P9e&b@oo7|!0njzJQex==!q`c3&&Zz_ZOCMNV`x~oTdiK{$(9XaG9*co+h zb=rVUPA3*_#r4p``h+Gpyq*bQ_c)Uta&3!|HhQ(M7)OP&OLjbsQ zp0yeOp|gtwAuPUi69(9A&vVg!dCtoz*FM9}NN(!FuivcLJ`3ys9}G_q5UmyRN^8i` z2G{KA>;lB)us9M9-{O$K_kQ&b;IfA_SJKa5Hn!65dySamio009KN_clG#(0j2+m871ksi~&Av})Q+ubGFbu0N<= zX69*Dzx6|vv`V9qNQxydQ4~#*OrHtwy+;HPF!O!;W=?fbsZ0bS?mhRMeYW}S-`?lS zP&c}tHjWU8tcYWJ;(7FU-hcnE0IKmx7=MAv)I$h;9}%mr0Z>|vA(>Aba!j>~;Hb&k z1LCJ{n5(TV9aO`xC(!i*Re9uqCyh1CvB{lNTN19~2UO$q+UM0dYGlvtQH|L@FqrP$ zy&G#Cga&m6bAOACcgH0rFt7LczFlHayAu_Z|M zH~0s>lO#qDW~^Xtl-Y>|uo3+5Dr`x2_Yl8l&sZVDJXpp1%r6!=uIBS5>~@LY%gnv; zj|aJLV*{oZmhk&V)63Vd@E+AB#ISAc^mUiizZB zKT}^=ybOzi3_&1a-qi!{TQMPtEqA{9jI#h>XhU|&BU6JHZ>Fa9?r0$)@ld?R?{xKa zrH-Cnu2l(kw~Q^NB?>-C6MlCG_)9&>aMJbZi%&mEQ;!~#>|-7I-S|a(RbpbL(-=YU zJSv&li?*WkTpRXFeWLh05fWo1{^xHzBHY+4meWpqFmxrlCr6T8 zB1x_~BN+IM#*$MLlj&Cw;(q(<-=M!)H(u@o{eQo&|0*t|zZ<&N_<{A)zB{CdnbC3j zv&L@W6X-J#7r+7vf7`T5!I#7** z|EIvjq`1JmXW;AWnIZ9nTyMkB<2@CIMxq8`s6+TIp{vAElLb{PV9dmBBDh5w&R1bf zz2+GpiHD2TvcW{d3n=bd0!hmgJXFX&Gq&we2}Hjq7QvG;T?|jn)miiYmW=7dD+~f4 z{_!)ug8l5+5n|sls8Nnx5VM`nO2*tQ(M!n1!r=%2oA3Bs8faOtW@Tej@^ytsMX!y$jWjtoO zG*x~-zWek#JaT+r1K@SNga&S5ej!R04#+?t;sKPnF@Ny4KS+P`H{WM{vvLPBjwTZX zIY0mGv-A)D@DG%aZKn6$c?;w6W&lFbZ;`bvV`x=gSTYWT5_s<7(6I+N(Kv`G4wag~ zvB6tpBe|}xGJvsV_4b;vC(+RGNF4AsJu_|W`t&nwY@SIYvWU|9#~*({)@_#TEy@(x zk@2T-^VC!iqO;UQAV;7j#~%+@ID%caMya4>#Mf`#NW&vT>BA2`fDJnp36dHN@5Qn1 z^!I=F_b@SrQJnNSL($f9{f|EWIqf|@jx41{%V5#j3Vz=V_;*A{sqvkK!F= zEtl38NbqRP`5j}^uyuC9d2>1TGh2m^h6jZ#S3pyW}k!A8ZI8y>m9ez_8vv%MXh zJm#^DOtmGY?w2SfRjWM(i&XZ0#)wB*vkXKKM?y| zd6Muc<+JOnmZs4Aoc1Y0oOmwNc4zYt<_SRv`@+nwNd$YaX?kWSmi4p3xXZ}T*I8a~ zglIoDWDF;|t^u8d!EJ|uAY0b{;H@zDJ$$B&@@gS?Tfre}gfZU$TfT{4L1y`BC9H1_ z5$&YhrMZcIWMtD1V1vp~?WKaCk3ID{C0nv;+nH;@$Tbptd$0{#kYybX$0`e}1>m`d zvf^#pD(vrY4fgcQFWyW`i}UIAcV49gkON0ptA$16k6_1=U0W&WNG_s-TAJEOSitTi z!(ZN_T)BZVGfJHAPmok(uL>gc((*;-_Y8?BOO)M5wt})`(q~pl7%-|BJ*>!|UFUOT zKsD%i{hc~HfK4{7V2F;Y2@nqqJ&v`9CCg{JFz%M~*^93Z$3j1YW#l;sykRHg05Hq4 z99Rck2M7r`3doka0NrXJ*Ff71D@qJ#P}>(C0PbCY1#D=`&=f!En_OMMS_w#IbP4? z$UZtjMz}z{psH){-^<9{G4ta4Lqmh~(BmLs`tY%E{NALEt!NHt{X?lC8^Oaf?F}t} zi&u$VWL^mp1wu?B3)rdu>|gBRkUGix*aG!#4!P^>sZ2v-Eie&xVIL8Ik*Sgyqy5)G zv*h1>k8okrGrKPAX;`!GX0=vj~MXrs67vHQaQ+m>kCenYl;8}Hk8fMsGXk6?ld zD4TRLNf{0yqUN}D62k|<->M>LIzBW7%Jagg>*7yu_b5QgHU7+r%#}*b?XWRG;4>WUqT7e+vIiA7( z>FznSXw19YLE-c713-=mSXQ+#Rk}QQhqg5kW_U*SfpX4E@D)+y+denrR5n?k*cZGP zpa+X%P^c+2aM~k5YLH&d-m-5Ut~D1D{3c)se-+1@xrq{9#-iixD}pH}7{4GJq4Ubz zA)H}Pfel!Z zT_pG_xUP1^5$l_Iea9352@~eCtDp3l)pv29xU#=jF-|tn_;(fK(_l zs!!Cr^j_ZFpGs4+U(lm>9(%G*a7=>tm}(x>uk8p7c%6P3%YM%wB>K7nHtT~Pb8dl2 zK+8Tos0JxQUiC?sKXgbVwqj@J3BES67V{@Y5n2K%PaF=1yvw@uU>>$1Q_1|+!n(yz z)m}OW0{SOsD}b9Y{%}(l7AJTbz(7FjV|>w^$XSA2$2IDk?d`0O)UjYUefr|Qx>Pd7DPU1YFs}Eu^o41^#vHh}s_@nG%t_vAOJt(Rnr;9H zo}KeEbLryiEBVTU)?wGK@MOKVE zjsZ6Yn~*`OG-%bGV;$E3Yig0d_uhDqgTd}%Q(#=<(`@0>2%Hz0zq#2t?0OABbsI@K zh!M1GYHjf#KE|y)5@^pa^Icl8oS(6O0Shl)13cWKy&RzM7K!?Y_wJ>U@k^Yq(Ml3> zJAH!=*)7-N=i;XT4%J~_uU{Qb{T&ssy}R(2*V0#yzkzYsA8hPR;<#e~bYG>THDbI@ zey)U(htC7JSquB|%B4ZZyOi1~XRn~zv8loLiJR$_y|gZYqn~-CGmx_Giy1*WovEO=Da8TxaJRu%aatRQ>LzA(*d~Btw>$XVR~J``c*UuBKM=8f07>JE9e(U1bObt z6)GJzh}90#zxno?R4LQfnCobdTpfMgLuA`F6+v#`eenSOdTtgrrIT3F{{AK})%Cp1 zoS+}na~LJD8ll4nlXFzCvhTb4V0R86k^*D2T426R@Q49PuroGrpZE9nq}3%D?5kU8 z2VZ#w|I^CN^2~br)?06<&VfF36s<m$pcs zT-LSzfi_{0>f$q!gm1j|DhyTZ6nkQ5WQ=~-UBRTcUCr&=x6_5I^u7l_vszKVL!YC8 zWQsPye&gSZr|*7We%JkJ8ZFp^tKs z1i^|tkLTPoIQVWQdqy(TFMsiy^wCd0f?Z7F5`XQ8vG_6>?m@pMJZ#IMjHr7hwq_S+ zf1}Uz&V0u`?Z1s#C0Lo*>u9I_5S8jy!?kr$X~w_R3FoJIYz#KPQi6^#0eX_NS&GCG z;-eoioidYhqAtFr-Vy^ZEa3%6Mh(2viwh@I{2*V1a)!4{ip7xwwo5j5*5YPUdxO zy8hgy)Ps;m5W`D2##`qIo@k!-kxDN+ziLh*q4xa zFrLF+grOXC(D@IM!eDq^okV`-kHNn4+r*}_H<8b;A`9W;2CFp8pPYD1c5X4f{m!@2 z+i$#Hd+*5-UB>|aQJ(#bK$MJY!7%%#VU3uN zEbtFDBkQ_}0=8#W6Kk7Cexi33^JGBl`pO86L&`8#Dn7v`PYZT$nN603Xux)k5|BD5 z2ptNBAi_h!zWMSt_vVCcK*lnAXd705y=g5Y7WA@Bjpc}4ZM_&roEsd{l-nkW0ONIu zvI^Kg28cQ_T^t;^LmyXJV**0wFo`B%m*nUr*xhN15Sqy^&8E?d*8-$CDek}q=?-w- z!vN}OuVN3_9oF@b>{t^lg&WszrIFqtoC$)AR*f=clo*mt7(I2&t$M=J9T}l2(ju}a z2rVNlSS$UM7qb6#%nYs~fMR?Giw3|hmuuyI7Q8Y*Ga=$<3yqxIiourc;QCHaP2hAd zknG}M5txwnezZ51&GL1y)Mm0t4Vq<7s@ep38bEvZ_bEZ9RLx|Xy%TH5S`H5Cj4(fx z=@yvdgI#0@xje>r7}TSQxG#UPmJK{>D;aOw3fMR7-dzqufL*R*tvm%Ym@;AeZf(J! z(K+{ddH|3;#dvXQ180R3nQ?Z_(poa>K}A02j3vLgUe8^*jIN;P^UMOD&C2r^DIbio zXY^?;`ZU_bFrH5oUh#618u8R8x=sqvPr>U!?u;B6DwwpIhe!G2g+-6X5p2AilYO;g_1)-#-b`tk3q zgyQ6Jk|z8^_H>!&?*_;pl+ zSTJ;51UKxh0Hcu=4?j4@4xItA)(L3v{88$Kt!ZO_d7$PlI${HzaDY>Gsw@#`AYdVH z(HE1%5sS)LO%_nf%4YPfTKq zfXHMC>u+y3WlZL!I#s5l!Xp5nEfg@7;iVxz&_QS30|>_;dH*^-BjBk17L*gDuLD@t zMhQI2vXQAIbBhtNPOuzs@?>ioJeE~lj7R<545JH08~d?=H9aDr5{Rxsr)(o1RzaB{ z(aBLq%kVEziQ@b#M^+%%Ho^?Q2SVwXIcGAF&j{X5aGG=gWyu_{4{afn!^xD5Y!74; zcd{F;GV#zr_ksr{`fTwGHI(iZ4P;>|F)kjTJ%J9xQ7;lqn27VeV2Kkb7~EKigQbkW z1vQZ#^qPB*zy|Pb^imtafsQ$+WiN6FA%S`>Urv3aRcVAnG&@=-jfWkyzlBXYg^kE! zR>92kK(2g)>{-SL(?z$z@=#gT_UNsm_p=V9^QFy*;9Pfuez?qd$b_IzB!#Qm0NcCq zBVM8E;%b1@0s-y~gQ{>~k+--8^Da0X{!J(uuZ7(}o+?~t)`p2=A0DPD^usa{ zt(uxiD&lH5s)1lN}nYfLrM8`%V*A^T#=$rsUnRBnFP0>d&0CAk!H0M+M;q{!y_{`J$ zY8xDn&r;1b?5D2}!lXvIw~6uajk#Wo$!n^loM`?R$t<2-Us#{q;OK;8w~Wl0g@@_k zqp$F_CJ4HiWA;kQhvoX!RO1{2GDoj}+I-l1{-k1)XM!EdCH!oF z-!QkW#E~#@SXzsq%Yza3=(TK%8)FZ9wEOvi!9n!v3UiPp{SE<~1vv!E>k5=C!}Q)* zZ6Fa0=>U+VfUXn-vRzKaDM@dJhSZ^-XnA+Yze?&{6IZN_>j)xbaJ`QX)Xvn?5~iB@ zl4MarZ`4xNA^X)(-NOw}X)(k!F%S4P0N{ed&(>Xe4|zhr7`&U9agXuP%&9R3rSd_f z$$ZTa62@px`l{N)0Lp7vo3%Cjd}nPG1WlCijByVD%34&DusS6%+|ruoJf3l$Ws&(h zPM7evi?l_Qu+k0Nd42T}I=PzzwkXd(*hyo6Fzp;-xOBLhb_uFY77mj@>+htZ?|2qq zjNYSwxe1W<3_r-8)AiWK3i>0L4zOp)-dXK@1l`+<=-`fAy81k}W3QRYR#|$)H&pU< z_hX~*Deavt>uQTiwgHl$^K0w)9{8fPH~~jxP5}1J=`bf&GnFe~r~{mIb`R2L7yS>> zzylJuAQBv(H2^Sfu%>06jk6p~_OBfQG{L+>77I1ybQuQ z!%yZMh7#=u>buhB(sZgSAWNl=*We4lNQk5P**u$S?^xP*ZvsiC+ zo`fZBm5LMt(wJ3>Xu&)stQ%_aoT!7~c zoii)Y&5TnQr^tQuyIW}oadB)k4*%|hb^N3M=VxgSpWy_6&I(<&J30$L1hUM{OGD|c zH(|(kb*Eqa>USKBIZc~84)?NYlvU%_A~Bl% zfAjcjBNxUXKy3i>p*!)Fa_Bt0Qxl8Y5ZS5D;QQbGR=PGm5c_8rJthdHe^bQX3-0fs zKlZ8gxN>O>6OLYkv{gx~ugU3^^y6RtF_KQ_tlJp6V`zkg4;Vx(iuc=Zyo~K8p^km6 z!Nz+?o@{;Pd2MY?F<~smQ<+WH*R`6v13=aGB$znXIlSM@r!}$o6nN8Le)#xtD&wp4 zvgf)0YEi7=%X?l}9(J~Ks2{OT@>f5*vma6v?I=vH)lu2A09LiQi%ilU?8fjQz$t_j zFs+FqKuamQuj3;-&HfbpXA_=UF3}uO0%~4PYzD<%Bu4E!rG&QY3~L8@oU| z6893Z4D0smU;c^&;={02ot%4gadeoLC15O!+P?Sppx;4nXg5(PnGdE*0ubxX)kE);i9cG1cdc^lLXW=wXWwFfft@f8Bo@qpxkbYJdKfF8QHG2w z5ApE@nR|O^??v3WzG2dpcu)C)EEtI{bXQcJYJAz};U^()+EC+C-*z6gp&l%(4`RH) z%!V&{LTn|Dkr6fY7tuvLpTr+=8%eWybVuN6_*!}VBeJRN#_Fif{%`;7A0dK02;J(z zl5(_;xR-6*^bI8hD0ljHuA}?LaY^7*Cm*p_#Wk2w#_u@yX-V6XZoM!_#TUARGep*@ z);T)Fcc=Z;89IWeh&>Xxgx6y(BoQ2Q2FMn8img(e&qn6FrJaN%$z~H1`y`-bK_Akx zjV+rhuD^sx1A!;Iusnl`NH-%vzsEV1Zv} z3x+bx1j$9TjELXx*=H|zIpuytkBLdq+XB9hrl?hn0Mw{0a5rY zr)i=ua?juZh8gB5o5RwvFaV6k4Phwg%V%&6d_DVHwh}`Pw)mgD`wkm@jNc*qaeabz zgjt~cx4-{w`oI3q{{thpncjZ&we-FB-c5~c=n@-jpG>o0gp*^EV0dH{=ei}$&oAIe z%j6VFVeGCmfv5L&)5nWBJYv2*756&ekqnPX6#nAU66IX|F(32u^MG_RG+SBw!}Oz{ zeSlGY42!Ud!y9yP-JTjV*IE`Ey^iRYB=atMlatI~5kfAH=?N&CWCKNf0HB#8SnVQ< zXkT4R3f}+zU!>PxdnM#xA4a_a+9V|_Km4a3!ffCG9+adC?OEc*^{{WXhE}lIgTJD@ zhdC<(dI{PI1`2Zd*<*k#Gn-}(m2)MciU`S5R6}tv&O<=TIQ^JsQ>n<7sKtwk1L~MN znQkf_=aFUNfI1j-?H&+R=DRu#v}?erDBzHL;FrCNJv>1saVyGu2S90R`VoeR!|j?` z2bB8Zehw$s?4isFd%K;&oTDVDjkXs6js@na7ULu1xA&sVC;ML=um%J{w1Oz@A-fzX zw6?Jtj1SAE_5d&{JxB;8ct()e220o=!4^D6^!nY~(X&4$2xy=m6Pe8BVY1u<+;1i3 zN_LQJVjb{W%3^gaJxHa%e3${goFLv7?}GwrGjZ5 z5W<0)I3(319l8kU@`3?4+550^JUp<0e$kT{`BV178Gv4%eKtsMu0=BW&X#IPZ1Hd6}%cWz0-x0PYJjR1;9v)Qo}Z8@iGnelbDjnEhW1 zK+kjakJ8eHQvQ|2J^m2PwT+}BoYowH)cOo1X!B&vNfH)uRz0B1J+sF+fuaDenkYBM z*+KsZ>|eYzK!OBzHtdbXDSLvlw<$l|rEP?V9p=z68h*rq>)5*t9geQZ6YKC44y zPe2c`u^drd^{lL40k6FV)E_F=o||cI|q){jJY=1gfd2u>svX(I`E7J zv5l054fglNGj0GH?DI@J0wt8_GC&fQeg&P3vnAW6hB@}&z%>{evI+}4cLC-}PY(yu zz&x>knL%(48M3{{@K_HC^7YWaZ5@ShT9+2KaBMqZFSg_KFQop#R<3Dl3!a}FR?l%Akzf4{ZDNHqNj6={Nw--dRm4EV6UeO;s+v>#yxm zubALCQD)g!3a+2E&5&~H8ahuhF1L|0@Q^gUR)qNsAkI9<2D8uRU>CuWjwOHG8!}Fn zqgn*iiFHJ+z+YR=$S4d6)TM-zRJdK7~HhG5vq*>nL^QUBQ7UD`l^^CyTJ9v7iAmnM^w8 zFhkqyW0=5)%+N{0K&wBT%XYkfzMKfL$AW1JE(aOF+#&+S{h@`T<&< zgAhHuN#k2}jrIr3L4AWH7%NSff7Y@Ca!IZNP^h~J9kGydrG+#y*3bDcw4Iom!*;Z%Z4N(M zhJ0b*E$dksIyg8>PaZBsrJt=mBqG$34Xdw%Jxev&+6JIMHg^{yMFVRy-03 z3hf05tEQdbIX&X%=8n?8d^nH%wlYqLBW(r1LDQ9NS(uIC3eVAE}>t_*f#ru zt8WD`O~CMW#HhiZMW_2RnJ&n}@+!FT$6n;>+!MeWHbekB>Mw0B@H9X<&&0x4W6ut; z@nJvkC9-59Hk4~0;0qQ2KbokD@epFqLQx-iKGS(62}{nNC^5&LB?A0`><||M5NSi* z@9rISb9IFn17jyKE3jRKY?P6IeYH;f?jmbv-*sh1P_e`{j=82Js9xgDS6}5|I%IA7 z;Y3t`&EvQ3;eT%uGnhOLvH_%_H=f7Nj}6gw<{r9&SdP8C1wq3ts;?408e>O~gM3Des6LL$O17B1rmudn5@#gK2ftV2bTW4)AY%QqIT!6IE z!Wk4JV;3+dlG9EhP(WY=Vq)PT^doR_5Bx5SsE1m@~N4t>U{^1kauWh6z)?<92FSXvq-4tr_;F+H_J-{&pXR-_C)$1|%F^p)Ru?@hqfo4ik= zibPxkF^rW}Vk(mRvQ{tXEaq3{zWQ2S(gHDSjW(7|Bm-OUagSMZiFyTM+iup?Dj@fi zc33+a0>u3!BRYS|oMf^11)nn(@G-OmIrN`o2KBx2AjVvn*s zqEe*2gScb>pA!;6D>lG$WHzYI+9vU0)vFcT#*wn!YiTii0D*54yDhF@;@Tv2GYK_Y z*z9l?NK4q58hr0Hd@T1N{>qI%`vKF%NPRY+lmF9c_epgUBH&?@|EnY8TCjI2NsTrvq3fBB@9lNV2HqgZ9D8geC_&W zHi^Lxi%;O>m@IX81}L1c5fzetlvq6uuYlO}%yb0l3XsF`-u^#R!1q~$r^2g&v6SGQ zcixT`6j{$2mWB@sfcgC|QDmQd@`w2Tb5|~53`awe%kJ=?IziWCp0NqXaQxE6P&5l< zl@u6ntK#sU8ieSB$Qu%9zx-@b_kOH@BjK=$->dUR^}A*a)!*r@;zO|Y&~EglC2ZO zREaBx0?&e5%7E~UOf`XDus{MMKpCzt%MTBq`9_lIdALK?y2QNZiBx5Q3tYQt1zwcM zZ~~AuMWumLSOiwfJcmw>88|Q=47!Xi*trC^tsS!NIq(F6VT zwe2SkC~G+)pxZ63(}HCLprj*BPtO8cb0`q9GBPrrZr*qa$MlFES047$5Ukzdm9D;)~PMv!9 zrVfVefmkQ@nDYFqUw??Plv(D9t@Na&)W)sa(b0_pO_XRZ#kwJBaSgAdj5d+Mt3W>N zZ>~<__Q)elLV$V?SGDDiy&IdGc~-K=9+s$Mt0DB|!D9l;{-*$2DlT(O=5r%^+k-E4 z)P{x!kp&M=f|&w4*h4Ss8_uFn;m+z2ff|7=C!L=Gq_x?DsfLyX%%|7c+~iP24tS_% ztoDO!z}O3jJI6X|%9KE!J(`#?jJWbeCY*hy?C9vO!t|7J(8SvKkcSwPYJxv5$Iq0f z0l?ML)}@cqDaQA)#?@dlZ~f176p#Knc~0FI~dvgxUYq4Dy15=`5;i zSf3ga6^J`Pra?J6i^F`}!nU!|=~2#fu8#qRbO7va-bR4n!JCfbkTun=p(vIU=P2!}U`+09Gs^0_Hul^eM%Ok99!zKg;+XnvLE#c$y0$}bb%(X}z7?P) zuD^ZGP6)Ovm*nc$rDGfioFuM)ij!VwW^F8KB{&wOG+=oKBC9Vv@D1%6PI!rN3M#qp zlsC(sv=h#eec#l%e)n0gFw9Tr5a-W5q|XcIv?60nUZm!APFDKN^6nbGoDwV zF-LHG%J{2E2L$SFUp39Mj~vY9R7`It8oR{Q9~GxlhX zvD7kN$|aid2$aimx3z(c7?b1v7l$aK;{*g#0B64ln?sctd8_%8R=y7@ijJXZ<{r3qDUR1B; zB&LuMbThQy>IC!B&r|be0|APFs{T<0 zd*cv*k*~2n_A4h?1Dy2z)F&>kWtj||anM2tf8lU*Del`yRhat;)t3%< zP9?*kdT*x>A=gYPfnSdGe z@XQQ2^TD*i`hBwcthy2KRNmZ|g8x1eNhGeJ4$1sxgC2n{0Kan*2dCRlioFlUry ztAp|+DE3#mkChu;*qd!^FFoLCFEWqsu)4IDw%2TPR!;pFJJ`>x4+-=1F!UlTN9hUYZg_avG1WikFgWckuWxb) z%gk16vbD99>NDk)B|#pzXUHvfl+UV%<9&p%x)vrFplMG}KY{)VtR!0*D&xvKx`n-k z0O0RY0!{DbTh|6iPPGIma7yp#PJn{lojLp_bPR1!YB(sh8Ng#@YdY02FMY$;@bft^ zX?Y$J1#(rp2m$5>pyo=NS%fLhA*Uq(-Xor+sj-Xue)vRWkggE}*F3C#{Ty}31%X_>B2nfr5i>kI9?NmIh+0PGj z)6%RPe*xROf)V zzr6yuir++>P)9Ps-p={}Za5R#S|DRz^|bcHJ*v(y=2pi=vYz*~F{k{|FP9{xub`eY zDQR3QD5`LWFN2I5i^$?U6r4u?3bY*8(l=ojue9fH2v zIyHPf`mqgS%OK3m_y6MCR1vfzM`)bI zTcYoO|8LU5gZrtQb9Sy?8ieuMoh1e!-UwP|_rNbD@wiA_VoRbi7_%NSc!bR%Czn3_ z#b>lrSY%&;4{_k;jaP2O;qn_Zi}*@?>Bh~==nX(Emz z#`<*q`t=}uRkMbk#j{EKAgjwx(Hoo0-P-JOY9`Jdy?hC|qs&GPRG~OPv*^BIKo1o*u zEByY$pZ*j*wT%pNZUV7q7j{#BK|fEB*16M%M3lpSRW_bsUg8hO`1`Z73+dsLC#)GZ zr>!gfyTAQ+VSkUoHarhNVwzZsiQTvsb17b-9n;_O8EyURVeLC$mfh%Y+c26S5lq+T zv!c62kQ_OaLG1%Xf){_n)%E-vU+NWoNqu6Iar#c)Kv4{tbYHqLwci5&{5$inn0x0N z-$ z0BjaA5-6=bkZ>+EA!|H8tw=}4NrW;YxCFt1&Jiy=$M%+YEK@TR$OH+_@a?HOp#soK zsS*cH7p)3}@tjrF+akv#zgV!(h?c+n*8Ar&xC}nBz*J-5!aD6{G6|kgSUNEgnDVzu zICDgu5?&Y^>GhuItXon*Y1=czY@?G@ZyzZZq6ql3!vPFiC>}p=-y03Pf~+SjNUig( zv9c^pWg3hjgo8a2V~k~BvK$@L7xU+)h@ipu3Fb8v&o;Hs5eti=ag(~Bf)@&a{aJi2 z*T8@;9A>4(;EikPkj0(&jEn0%xk1c{*LVAcaPWPVzc0sBSeGhjq{&^D3CObqs>VN7fk74kA}ie;;ITb!Hl1hhCy&XRGSZ z)4Tt}x6^<5&;J=m0cQ}W)Tl!M`k#ODLHfg24{%ImdSyn;amz^Z6~H=AVsB>$Y#?Tz z(KwA9KrxlqyX0{95-MbmgrUauho#L^=t*&q8#ZEX->VBqaN-3%a`$H5Wc(c$MZ znLKbOe3MW{)dVZDcz5U}8T*Y=P0P^p^dj9auAnFhQuw0amf)K0JiynuP8}yV<5b|d zD7#G!Ehx+$oX!~l-a`(G9AMo570GBWEGSOtz;}>x4@9XC|U<|;pt?8a9ytCEijvNA~6l_66&% zF7UZzblDETRO+t z8=$I|`Rl|1SYBFy&A_2p0FHG4#Ek^14ajH*43G`_#pMf>f(|tiJRahVJirMT42DJC zN@)`OCB-bM!?kETMsMf`9f>nG)Q2`bo*!DWVftJk|mB zJj?+TIh~z=0Hsw*=-L@?Tl$1kwpW+wrCSN(o%OV*l{QY9V7n1e~91yC%Mr zFLk^ONVTHYO$Rm(KtWDbUD~n+*j2W>S%)>z$ewIq4mYtCUdvm^6gbsRGyjf5kgm6{ zC#_(QwdYP!IFigQZ}11u1U+LJn1gbkGyv8fVUrI-#@Ua|Q2~9S(^XBCi|ouIftui( z=ROEVTN)Y30zkG3fZ!9r*dlt!gmVwUctgWUx^l6P7Etr(8j?B$JSWuDu2HJRM`O=v zbF=|bs>TK=lWcHQ1=d3})7CGx2x>$3Sp9QGuQrAWz{uXkT$y-qPuTaq3YJunew{h? z-kJMFz>HZn32{bZriNg=Z@_jK_U{v*&epM-5`Ei9bmN>EKv~sO#5vQRRj}t|!McA0 zTD8Tp_0Q?2+ubpop1=M^x;T6TyNttT`8xCM_rmu;PBI7D-KO)YeZ|*cO;0IxRz?i? z1eL>g!F~`LvtHbn_dFwlCysR$fOeguZ!~(txv}TwDtmEuy_n|qNX!AQjdeG}*69Pl z!EQ6JMeenYPE%0ySM*_&Q2}5R3(BPOc!Yn)KY4La*1DMlSJrOk7@%yLYp`b3O;ovY zI4wz`RuXoH0Q1^aLA>z8xTgM@_wnVk`(g+@ySARcd0rXC9)h*IL1`qQJu{1~<=Ob4 z{pT2Vj57wrzh(N$aPvA*^``Lfq3q;sbU!jGOWMG$0$Kk0-u=|oKSBU!FIpsk-+OcC z-S7Fg{)RrB`rG-4F>|lDdE7@o($RY#^z@dAHS8O#vs!^u?Fi3pt0HxQ`b(YewPLlo zr@jO~V55M6^|7=UF<0zsp2>3|_SUF?BPrWJIc>fUKf~+d2XLiW8^@!UY1NjXerA7V zduP=)CV35f1m6vg1e6&Zx78<>T?i-bdbg|Z1^0H3JPVVu$aN?D4R@{#$@43YbJ zSN>znjz+&G4rO%y_`L6j4&-MS#%dcA^Y&O}60-RwC_UnkwUyP`bpPRP^w%7~B@AQ^ zA*`sPf>O{LJCXBT1K5})n9%C5d>v)e9E4*JYJ(w5NP~QWuTTMqT}c33KH(a)?m+d# zIyq*hlzj!(gX42dpW}MkMV*}4O0JzGKI_f?t7DE6hlOIf=)XzA0Cs9E?Gz3GCk4tq zn9&4&BLS{urE9CFfRqOSeB0Q{UV=7~KJ2>^`nI>bGyK`jJ*uZ@5oAlD{t@;PG5zK$ z$=4z}9LD7VEpf=eqMKynJDbK9%3hY>csl(7s3nboi1BN0C}l8`(A91@^2 z*=E&`dd2lPcCBe))ZSX42Xiyv#{$8=OToTEuWGB@=N^2Q=V0OM&r{7%UrYn|4u|_Z zI|;{5P|h6eTc9fTdNWmFFqmn%BB9tR9zioc!s0_dTf`<|_v%{$AXQJL0_^7oz?W~<($*p8wXpY3nU_wIP6xZWsKQBr z&h=Cg);8h`0uGi*mNjE5UU}ttn5-Oty0x4hEF7iBQ+Wyc%}BzCKHS(EOV|Z4tSH?ExSAu$R!_3O z0RXHLpQMgNe6G%R1dTAH2&FknAZb$4<;&fE{D)va0VAcu6VQ2l_NpCxIqx=Q4= zdrZ5;?sWOu5Qj3}0Tk*ars$$aqLy^9;aNPwH=b{*Cs}mSKL#L{1fJ6)`{W z`*LoKe`F))+2pozIR`%|qR&*W(ZZ0upzonRmjx*xBLL~OxO4bECZN^J8DNeL!rl~# zNq8%CqT}&*dS)lwyMcA|9Gn)ww?1O;X@I{H3~KjfH_X)@^q4k#72R#JyNEv6#Ru^k z75GUvFASyk|N4JSw;_ZH($yIwF|av$N%Qnv%N7l-=|B9>e@n7~11nkM=f;PK*ERv5 zf5Diw0N4q)6@6{7W42BSe}e0y3HdIG68yb=n5&-o zQbi1X>B^NjaB>|0PLMQ634A)v&r*+L&pgC&2VcC0nBWJ0^L=D!k!b=jXFg>&-@AL? zX-)6G`<)=vXaekqZ@VPVo>@XRUwZy3@d9xyJ}BQLF}a)m`RBhTnME}*pBoz*!M`3R zhFK%V+D+v~2@$(_XtC!HDL0cS-I^!l=TSDO1`P?fp5j;USe0m9&pyF40Dd zwRgPQ16x+IODiP9YSC90FI;3#*5iX18)dBiWdLG{O;%tdNbDin$C4Xag%xWe z;}HLG1ADLx;ID6b>EZ?Cq8puIYeT9qxTj#~#N=#XEUn-)o%Bx5b4|%%>)<<*w>)R3 zgZFKLsVteOnx0!ANyFNV50eNZ2??ngpDYe>YHxIRU1)>AQR zE0s!~<%PH2N_zmN)=ga<8$+-6q3jBw-@uli9Bz{EDW|*lC(^aoUr%*Z5-pR+o1K{> zeuJ6MoV1cPYsUZb-j60Gc!slJc6$J36ZhX^&r5I-^ZLUd|CDAXC)wZ5dn3t(CgL1o z3Z4b^8h%ygWAX_2k-^$$uM-L~E`3jugj9%}fHS=E#%ugc`~nH73f~43%e|FPdzqI0n(4dE$z>6dbY4@8UtC*}%#YD0L z)gY}!?=Spp-j5e@83+9$jP6a}=8>>(ar=-p{p4ppsThUTl=^WsjPsN|JUcf@MZ^U2 zU}Yd=1LkIBbvu3Z(Z`&DHiypQ+FZjbTAx``rDKqohNH#vd#xR0BA+haq9qgLsHGXI zNJ+q6d9Dv%l7tA!wE~#iA<4QNc-=n4$P<$6l@OEc$L-lvmY_)@Y(@X|_Vtmx;1E%+ zq3t$is%C7qjdF{69#zHjfBv6%WR)fl?V!|RydqF#0iAGP27%#>vzXk4!E0DKIUD10 zN0%=JzYq%{=I9{s^i&g`$oNBF#8BEA;=tLTMFdH*3zl`3GC zWxad22a~Cy32HhMs6o)76}YBPImpwI0f{z|9zTx{3v=5UBC8R8t8{kpmJthI-EY2W0XzT*2aNnTw|M- z5@9HL_Fz8qK#tu%W`j$N-!c;K<>~CMjfn*Ttq3HU6X(@_v#yQGgb$}*qvRIw)W%20 zqrZ;rK57A;im*Hi$iNwnI|vy9gmL7%EOjh|V>OH9&pY(x!It6p!3bi5?;df|I*Rz+ zS6)f~<$wR*0BevXnw~r7wk`PKKmJpCaQ^|ZLacfKqZ_y*~hY`Jp@pBsIp9&=kS`! zv9c4)HLjB=o+ zT}Q`8;y{5WKy(AWwH4aIAV1EHnJyL4J`RGzDZ9>ArHp7PB5WI5{qx9TvS zCD=Sw74~AL?_;8@jq=VK`UBTf{$5A9r9tBk4u$)o24?vxrJNq}P)~c71DMOFIC*A7 z?d|Fzf^J8Fn)~WsY@^g3!)=+U`?LsXb!x9F=Gj&p_DforUm}P@*7y^9 zf_-<2#cd(;trM=ZDLb{mTG+?cQmp!V{*4o}vSJUeLIk62wADBOh{nHR{szm&OrJrDqK~pf@ee?BZZhvJ11I2+QZnwNV^^ zB`%9zfMwx+X$54B-o+R(b-7NFr9Xb=!9Ci~0CHcsdWo{WZ{mI1yvUZ}qs#%!8JJpY zI2A28FHIbvGD(u+!Tm{|k$pw*?>*RoI6)k&akB@Rn}GGujgdW1fBX}@s!5o%H3`Hw z0d7`B*T$S7uzft80C>;4|)(#&RPXv zEBUv(eb(ryXaTHEkI}x*-e6{1=f!a^fQ@!<^)R)*un3!l1)Zeg+T|wY940i8VA`f z1H_?T2)a0XfPEKh7d8(WL4IWK3yy}IyMFwqe`%R2V#FVx9s5Y2c|h=9Lz}J>?1}o; zpwfSYGmZ=^D>9#WgzyiXQ+=`ne1s(e!yf#Z%webfRJ(`H;R7&+$(b3FSA+NuCKn?l z;0j!t-#OR%QR)~*!wnb|_Y%yHHa^%$_l|GJTE@KL#KSa{angX!5q#FZ3j(@c`qMIK z9Is%E<-qzU`k(q)K2P>DW8uOf8{VCJpo{@iVEX}#8uTeU(b9#B3D~HEy^cPEz@zJ= z?b65DMn`S|KnOe+&=vM{*Y^|H6j0D+yAQ3PHWHavhY1 zdRi2?S9mJcf{FLveD;WIDf`-W%bBw_2KrmbE;}gv8`i7@NL~U6ZJ>=sZ)*)PNgp7_ zCn2B1eO>H(62XuIrq($md!s5ne_G!Fz1^)H2`h^=9L`W3=os2l~+^yF}krj>n&qSeOP;dzBMu`& zmd=P(v5{9UG^97*9>RC0jGe`4Z9x~2kepj$|KLv*NJ5VEa2WOGy;RRZipTlR^k8ll zaD=k_zLE6Y#V%TlJ-|01NmSp49|D6CTi3;b)~jo?BpHZfu$`?feK7wg(`R2!ku;Tc z4~v${%_e%_{P}lYMTf3&hRfq1BvF5fj-gjHzVQ~I)*kUqf%XP<_4pPLKo~Z1xP;tD z9ri0;ajmc)myd$vfYej^Hu2GAeiBt1uGESr+mlDG2nOS(OK?04>DK2 zRU=#q1~obqxz%qq0ds_0lc$PGO3%-b*=XD*E>U@~1Sn`LMG_gz74BKsT|yAX zicLZm4w_6xpzX*_-BJMY27 zpG%`7Bauj*CuaG@Z$DwLdT`q*)t$Y7ny=w|kd$!^nOk+WF;5vAf9<*P7@K{oPiO=A z&BRRl_;+8X4dP0{w96MS0O)nYh+QB7SDkK=P_Yv2lw_&$=3#@h(`yMtsz6fI5jxb2GD$e`o;#NvIou+O|wZT4Ed$ORYdG z+sCFAx&In%pqvNg^@L<-5pb}V&u?zP-tFy=nABE7VjT9MzUI0i&p-R%qjc+yw`n0X z!gkRQb^VQB@Qo!kGEY1B(ffdj%AWfY=PUNEv5osnfZwVjwi&t^5(n?=k9hduInTLE zvQV68W_E&o%(-OvN_~vUJ-3AqIWs-YUPDLF?x>&V?twwA4mm>4@6iwYpFjK{J-&N4 zx-0YpVmCoLX(OJK{8hpItuPG?3m(Jx;O3hO}0c8dr5#HO|i4hUr{uq7`4vH8g%uCoPd6>Be7bK)*$M80NJHLe@U^ z;O?Wxjsks$|A8j4ok@@uQ5^08E2hOV!+&EgO=Rf(GS$c=o0M1P(<hxft8DqS}MVV%)9_G$8A>waCTJI&<%Q+X548inSLr z(0w++9*01pJ4_bZ1KuQ&N%M-E-~IQxB|M}KWsE8W=@~#9eG9pOuX9d-mkp-TKju$? z;6)~EIQ2Y?4pALwkARJRLDtEr%GxdSS)1N_Vl8HX2gi8e2ozu+$i!0dXkeUJC*1(R zl4FM>04}g=fTA2_5HHtYnW~sQ4Uqn97$-jONz_;;uJLs7_=b*V^h)EpnPbKRA~^c5 z9{h2{_f%qFxhPmZ%g?@awl!Fpu~JDr{RO{sTwFGcV6+54VjPP`*0vmu$)Lgow+sn{ zkoTqI8{8nk2z==Wp%-mf1*+(By zawPLD%feK0T@Mm0A%u1I`~!g25SlGAv*pM%-eF*LkeQP;~pcGuEa+0MLk0YNQfC*$v~y zx_B=yr>urNGY(}cdZ#hJu8jan8Tl!KdK_%8Fh?jAl=?O$e0lo3b)ppZU|-rNQ5JLn zS+H4ak)yL}*qIe_6+n8Ko4G0cgP~#4QCjqka<0){MHPsJz4GX<{oGO zELz`KPIvCzBN;+pBKwcBA>FUCa&;_~?=#w<)C0Pl(4Jv~6Tnbl778DEU>bRD%i{oX3e!FLhaSR;epPG+BFI;UC23o${S!zO-?W2(63?uEEz)H2w0mNkJ80!Rq5u< z0ruSt%%g4q%Omy(J>XywEiRCapEyKDS)aaM`uNQN%n!phxSD?b%X_JFxFfyw`W5Qh=b_!-3ZEHx@=16|AWC1>C6HN4Z2$=dn&@lsQ(P21`;UOr0>MZ8Pl4!?|775#> zjPiDXuV`BK5t(oHxB%D=?H2sLdsA>u9bnL9&qlwK1!M+zYGVTuKEw6=rC_w*(Ls@E z9@RFiMW!nWV))D%j(;nH_-%+w#g_!2b8jTIL9n%&90bCVT(_ zcNq$L14qcD->)NCt)r?_Z^^B_3_V=cxe@epa7X;?*cz~X{15v}A_g`@iA3BsfMX83 zA=puZ`H0G6AHu{ZhzWfQxXq>5XRtyEt_w};-=kW-K*~#WGz3I9c|N+dwJP zeT)SEuhzstBmg9xbEKPVxO@46B5>t{`19Cl z5|FZr3e0<%`L_T0#~*#j!BQ7Vwl#%)BISv^V1w}qeAr+?#XLLznQipxeEFREISP(G zn?Jjz{v7`o?>k<8;&%cB{4adzOdilltWgFm;Vmo6%rPDjZI4!9+J6DF^Dcq@26MZ_ zo^XE>{IWh()dK`Uu=eov_V(yG*os{S@bunQxnB022|j&E?!i2!Y7Vm^7(FAfEn_!4 zuOUYt=K?*N&j8Q_gw@%$4LT*6?=Ce?is!?hKOzZrR>@&s?3aohy^8DmV5QB{1C}0# z9ze*Jt*Ji1p9RFbcp1F}lMf(tZWbR6vW-6SKK&Fu{529VOoZT^Dop>|#qqEy zjes$d3t|F_=nMM@If!I%9+030-?F`}j)WVw4%=dDkUm(^`P$Re-(3v@mtNll;b-U9 z(*i9vX4hsyXUHJ$ZXaMT*!BzkoTJ?Ze#jB}VT8Tc)zJdm7k`;EL}YBv({olrK?go= zcR%gKhz%rJ*mJanc5hGSRtbEm0HunGP$Fbh2%LWzBED`C@9tcQ`wl13>Dc%|!{|{z<#4q8%@1a_%SYeRkzZ9t$JLbYd>haDKrpM5$5-~xjf8OrHj;iIYNYz@-iPb||=nKoDEqeZ}t z=iW?@9&V(^GxUpnVTd^fNQ5krC-!LV>?7_krOC;)bakXVz4p@e^rx@xr_V^pGy;Af za==x=m>2y%guTcS)BNi9U#0`v?35v4Aw=O9DV7CfT;xIdwpv-8EJ4Kn%*GY^El0?- z$$L}?c7qY~8Nm*>%v-+s|MCx=mNP!B?I(m{f(mJ9Dz!C`=RxqX_RTwg{wG$>jjK|NY#@IvWR-;?$uuY91P7rC?r_3*GenGVy zHu{~HZt>?Peg{=q`f4!X{{#T-0nEOvUN|7msUe29XZ+jmy_Q~lc{mlApH3>M>?Qr# z?a$KJU*AVYxq%y<=hjy`=J`tDKlq7=JgN-xv@x|$fyM6xzF&pb{&ehfh0oyNyTsGM91Hu5&t z_yETJ-G?)b6R;ou=jQV_h=I_1Q;+Z~Ytr-2UFD1++JHfN(uXj9R%cu3w}+l+1MqF5 z!tw+?A|_$1EAHaq*P=t@UeG-a$PV&>@$`UEi~x3#3Oo{!52xpt&#EMoe6(*c_JeaG zSwj$Vm$fPYglo%k=vOOuxLMk!@AD}(Y;~6yfw6D0p3Ug^tJkieXP)DX9b#d0^e!Zb znVH3i;bqnK_xBUC(1r;A|Ix%_Ky`cs%UL!l6Lqn&ic~6^T$f+Ca{Ql=1aDL07U`K?D&8n<2IpFmE79+uGgF_U9m4NQ@Kpw8+xXaGB3hj?7Imce*8kVH9U2{rwkBJEr8l0tPK(+xSh&O3 z6ZRs+F{_&SD7Fv69P_27ko4FIo4E|=zBs=?ziMnC_=;8X9#A<%a*y3lqO?8Lu?IKS z)*;h!@E)6gZgw{P>Fayx)z@E(9`PNtmTAaIEJ82fKMRI4EBs+{h-EOs%pJc&*7Y$Y z+GTN<{vluDB^nv;@!7x|`Ti+*0Z-4|;fu0vp_lmn=U?7S%X9PCi`(h$-EYtj5Dw8n z`eS}la)fKy2&wAYB|zvFd@6c*=PDuAFn`7nR?Qz!aa~1a@kyBk@=hKbOgu}~*cp}o zY-7N82rEC=(z>&$K>?U`l&E=hd;fW(NCwq}zuo^+Z zVqRP?H?YBp4A!o`e!w>}pk&fiBr%ix9_eSP1WhwpaE(yW{G18CSvyai4Yo9j!ROae zaI>Exm6okQ6f+3B< z%~M+CX|#pL_B1+v8DO$6jBzICl(7TCV;(}jJZP^ThRO!X0}Z%)^ZT;By_oMi_wNEIK4dHc*0zhu%K8x;_JO7JjFa)%{>6-ToDfal zNr9G@hAyrHI0c&{N9Oa841HuC5r-U(_a5wG*>FCmx;cM>Z?@zPckX^TWMv?ID3u20ozfxkmKp1OPLEQKbCW0KE>GLWKA?>jyw+ zX{G^yCBBMjOG_)`lwGum9CWd6ovgdSJZwv;BZ0qt$M|ST|$4d zCuO^<``q(7qOPGyvjA@5vy^b+u&ADz(ao}>WsJHsJzX4*HabeMJAqR}f2q|O<`1LN zLi+~Vr&w<1{RFc6=p{bN$;CQ{vvX4znawCuIv@}`rXONcdp9jSmYApG^wNtrY5zbw z4_c{M>Q{$umo>6UfWEO|ixEmv8!3-%;Dm7;$vxy;xftR4k0u__R%R?Maq98XlEEPb z5bS+HI@fJrV1WJ6i*q+e<;OIE=^#NNz!?V7n4zN!V3Nv!Jq}b@TZQqCVLd0oF;AJ* zt!q8$?KgT@D;Ri`Fzph6;?5#d8|c#!f)%#IDgEzO=>>dfwNWN6)LA-O>Lwjaok8_eI3y@PZFlH%z8i@>oDf+=2HvWE zZG(v&gQXI>NL%d7YpXkR===t%l}^x!F%*7pIhO5W)H&K}+f+o-RR=4EYw%|P#J<39 za9lDA)Pw#V6*zpbj)1tD-#2o9doX&KiMCyai3~p-ENy{yI}Xd^IS(wc4^tx?AouU3~-vJo0v%%iuxobO#Is*Ex=0kzJ3qmLAYXVoXgN+ z+2qAsx#muk-}TwTpK-JLLTA{2QCZ+(eAggQZ-TX8PBOrbef|IO^j=MtomZOPmp)H= z?|o)@pbR`f0&EZjnx5Sg(=pvWF2*WC7agH%{Q{W?UF$|Y3Mu5M5u2RW^oUJ>00@8p z3qTbLWwR>1_x|Kbujg4CHCZTB=E-yR{`O~6(5+(QDfr^v58f_SpJ3_5UI_Ix}A;{x2``F-sv)7X2+a`H=Ny+B?aI+<@`FI98j z@$oTI$O*bT_w3cEC+NiTH=G&PMcv?>mvCmaYvRlI^SVD9@HDuq<7)|xW^~^wDZDvk zmudFul0%-~CWqG9j0T}(3~4jz#H(8kLVCRnIClWr6q)VIBcXpzQWMlV>pm*~4hWBzB7cc-Ky`T9tP%1dBT=6_=dCEMiBywZpNnD&5zdE~`;0#J8WQ?}! zFMsjx(~H-xq&|Xc+VG~ZdM&MJKE;)|Cf8yn_&yu6doI3r&3Qjd$Zs-xK|oj;<7XU; z`^Y)wvAG8N9T^oeFg6LVaSi{vj-DUCw_&XF94tQeW&t2;_h2bK7`p|N^KA}SW zvnd5|aJa@^B0!H#VS~2y^>OBbCbo!iq$u;)!o86_M*xtloBJ58i;NCJb}^E`l#lz&=Snx<|#pd?J^t`2l;TRr-)k(!ug>FWniQqTDd=-1vfIXQ_90#jKL zOaMC%SZ%2j9t3jIS%6gKfTKm6+1c^&)O8N<{E$Y&bATf~p7Db;{`Cp>rzuzy<=}P~ z2nwDfjTdl@G8W2?T^RbUoZVWoVCu-`xc}%LO_vFT(sWXGYAZqKhQ>VQIVO?)%n4`i z8ORk6amJ@8sd08l)>1_wz51;o0CMKwWR5dlNMn=BjF-L@c}m~0W<>yRl{uP1vnFf! zRRaTUoNWW*)SAXF=mapSsYWNUR+SZIBC-e5HgW}D8B#_~bz6+Djtmad&l3TTr3HiC zb=W!jNo3dXnfA^$&IL^tPj^#qV_&*32phbC=I7X|laPq&n+8%x_W+>x22H}Aq^(tf z=V7ix7Ao>KPj)G|5P;)F0_q#-(fEAquS&p%X3Weq zCMrQ@nCN+cQ|ly42CIjhAUp98;GqF^LQm_fsBd{|k1Q?NEW;ECbJboKVI~X{Gh1JkqcB zQ)Weijv-H!W(L-f;at$N2S@m=2G3*r{iCAh}$?#zx)P8xyR)5=SO#DvI}{)hZD7;57g{0y z>EFw;w@J3or;TEUh`}#2LzW26JZ7%dt2b`k;96uvvUhCaZszee{?Ah^#h_pX&s&2% zdW?Uz#GDkk9s)Lv(ZgqZZa%f4f3IJ^k(!5w!92+LU>tkQk8*RJwGxDGW9{rKvyB~W z9q2VkoCc0%5w}4|s>3JrJWowerE$)14cWTqhKIrr*nn-nGCj&`*Z@4`4tgSAKpug$ zY3peHi4-cc#>d9e)fZkOuy{FrLWzqf$m2KPdMou4+-rqk)&#@Xy>bZQ#C5X1z4}<) zWGNEa+uAbA0MXh{+NAnmvUu6d1h&w*U@Q_D%y_HsZexvo4f_(^r=M6w$u>?P&oQ2M z!B%P^RaS6TtB~2d1l{iwT(k_C&Ba>*%q0|A(rkm@>35Djew=RK{6o~&mIbXn?O%gY zW=RXAW@m)`3ZSd-xPE0M4fVFA=_ilV{Pb+PMAOB_o*{Y|bYMH6xOf)FxB>2y!{M{H z(&oxq*elf#|0MlM`qUqqW)GGEHrIiN0@aWm4(7snuusY-pZ7FeJA_+ zx!8jEEe4vEX_$sQKl={Zqn=mLD*rtH$~FlP(Yp;>D0DW<=b2QdDc}4^X(_^=U~gul zVz2p!eOH1EJLF&4+AH)tn|L&uKKk^Nv`WbvKqIcBolQM^$T)2Tk|hdOAkX>++hI+^ z?gp1TBv4|eQ9&Kf)Y9j8;GM|R~EOo>#uL&|3CEa;u$umO}3v6aay zi=YlgrD5s7S83?5x&q5?hi?-=+e7DEPri>ATrBKfZl zpYMuVHhkxzN9sH`%0MF)(Kqs?Q5J?Un^$AlkGcUew@HUT-p19q4-0zegYo6ZGZ2#3 znO9ST+-TvfBB*(lzkHt0s33LpW%Mc_oDa-=99;}O(sy!ox%4O0T6*z?7Xc~kq-}IT zdc1R6nZ}+xNgsXmQ2;UngT3j>g-ZZ#)C*)BDq)R(!C4JoYrLA`Z;FH^Gu*H-c5lk} zOm{q=58xmFwOq<6b7MVZKQH6isF7*YURxo|%!JdbfWG&TC_PmDT^e)IS5o{srJy&qZtnuT)UqJwycI`%Y4Q<$Cvj%|&1zZJyqle1q)xZ8%{{kj7(S6xL zC@+D4dk;q`zWyKLz^ObV1(dbZRbts0XJ(K;ZC+q4BGY2+I;)`3;n65`zj;6`^`R2V z!Q^#+xL3nr#6T~HO=Sa^Efgh}58zoL6g3u|L#`EjggJE|#r&{Q?4~Q2>0WoPxhg^x z;|GJ>*L3<#f!$#qqB&M6!iw5F14Esx7cBEx7`>zbM!Gs)Dc);+6vkkp~Y0nUrS$P9?ID62uqT&efgy*nKjm!v@%2TJ!wKF3_BTaUTQFrUe znqFglS{=nbK$lED;1*(JH|rCP4FMYOBrzxH@0go~7B(@*3bXWj0_C@1ZPr@>{8I zxR?8q=F8bGL5a&O-!o-OFbgBs&Fa3?P&{Tlj#KuvwH$eDn8xSXmM7`aqencS!3>;n z0BITbd+hgO_Dg}!UZ$@2`XY6YIX^~o*GW$*!AY)fB#;IeuBoGZ+D6%Jl9OrUrIU)f zw1^^ao4Kd>ews*8g0Y0z;NDS&M_*ANyV(;9A=TIzGM$Kb8_wGyk>AH-2D?ge(k$PQ0XPQ3N|Ap|bLcxK zT>0addn*hnSt5!3jmOwHGwX5ks!90 zR7YmOHiv<|?Dw&u*crR%4O52&H4RiLKh>L@Hm(7~8Ck5nJitJaeXH)Vq=`V!sd9m{ zBEVM8zAFGE6%&;8wOXEMo3u~?dFQ}qR8M-o51Av!iCSRo&(h^fIN_Y}C!>?-N74of zs))lKa(0+m>V0;mtIu3b=gwUwg|rX3Y7iG4XXXa;tWm2R(mrutW#`JX#b4$IbDg!s zLg44H8Dd?1pYnpwag8{Kyw~d~Gz?N@?}#0Nl+IFqpI$qYH`)~1JzST!c`fVsZf)bF zuvY$6Zrj+fky1A{ubQQl%_iAL!{?rXt;l*JY}NR@5#5S>K-O!UKV>KjfMx(A`stgo zImTd4Ip;W^mPspSKHLKn81j*>i^JX7MJIO*&ITs)i~|@AIC=KWICcwIcU#a|<~6pD zGlCwgVDlMZVc9}gS+i2Mo2jG~=v7ND=upRAadR;q=Rn&`AVOf>@13L22|Syu&d97| zPnpVVrjN3{ocm2oOa_1`L+Fs}7{sVxy|m53Zs0vStfnoxZ9{jv1^Z-0|sf9(Z=aU(cV3Q-n?GZ^}VhYxF!&p(w>&WCI0vp8nI zp4#x<$P#C!@4DaB#XcY3;M{PwS(B`+3iHhPD)_x$UOTSOHBVU+#e;h$fGDnog$Sv` zz0Y_2@(def_h5x|*e3vwkJI!#SuaO0oJ+_=qRba&D05F4jZ}xuvW$g|d|>axf{pSu zTtj~ciOe-EnPC>9{VkXzK2>yFOK^mr8E*x84v9!pCG-O|s14jykZn<*{LC86G)r^r z&^M!@6_BHs{Q}^chcUagPLOjPrsNiTNxcauw+%ZIbsOtp5buzKsI8<7i+#uow~#^7(+HEY8ree~$#qIUY-0DB8Ae&IQvyjgZDPYh{y9#Udb(0ebqiTuGpW9< zfL~IVo;;#V$MCtdyaxCU=ukptUtMh{I-DA(*eR<7hP7{9E6bfce|?bMP~iEe2#681 z2PL$A@d_D>^8i>4EyL-{TQt4IW?0)mZ{cE`8>vp$pYH&;SfjL78x2&c={!Hf9=B`; zdJP>Z>pAoHu*I-F%-UOps8L3cqxb}W4aBRsYzzNPb{KVB0p3bE*CTx$q4$r9^8Bs^ zCg@ZUODE`Ft>DK4#>FTwSuygWzWLy#4+@luwBp~4W`gH8M zCTdrg0I+XR*L9b28U{+Nd8=J%z1FVoT)O%kC0^LKbyd`N<~--g-gz{!oMr*Hk^)^A*aMbaWuUTXQt~s%Nh*r|mP!pa85sxd+g&1JMMV zpoq-Up4Q@Y;ZkjsJ}Dt!RSXku5_bB=`YfeCnvpdCnlSu#@MTXWh8)+Scc^#0##zHh z7`_0(1ixXQtbzp?>f@AOt7G5axc+>aUD}{d?gDn;#i(%&_D@iThQVM4iiWdbP%`fv zLG^m*P}aPyvx+^_1k-&LV#Fc@g?{c)lD?WG>j2%SJz7GUE#-yv-)+ijIYQ+n8!14u z3UrpZfZ0Bt6SJj?kk!2aO3Ipb2onRB2`<*3rmw%C@izh9S6&}xtxnU&?@u#F^tFI} z--~TLL%?B^IW^rqPe$oJ=c^tc{w3`89!l)J`P$1NumAqN_sNj6#3E%Lc%C(w?qwzQ z=ogr*1UvrmKl!J~=OY>h1K`12UtZZr@4f#CHeiMyASOAp;u`o-=$Jfyq~#hqyO9Sl zKrNYIIaCA6Q3pEY0JFh9RkuqD6hz&T%?n=8*V`X#{XEZ7$-W9d44W(JZu8m9*1Qfqv20tRPI zdi~WKsfCO-9Q4qO5;@dG0(q8}vNnDrc4go{%#}nZgMIpD5x~Hfu|%60AwfK1EkYIH zLxDPgO{}3)<_WIB_U!0Q9le9h1$#SFS79F;thWrU4Ue5KJ_<+;aSotf+<@x9X^BSi z+c0N`$)de*{#{ZKHWonDH*vn;MW-@ewWhgCuAOPBeY%$w; zdTJ7opTLp04vcS^#zzpu78d5x!_h|ojLl3j%?Tl-RpO`HFwTB6mW=d0`jksF1I*E5 z=*9~#$6D3^4mSY?TPL~^TgLU-#RpIxS{fw2*mq0wbI9cdg81dg6-sUZtctgYmsuvo z$_Iyh&NG&W^q_xZS-U4s#$&$=st@${Lh7J&6?UGD7zN_nVQSag)DPc#hd|ialSd)% zdU|`gF6D)A4z&mEjiHUWI6s?ie)cJHZ=Q9g`6}bE9EU!VWnTPuU~qseGP1f@SW9}W zF&|s>yXrv>?}53Tu(s!(eJM3}!Nf=YuR_3UKo-}+&K{qf#_zY;JTzavS_pue5x-0D zuZ7GsWre{l_kbiZ{iXMR_q#N5G zjEp7pX+85@L@-o4B~LGlExL*pQO)5D`#V)o!V{vZgp##&SkuVc+8TW3s_fhs{pi2= zZvmir6gHNpNr6)-lVh4l>%uH779Ir0PVi7?$7WmBKG7%?I9yt0!w~7QbO7^#n0J!A z6d(}7M*z#Zho+l&u*31l-VoQzoL`|!3{Z_iXN_59e&ZUlVOX^|&@v@V36kxkF>M1p z4_1+zjoW+ccu7UY0xDoN(gP0ReQ{f!GaN01*fHLY&#q7nK-xv;uQCOF!|R#B9PA{G zQ0Iu>`>((AbGlG|?}iAVJm%54(516ii_cf5R~&v zgWHsiCZcBoTE?+mFnTt#Wf7{Y*=W4F#%DwE^Zf~%Qs8r`(E^XkSD z^T)vk(Xfd?4Rb4N+jWcxGxrm`_MToln2GF{L>U`)0+T^Xr+Wl}a)1L7^?oP|U=83C z)8BZnDOT2Fwy9vfb&gOPo+l&UHZ?JrA!F6Gc8yd(c4PIPRm_77-vUwRO4F%P$Tlmq zK)g|Z6|>F!j8OW$0II^-{bDV4!Igc|0F4MYqtrCc?7(g#o?RI1IyT1uYC6iToq*q1 z{(D6K4`B)9s1?Le5oWb0RhqTs1%zSN^7y8%6q|xk0I=kRDpL7RFzf{i1daB&_B?Xu z;e$~CD2ytuC-5e-*CuNbX+^UO#3}G~W@UzP>8NwYgvQ=r&6!_L6a>1rP4H&^PUNL~EZMOk4Xk!b<1o@Z4k=KwcqeMzogW)zDw#NQ6 z1H)!^at^jZQyLk@NyNZ4<$h*%0!OPowa^4`VQwzXO)aLO?rxM~Ln3aGx3sJomS$UTC1$hZzeNIf5ghP7%D* zz|*)oH0_Xm-T@=u5;dk88lVw;RtA_#8e$kmmtRjo2Mz%85_T!;6rzc}Cuk>m|4`?a z=hS)eT=;#Y`!miu&ReE0F?7*aI#&UpF(!c$4J8Aw0dnJ{s7Kt-j@vzDYTpjQJwYv5 zpt6>u20iLL`_HmErtF#KC!lI7Y&njO=TbSPUJsju*K!!;m@e1`oL+-k$i_+x zC5Fq~D%km$@S-8UocN`&e>yH9-%{d%?I=M8L-AM91~*=@Lu*4>nzCWv-uSPZx$tc zMgR}y$ZPlv>fQ{TV@)(v{4~1A*PedqXty?Z1^7`;=E4p#UEp|d-~!{$Qu7_3&S!yr za>!c9B=!8tKeh@@fp9oGlGBd^mYz3gp`CH5WSt1Z+&2j_O28rsC0d?q$Xi`HN z5cP|CL}%Y?^8~S9)NxO356w3hPzP0(mO!uNzyx0Gh=(I<7N8WSjC^U zt70?rvjg5>9fKu@4wPVF_J9m;9hW+sIKl8^41H@$=CF0O7c(H6@0kPZ0SZWm;~Kxq z>>0rVS-WNsXpid9o4K-P0EE{}ql|OFXB`T=h$m3@;^6YxtZw%=&*HN??+n=ai9g@0 zaU5NpyT!R!n;f>cUC67kB?bRIhXE?G(QSg{c~DPfWjG8_n?dl69l~wY*E$fTykC2| z2>r88rjcd8zPfiWefaTB^eI3sbJay){Ovz_1sTB_GCJkEtLON1)ZMS{IAxFbjPexB zkqntroK0C)X8AaO0{?!gUCkUkW>StKYl$&%9RZZsz08#*H?$QjYruc3NhaU;F32a$ zT71TR<+I1Sa}BR+UV&54Kx9 zL3x(-2*&*>_N+}VPhdQr9wR?+mP>h0j#TnvepgQ#^ck6HYa2NI*g!?pn9U*6Wcym; z$e>AWZ7)NyiP8e|qMTwKu&+)5sdqQaag=EuwTI5&FI;yd2H}QW@$vUeE_S^CTC7jR))=(ep zp|)=mHWN5a6?R8Adbx$`@9x4BWMAcIkXb>a!F}w7`~e^hnSqv~TU?vMX6__)`W|2| zd+V4Ig@7;J)Q2sBky!%(NpTPYEL-?*?h9;5NMSYgr8IYhab2?+nU1yS-nLfydobQ& zdWV$a@9Yu;&lR<@-?w2@mtq4_HiOR>(cDu|vxs0oOEVd<5S~u()vFlOR}a?G!^Z$K zo&(Nno@Swz+3JDGcyzJ~*?>dCxJ#*v-r7BcEnS};-kHTNA+X<-CxA=C#D!gec{BC^ zpkc$as{#CB1+R>yZv2D#>H_oAjZIwzJAEA8f}SwYi?7(z&ssk@OYgn+IIWWrC26f3 zRxAW%?rnAg;1lP~KuaYh*j|01opnU+AgeaET9`*NZ+9~pf>H^agar-4QHg;T&a&mc zw0EubjXA)3G8@E0$kAZgDffc?|MHFV1V=bqfX_>ueS!F)-oEfrW+B|%rmpu9_j>WQ zLHx(%^ytA{x_;vt!4klD0s&^~Gyt~#<)8nvGj&{~p1r*Z*-0WvI}FAq0H#?=6Bfwks6ZBxL`Gm98K}Nt zF7%(&E#eVvEv@MX@4QWrYA*Hm_HY)pOH=yt_5&J?KV&lT%hZL~6`KV1XYswg?YXwb z^yh!_ea-~B6WyWCJwv`q=0G$BnP6dICNdyLMur18lj(nmJoxz5gY^Cv55N_`4Y*br zKGPAlh1kFd!H*kPFCmMy7u6$ZEf&$H@s^T20Th%CZD}}lhBfOgAEPa1qr%WNe9quR z5xNVDgTDl_IoD425!V@;#_u2i*3dqX28M@_m0rutLv1ojj*`u3kWk#hFJEtj{h6mW z``GwhGAjsF5kNXEZK6EFTr{wJ<<-~H3(r5t9-;gMnA-B{VpfA2KXMqXqZ8J%xSDmj zX9)=I@Vfi758$@Fm4l_3owE`pIK(P!>bFLD zkrMpHBYaoL^{J6L`Rt23lsg$sZ@&HgG&nen?xK$ea>PDl4FHI>oX;kjZ@Xu909hrr zNp_ilXt=PnkwytX&96h|BUos?>5;xR<{zy?pEC>r<_Q0W`8lR!&E^_CL%>fqcjhAK zE|Da&F-wExEh8OO2r;jolAf1hZPe+@;EYo|pXEaIx!aM8)s$L1WxiLzq+}lJ|NYJ1 z{t6#*61j}5V4Rk@bWP2!QI@w;nx=-&fBd_T(eEee`#*RqUA;Jh-aks8q66~S$^9ee z2>>8ZnviwiHEUocg3L>lI%xzC(YIb+UJm=ciE~{`Eo9e6U&(RbzWo()dOkh>?N>sO zlyE*P(I*YaeKU8s1tn4mfU&~@17nPlW$r1%7SgVZpfMXy`4+Z4GE2WtTY(q2E|vg$ z{D`>?{FXWLOFL3~`{=|hPR=Z^b2Q^$NpJo&P`goz|48oJgU>B^) zphJ*`c?RtPZDq-TMgQ`@`tQ&3Y|2v%mIDsy{QNlJ8f*vzNiB>ocqwdtZ)p7&6d9=+ z%WFhCVbvT_*VDsic@AcS#fKHj!$r|@Hmzxg(XAPWFjx;9;%p)r0~3dp6Nf)@yqGv9 zxfPhDD(eEJfJR_ObG>x=zladRLJos z#>xM~@zFV8xiXNN7x{8+HSu%=e6I)2?-4_BJzn5DUv>NpEL(GampP?s1f3F}*L%e4 z{9M8OW^5ux!J@fWjDqL@$u{RC#1jzW<;r=0)>qR%{)>MEL$8<3AZWta*?a<>8r{G8 z)i2Y(`*;5{2IhWx^Nnw%AHVZm)(a;ArVF+!N{py85iS)=J<7{^(JLz}aR7r&5zpql zW`KqQStr36V%Db&F`)Qq%~l6zD-&9J7YU zT;DHdihYtf8)t&7jI$E$R-~iCKFR}L_Vsk94j6=XNp?Oox^;Rs*mLJDpQqW!<#6JS zE@c44M*8COFEBQ&|0|Ot8-I+Cy`*yXOOQ`Sv0$XX+ri*){64QNCjn+zf->_=-*UAL zCLF=mkV#~^CekVHeJluy0ygd3lxOP=MH&|lr`OXdwR5memU~dJ`zbRmW2d>NJtL-s z>C_2I0JM`bgQjNvYyyO#hQW?+54(@&;NAzMK$OD9Y44%I3C8#w0^i88HLl!a0jA1w zLM!W990EKYIR=FLA;xQc1KA1)gB{XhEPY|r)wxB_a;^vz;N;{ma5cJ3qp)*#F@i=0 zu>wZ`ww}gq0(dJc`2c-u05oOT37S{Xj4MYP;=;@d?=MH`q8OM9!GT@o-hX9?dsYwh zs(B_0+mBC-kqS7Ake6lK81jOp;r<9L#&>{{6i~9sVAjo6M==8jd~S^))4XhIQo*z9 zz$ws`&$6WtNI#17A%3TG&Q)=C7$1)O5ubH8dxm^Qon`B&*+j-YZR5;fH)+Jfz85^( zr9-$(m@~kG8VU@$aK&{l$E^#Gd!A&ZM^80kDShLOt3T4z=4 zxeWk2&8B`B7*o@eQGUhJCG!{v*2F_(vR7@~NWcnt-b(Zts2xL$pOM!#Bos&xz;@0I zHg3c4H@IMZ$;KvXu_8}GI-t>xsNq!2S#Pdy2LP-I2Z9A2lT8H=T~xDF_elqlJu-=McM=7gIXi{aj zZGmNtdUb{=@=-@00cLMNrtlmVla|cj#5_;g{#iD7G~hEgfP&P~cbnp>e7PDB&KSH4S)m z%@GD(DeQK2w|hwNNEs=+k1K}U%{tnDV^r~M>VKPKaY=r%hYOAi_sz3DHp4hZCWSGh z&f+;8qhFo{^{9ZS%xxPZn*wQht30}<1S7ElkUml>X_O~8X@W|g_J=nUh>bbqb!`jnlgvQm>6~|Up2n7cm;?S}ni(_a zR2^IHfVC}nU&iWX(bVm{N6GDH{a0XK{iWgUJ^Z|ZT4j3xMa)-}5nx~Xo~K`4$ptxb z-Dz&o-P4o)({Fwa3!@WIX9z~zTr>$>2lzT671?=HFWEFtXGvl~rJyBiSj+Eh#dQ^vQFbHYb@>%IJP0LOcoh=^?W`APWEUnJ-UYZWo!l$l`~=I zF?Q!R><{Kar&4E209u9$KLVHlK(pj5P0We%Cj;<()Ocd#A>T8<{_%Hw8|$+R0%!J$ zb7GLgUzD?FmC-G*Y%Gtl?>S>UrR;yN;d~k_5Fl4$1Yg|6a4}=S~M^ z6(hVH-EKWW*V4>F(}4{@>!3zZhfnG__{{!MFS+-8k9tTu!ZA26g80g!4Ol@N04}FF z0$*e(=9s8j&VMz!1+{@4#&vkVz^)}n{L&e6;=HeWRl6yhbFPmAU>}zz8xb%{?J|uWs!d^F^!3+>=VE?cd);d)tntpmp4O8F|_S>t zJ0gHf*$o)M?daR4&STEnN?M!*jAblkl)*BStK@VmUAfpwqclpSY(4^HBTzhDOU-41 z;8nBf%1|GUEVjrF_6jy<9T|Qk*C7)q?Y61xtRbMrd0U=H7ls-F3}pAGCsU6p3nk+m z0G7|We}~WabH;YbLfXa8D5rM+`DhCF_wRndnc9f5S*L)gGP7r<0pw_;Cv#Ulue>$z zuWnTqc2Li951W)wDgg-25OZlg{7o9K4)!*tp>qJEyGv>9*4QaP{l?A-wlHbvu!VDg$|%{iK7(BjX=H~|9o7}6ttD&3 zxncjGP@5t$1X)szh_czH@SV&*pxy3aNcA4f+CJK9@ zzNw3OUrNtVs^guv-XN=BH+2CFS0f+(aPwBW{q@6C;C!<+LmwjCu(h<`&}9$@B*@g@ z@6XQ8`<8fqGsH}{uR@@z&*S5WT+45UUg3?hOD*TIjGQ>3Jcd~|zF!|-09pWvZ^Q1A z{PoP`D`aFppXR0~dG>zR7cv#P=aWzGq{lS4v>y?|iur|Y4B=n{KP$#SaPSJ*H8-9G zTYuibXbXfrR1NnKxcAJ%Lg(S?VBJcd5cklJ z4L!`97&J}1JHqxhi&zkN znYlS)OoP~US;@jIi+g!tEj_sV0K2Cq4Gav%IawjwbaeDC0jny?D6ZneQzM&lA_gpw zCajV23Y!-@VQgYNU4P*PnEd_d6Z9Q+jP;*Kx|+#`p-E*|H|t0lO#s(>U)@ei$ccLd zQC9PuQGIW05p{kSxX}n@Bd?qTC?`<2kN@xhpZC#yvXo{PLYoyg!2TxiBDqEFBfHta zy44N@*(+HO%5VdYc0xAlvZ^KWm!J-|(8TyS`Uk?(rAx@bu9*8>>=5m#W$?-O-v4cy z<~?FE1|4cSKN4K^a|~uRaWCzq`;Q+HM467d?eBd5oixlEER5ghEP@juoBBttVk`Ec zS5lfp0rnDj@@sW<6;PgYi7g;TXkfO1erslS{^s3xv6EZyV=rOvA~Ss^_7f&K7$A(AL{s(G#jgn$*oj@W{9L^G)ee0i;^Nd@RYFL4Vv19rajvis`aEKiU zcVW`2g9&XvLT48Aruf=yBX%^e7_!G}U(~`Ic z2A@FJ8Gw=^+?pqjG#GdyivA(fQ?j@85qEsc{OsQos;_;nRp@GAE>aoN&-xPt$2! z18-?G=CGgvjo?9mo)W1m1&D5eQK>WMVNwa%Oz_zkZlo*ETtf+F9i#n>Wn8}e@)iPk zg@fwTh?f)0G;EFHDa96c!4#O zov34Howq7hMJ`HR?(OzN=83_XdGsz&*P-o2Dc~ z#%Q}KD>fq#cq+sAaGv)$`!XzbHg`$Ew3(ib?Ns=a<74U0?c3CQnvJ<~4P+i#b_B1B z`QXg3IUJw!wg#j9;8-|NvHv0m>2$HpOxD(G$CSzCiyG^^WX_oYl(W+1O`zW_*t5J!@VLFcaluTo0J-r$ho}c?$Y?Of+t~yBlDX z*I*zlBS)1_>?8K94GZ@6V9m&A zqz3VM*~&Yxk(_r<8}ka-ghy$OYwRJ;49!3pi;V05WE8fX~Q4UmEOyO@{Su-RpfUxYpK=l!G~( zD?5ahvVk*qjKY)`&_hJB|k}85W)RwHLVAnKdF>c*n3VDC=nHr4gPWDAT434izBO2jRay3*&9uOWk7_K9*vd3c20R`x5~JwK)j92&`ZUk`C=02&U@vk;-5;#KHF+Jsj-WuMGVoNrs*Gp6IuW%P)Uu%sVhXfbXJ5lt z*=qpQ*9Dhy$W}fc#%CqK%f51nYpVMxtWFAdE%Si^O3=o=9;Ka}FJ!w}3{}WDhK{kR z5v+_aO2dQ0={v8#PAXv+4M%YP>FS){Bx4H@0bC&ry%S`MfQ@sb><%^t&!EAmQRtZc zo#ndxo$^F|67rt!qY0xn1-hfiIbiI9Q_6cYPxt_58_UbZU|z$y;yG-LYncRtPFg5v z6MxO+on-AM=SN*+01oGy_0lkR60DK$Uo%Ivt33DIG(H!AKI7R3484tm@bc?#q(_e* zr_aCoD*e$Py`6gc2Ga)TUx&}kfIK(d0pKz)EO2OjMgx?=9&tUtSyR()XXn>RLub!~ zbU{vQ3zBBqhOyn#)5SAj*C@}JAN84BhX}4{ynS=0_`-$EPG1$9GA~^j@df z&ep9iU`(xHJ1bKSG?^iy4lgi9Gk7ck6(A$~rIQ&|oram&I7#5;6^TYPxBA$KcO?|;4 zhFz!qq|>84$Zgn~zK`c)@A`8%_I%cJ<F(nF8r2*fx6w>iYur%q)+lB}zVQtW7db zg2~juJb|5CH~`e5q*DcfLJVwdV;UrrxumYHspHHMn0GrL<0YT4-bMU;0=QaM+Ketl zzmaiqd;(Di`)Xyi2sRq^O?OC3M=u~!8DA;#3|Xkn0;p-g{}h`+GgP}#5ZY`xSHhAZ z+B=Papaz3yrf1RP1nIbMp1H2W{%$}gxHq)FtlcSlTAS*OI=?6UHIqbT;IueLHc|HH zO6H=Hy#^&Qb+??*w47S3bvB}!$A&O_3Fh5?1FS8wCIHkdMbt(Rzqojvec}G6PYQc( zb_v@eZ$l#HhP{)g`EP+b%r;Pb?!}7$#xx^_LD=0^m0o(G8$V__t-!=82cTKU7MflH zcmYHgP{|`_iUF8>=Dj=_b49tR16oNY%pMH7o}Nw^T+|)j%BKqe**4cZ!!~yBM$={H zv5K+)xU^&i$ymmg!Vjyjq3;VROWcl9JOmA3pJLMD>(Zx!bZdP9%M!VFtsSdvB#FRY zCwa&Q5{TT#%6NmZt)$8i_F&_7t&^Ic!yh`t)+Knq!I{9`wnU!nGMk9C(44h!JP*s% zG7;Cq-k&2otq#(|0ppk&T?eeaOu&03-T8VZ9W5RKsI{kc_TktB_xC)oM$Ob{wcLdz zIM&EOkp=n8wQI=C?T`}%Y(+K>HVCCJbBEDfv;nZ^-q-{{{3b^NmN))cOyxVE_5t&B=13rb2!LG*n|tO7 zzypoM${^IVG&7fEOz!1PZ%1AOG?id8Y-2y4a@`v4pJOd6bJ(o_>-z^K>@UC=npO|@ zD=V7-xuo!OUa+BdVIgWLD-);?!TO;4f#mC96*e?LkZZPA411p1!(}BjdLzSNiH3;2 zW@$meRU3O*n$Cu_ST*PZ#?N!Nz&u}tb-aSF47CUudY0aN>k>iMDFC;@R9sDV!y(y) zqEMWb?af7)xdh#4=w2bwf-I8j&yL{dlM#r0SOQpIT~9sK8EPzV(SN746QH#%4fG7r zwCp6^es~Lza)LRLWYCE{Qjxy;{WQS~>=&8<9>W~{-dnGxi|2;H24GRC(R?Naur2tV_kx8F*gkPVooD7B+ssl8z4p0bq3R#K-OuD=TD z@#;uF!5PjKzzlUf>kzQ==*J2mkElr)7Ue}IqWD1H;86U2Pk#j6+=4AOK+SsP*dAm1 z;N~6FQ!Y&qTp50hLBP7EmNYPQJ~GzM@E`4m*4xvA4?zGD1-e0&+%yb) z8S>37&HtG}t5AMP5V?D!8Ms{PzMCKJ^>?L?II5>z*JV>{`xS7UB zN0YtN-ul5iX$98)oxAr^BlFVO+MSwvFNDp$hyLDS{p$$yA-GSCvfl{ z^`EcbxDLsy5!LOzAjfGKa)z5A1NL>c!Y*&bX47V%M;3DL0k!+x1NKhQO7Yy3bAI_0 zdp4{jBsymvyGFc8oEAZheeN5??8MrbeBSHZxeT^w21tvi>R-y}_e;A-*&#{7I{jyy z^%F3z$tPc@KYa3cG`Sq-j3AfEpe`^*OZB!_p&uBRWsdDpW;Wc;Hl@fo^ErYm_G7RI z*cmoQfvk-RFqK_ML^}j@4VIT7>#?Zup(#U(j21sC`se@R-=3|5Rv!R1$y&9Bi_S+K zbze;7ot>GY*62()jI1XEaB2`nJ_-+4O)U?*b030S?6L_CS&W!84qdShgA>MNIT=qu zI-L=nhnOt>@9X|PKox%G5+N)FU`w579CE?lY*u+cf1GettiRWgLXyXZD+2uV_ZqEk zKwtO0E*dYexS4^=_DYb5 zWF5LrtAO99pM948*Z=*0VUsVX&X$(+_IJOVUVG(b6fJc{iH=4j1SuzLN5wHXID~=P z1UqjY;fC@>5b7jE`YG?xFxPpOIxm&JoZx{5g$}Rm9YIYue|D&1%SS}cb+g`*olw8N z_mIPSm-Uy?(1?M}CUej{|1ru#2FZr??J#&{tULFJ1RMmx7a~Di-;xL?IIpKXhf21L zgJ|QA90uRB&t6ZjzV<5512~1UuoF4{Bi(=RVl<9(od|EZyI88HEc`p9Js5kup z!A~^mX*X9Lcy+=uYA~mY zdspI7?xB1OD0>^SG?B(<9oh928ai+`Jr5T0M<;TiQNoNu#_JJ>+p{S{QZ}Hg(1v^K)B#$A$tqYaDCNW%G4%Z*3^4*+PG5I5 z7#=?h_IM_cW~y`_z`(V?UL#t{OBNrYAHrQr6VSq-TG+d!rsM&n<&nIVR)E@ySx& zcR%ts6o86`GizW)?Ow%Mw)}^`_w{I~$*9V?hI`hAhBCB`AdfFDVH~YRR9Isn&v>mv zAC2MwuQjy%a!<=Xx9*pYhm2O|PGiiul+o$uH%UFKq-o%#YnLdW0z(5u+TGF-QPNVL z&4we>bJUDt@0&6wz*vJEsDs(iKG4b>0XS*6)!;)zjJIt%>0|6%Y)3Ix!;lbgs?!3CH7DF>?gtI~20~(R8 zTP;St>0T7EE#*>6mKe8-1_M&UV@JvPVSQflbX~{hBlQN_fXUkGs>P%Dr!$HTAG+@Wg&{2HGfB8>+q?~r1 zl+RvQwvjJ*UFXR4aqS(CI?-CzXUOOsK!W!_`Z(CWHJtxnzV}cl|j) zIBWy%Da+XFd&a{?@*32LKR`Ay;CM!Z6MN{EO3Lc&8rWq$%c!Srz0mshKA2b7H2^gk zLj#$K!|B+0;*d$oAZ2|7cYR9c&v6^j*3PmvwNI@~5oni16hJGo$N4oaTcBOWlf(g; zHac3eMr97G^8|);BA>FJTsw8PEH2(2j`%4o?z!n{Scx4xFklH_aVa3a*U^Dg*BOx5 zXD?f#%|K!VJo(-+3qTt{(e|w3c};iJHZqWJvp}88G6Ge{HlgG_o)`D5*$XmK4OnOs zJ0H$ZFq3&t4m-{A2%pdn1SZX~fC9d+$Ly!3n4U@Tw(~!?J41dhJ}(R?iF~ zFgL+6KXH{R z^hYD<(l0)DDH@aYb`G$~JQHpWR*YwG%EX(>|mTNUdaA%6@gvG z=_YrK4ug~q&K1Ejg2yGyfih^5ptH493&#*{wk81Qrf_~qKjXP>1vYhtS{(vq-rdoXH~4aDdV>%BM9@LV>Jr zoa;&ejuq@f`dRSnJY(9!?B z`tI`i3#qSzJ;iccl51jS7NC_TUj&$I82|O_J)FsPKx~-Q%YcR0$!s&`)V=54kzq-n zhW1LpYHFX(ucYy@L$X2evnT=9Lg|nlz>KKxjSZVW=InCr*}wt7?PD|5)Rm?yR|hz! zb?N@sqkuG&U&Ds3W`0Yk32jNNO@QJxN{(LFTV!aed_wzbz%wrxJsOPuM> z?pAah^-tGm(#pDTQLbcnhkd=Pzfb*H0d;~bd9$vxEx50Nkw*62DGcxPmjifiLM~AB$+zO*0fi14!S#GKsLcF zT*1c6hpo2@pnd*a8*JS!u!;E?UlAouLcRjVTi+JNzg7$!VIZ);0uR{dmd-(j()6f`rltOTPu?dIdg`!TuRo)$0U37Urj6fcDY6vm09kf0xZ} zIY9xz0`;ADHxFR=_OVZ@0GBD307;~TYy9jd-y=}dft;yhe^w!fHqyJl{T-}s?S18! z|3hXX^AC{MW>cuIJG%$Muie}t$R5Gz3{Qz33)my-Bi z%Ydf>*cZu$wmerJ;t5JB-Tdlt`uO$)P3+L)?9HK(9>Cys`Xx;wJB!n|UwefKF!%t0 z3_H|52$CeX@p&xCY3YN&FwhOh%)O-%qa-4Grh<9NWC*$ieW+g2Mma@yogx#&vGM?$ z562b>e$}Uek&(!-)%LM>k~V_JraW3Sw$@CiGuF{Y=WiXm;_Frl+Tnz1TbGUBS$KY*sTZPhqQ8W238GC23lNy0N*P zKobNe?yW!4+|-JWSxgJChky2GKTErO_W$_5enEE6B>NFLaVs4d*^_{O;Ya@7{&D_$4xjY;FQ} zS`J6}ANuzEnlet6$lZ(Rrp9#lKBXxr_4NFUucn{<=m+W1-QTCLZ`~$?wUj2VS5hC>SWYeCpNT!_OYN7xcCJ)#oNR9H1XcWS)RHKf; z@AJeJJe-0`wsFWwjEi7CczAh_uhlTf=0k5uC6&m~E%}$7mE7YYT3B}>( zT>w63p>Z!3PL8kfLpaF*Pzs9p2-nh}_I++RyHhGm`BdD%@&?(`cpdJ;8^O64FR$_$ z|K*kuH*lG(r&rG$6>)Go&-bMs4#nd5M0)Mp-%c%q-GDFv$|zi!vNE`hc*I4xuFj3! z>SZUGI$eU&szLBna~Nca>yT<>m$6Vb1W@4o^BbGl53>a! zWf}}aW!_OjjHl1S{IFPNW)Lj=UO>U9qs$ZMEPEE#gkcHh$*{4GjX48o`u%MVoo7V~91MIV1qOEi&y>XT11aHQM6%?^9r6Ab7d-o7Bld)D|P_n*$ zd0$sBKmoqD_O1J&5-`or`|L7voFga8InZ#j_7yK8AX!WHgt}bDgMvZF&~CYw7!c5R zzZgVNne&Eh4>O6e4|ye0nqqHf>!;%r!4F5q+&DJbV_cSJr-p8f$?_cn%A7BRw0poa zB*V7=bHy4`1(acY4(B?Q9}#$d0kKOb zU!Psj)&_jmoE7wl1{1-mu~vIl-zieEV9ps)75p!ln#b8U8$jUCvLnuqd&8*M0l(kG zL71AQ8Nu9afc=6Z&P^3_S4Mhj0Y*a;kw6{4TAC%I0`d(Sk z43+l+TmxR4zAqpwD5B9Uuwj5rLq$M4hf-7;R04+C9KpbZdpcO$ob}i{>^skv7p|fH zs`Xiy5#Bl0yRE&8V1i0>9Ru2W&8{UzJbTOcsT5=bxhHiHY&hY(ZF|;njBHXE-~>jU z6<5w-9w>7GrCjm(wD&}qrMdJOcq!$^aU@c@?$j-^(%nRJ853E-{J~kQq^%St@ z1S5X%Tx&XjNuKtp>r6AtX6iwRf2#3(zoy4f$2(()EuefIe?Y&0>;R-kd@Z++}dqKhFCIS9Z(n< z+dRm>oiMG~W5|v9>1pJ~NjNqGe69?Ew7NZ!UU_9CosnKWw^Eiyr)cWYu# zN}P@LRhnoS$RItjhJ7Ot%;U25nJlp+L6)h)KIeAW(7u927gmB(Gb7eRKN>TT_*Hgx5T*{2zA?;6NGqPm3uAeu>U$Lt^^N+8U^MZky z2+**B{N7-j3_qjZmR*X?h>=@NghyvdSj(V{XA+Bo{by4__cO9mA?dZ%+b9Yh7JS6m z>z*@p)xf}D)DFLV z-{W&J8s&!u1M(yTE_iODC-_`UL&f3?Mz&*OT6Q>#bmjTfU$Y+a(&+sLOdK+0O_3yRM^( zTq(u)w5}<9GMHmH@J!Z|vBv>QE8lcvW#wz*lpq(Zq3>wa;eHvku;i6{$jxMGq;`Xo zrt$1-@-n|C#UI;5BdrWa&JrQYM1v=$i^hC2FOhl}&+WYPY33>94!^TDxiVjQsnaK0 zU%7lt`t~fWnfk^y=AQkF3^UN@!n+S+Ec`5!+F+UGaXfSGnXu2eo_2;duB- z-)+D)^-_-D5S}POSAm<%F7dNj(_8POo#9!5WytfJK54^V=SsW9eeSu=^E;WuZJ?NU zzP_J!kf99(xmqok#q-K~%j^j|p`| zIG5q$y?rR3OJ!+zX`>9n%GLK!O9w6$dYRPF-y(o70{UdGutIjg4m)ExjT`Ut_g+uT@$ncf(I z_br&{^J`lG!pQi_PUZ?AmPU@zbQ*bKnW!Ud=a)#^A0iuVYI-rbbT(9$*`? zFBZ2-(u2uebo^p^<;pp1zJoNkI!7;xdFGb;v9>!fjVrlsPg`+%>9uQIyCQx5#Z-DY zxz3(oT%@iy)|aG#UiwrJ_?)Ae+B}Vtt=}AFUI3wL>#!q{4Xv$R)DE7)2B9BIbvq>) zR#TU@5BBq;$J5xM9qHmwF|~nnFuZ3dd(@C7=FQT>c15l|8J|NQATc4fbXi^q*0+s5 z&j1~22~IQih%ttqr=BLzJe#ZapGxVjV(&HKbp7`3mbj2D5U7xz^_}6AYh}0N@#G zVpi87V7a8Nsv;YE!(7D=tbydziaobA{RGeo+X|uw(HhN8^SaIq7Kj76e(ZBIGIrS4 zvc_q=O~7V!Vm-=H)m1mM&jh%d02X=g(QFb9R5j?MjCH%8L`D4I9KvaSXXXqgPO6B_8>?{p1dr}|45}D3< zu!c?g1$}h$tMu>*0R#3y5%X}Bk~E#L@aLxgBnS$?4iCao#!p-4X9LhSubsih^EG?yNJKhi?e>TwF5{of(F3Tjw=bB~V} z`utSthfp&yG0q~By^8L7GDTBZQX87VohTMX01A>S`39ZfLfUyYl)QWIJ`Yv`F7-po zBLR934jd$2*jesevFeoPPL|pQYi8S17LoqaPc?3}u_y z|INSudHV9sT}UeI5p28??F2|e&5-UcKhuqkxW@Btr59iN4%kyodOU9JY4iv7<7EgZ zGTpW7GxE?XfsolCY>A20LZ%g*T?f}RU@t5Dv(G+@403&Exg73Ine&#t5JZ0Al^2BmT19W13mU>G!)3;u_fq_GlFxhH6k3!!%HNXA)-yo!m z(+__7C+UCtAO9!PL(Zpb-+cu^=!SC+c(eCorma_Xz=8D{%1Jkv;BX&uy(*%+9(ZkD zg}WWnZBDiV*z~La=l_oSHQgM7fAF)PMI9uKsMugUPcTlnwueq(QbYQ}%*-^(0pJ<% z(Dw=4`8Wz~g?9!F!hFEd*dSUYo2!I*YQT7`Ct9&X7^Uv>c zKxl^0)eWP=$TAw0y-|*m;UW3i=cGgcPM-`_Yj+a9hFOJRVDGTAv%SEa2vEotwGe$V zDT?JdH#eTSKquQ*VbaOAFtwPJI~<^UfMlZ&AM+d>Di0o)&7LEsH`XK?;xG>aCc)xk zFFBTSlu$SzJd=AN7%DKsG-}xtyay9K4kYCroCdK<_DYT?{xctIhHWDwPV9 zlpuXD(}~=xoU8{~0JOK3lGl+DD~RvyJrCAJ65y?8Ul|100o0W#U89A~{mHBMpk!K(DfbT5mWhl`vj?Usa{-2b^Sp+C2Mxz(uM)<6F~zTL|JwxO0V!Vrf&;^WU>Or7V=3$ zP4=1RMOorr(MfW{ZDJhBG|%=Bdj^BtdkAK@=I((4K!2h$x%=8w_QqBnN(`C34dexD zLMqF|#1v;8fe%$%G3&g~Sx_luY;73Rq)Rak z@g?BmSrY7*aTdWK#^Cz;yq3_h2~rI#66e)a9D^-YH0kNV0Cp7)fKcd`&~MHLa#F7+Yac0r2A}R$#c}>!$|BP}h2v28P?2FKR_T zdXlCWsh{1{l&)UAhH*a?4%AQ&Y$Vd;R@T_-?BPA;s0TV&PY0}jp8MfAY@Bs6gO(q{ zz@RP`^{;JmrtaBi4y;{nxqz|~>z#9uIMc-zEu#y$0+_xt~9R^we#r*7=`+WxXsn2w{ z0Vr9Y8qT&7Sck)NpT8pN6as1dr8cuwkH=iO*j|1QZz~*~1WUA16XleGp0DD&I#7vqR z4802%E~eLB{Z_hqos>4fH_yF)0}SN-$H>fmTrf3Ro9rvIN7PX|{yaMS z(#hdpE~32iTxDnW=?wZy-ouyU_53b1xozOdFHSJ+n)L|>h*uYW_dFfakqd>fKV2~r^ zHWTT1U5i-D_?`3XoFnV8BMf?J*O;YcZD7xXUj`Yxrt_)&rbAs8dLz45$U5}nJawLh zV_QinHQiF1)_+g2qc&gw$p}ASjrXw?j<9K6Z)-yPn(PvT+rDlwRkm|)LJ1iZZl zYvs5(T|6LroNJc>M%pC%m_T2SMnFtis$nmgfuaNJ+8XH8#?bZt@mzY_c(ox~v9+zl%~RrhOie8TT-P_Tw~7 z!lvh(31*j|d+L$9P1tL|kcrA_@_c2&z7L$;CDUFY74Yz)uvH|NxY;J$D^BUP36IH%6Fd&TE+j|EGbf3>^4vY8uR zOM6&#12A$<+zr-n@V&AT!M`-X1;3sR+ zbn-H?a17KQ6O5EN?$x6-3Z>_YOV^^Yu6-!-n`R8zBY>K*GYiyAq@Mx(8y2U~%gAp` zMV<|Y8@jN%wm1z9z(huuPfnad(4Y(hAW%mKtlJIq958jPfDdG;u4YOvXTe zDcK=CjI}0x^wA@LMoYW^j5S;SV+p-lk*>dHQ$Y6XNh9~Gp^U*I{}SxsELbjN6Ly!( z$s9o338nMeXu2oZzPwBz!ga-_Z>a&0z0#8w=kEp>wGAtKi}Db4Fl9SC+mY8Nr1@g6 z0>l{PUR%$@VA~5|GzW9_*=t>?y!Hqt+8&upFv%;oQ+M+j>DT9A2`|Fd?(ov*>G_;Ruf4pIYLi4hFfI7^`IBS?l)-LGD*xdItOKK6Y3& z^7)kdqVr*2tiW7sq)f#R-+7hh?%G@ju=U1ibjaT^=Yl!Faqom#eM(^a47syM4RKku zd(8PUwu!xd&X5a5jH&z^eaIF_^{x1OIZ7qcK)I)@JM6GkY+W1lR^cP$U`>DLJFoCu zfIs;)u78@o9wji0eU~E(bqU*PjmBRU8r@fE=P0*D&uB4do;b^!p$U~djE zeha3W^KJ9(Ja3fszfZv2^{v4sH^^~@jB%Z9knH*Q{3ySb$@>@q0!M7(un`2l9g74q z)Ammx4d~xh15DS`jPj6D3H$rVIqc12vc7CiN~k=}r@?FeePv^@K}}?(K9Ba4Y+ie< z9J7zFU+tq8621uHI#Rsa?WKxP216Obtvv}F%S{Mn${T2(W)4YGEHY{T+$QqMV$0^H58C7YO! zR?CLaUuK@{)5WQE{1i%sHQz{o`2Fp4>EfmI@@tn^+c}!W;RnrWCr+`>*2Ogg34M$` zVJ4jfv^+AunzgNgscQ505&|QYfScOf_UwrA0|4zVp0=F6k#*0tNqTzw5iaGN_4Qb9 zGnw>3^+_%L81@UYP)4$)S1w%{Nh9Y+z=9}2hdr(y(9intqfeMG0&z5JS3(+C-M}t3 z$XbhSV5Z(WfuerMbVIN>S9#QxF%GKfY#+$Dp zn+?c|-)K`oWWeuP0i(G=U?^8rnwB6-S|56Gc|X1T!7Um^nh|WNn#y$J`emLqAveYd z-gMDxsw=Rj66Vh=;IJd`3Dif$+(5FFy3A66>-e<#(AwcPSk)dh2(B$w!ZVq@Xo(#p z3+EIc6aaM^kav~x6(y8rIe+CE=Ys}^`Y6aKb-&rbyI?%k)bEchWHMz+*!QgvDcUH# zv9!68?v5`2u-dN)`OMn)^>pCZ)Cb8>uvNopnqab|FKtlAHwf6;LQkj_u$>t|R+-hC zW=}B3Z3Ltm$ea=o-yu775jmrr9N@ZbWUg*gBYI(aihb>wBQu=O3F@x}8Ld2B=!1~R z98S*8;NP4epKqkU`}N;PDV!IdyFp1qn#8s=(=>h%9n%y3_vAReaFAuQtIO0a|0>ws z*57{q*~`>a|6c0qY(xH$d53IJmz!1e$%h}Npa1;l-~lxRVphq(*#dADh;K|U{Qqse z=aZdhdZ+hvJe_mS5ef^+i~kn8wA!^wE3Zb< zP9ldK5&%JP2oeC1I_I2o_I2HdkiPhU&F((^o;N(t9e;PabdEhJPvbmWOLt%DKX*P2 z4-R4{>xW_|;`6t#zgFumEzL9B6JCL~+$#qMIxomXo%w|Y{N>%K0KWU>mt1!~>;Uax z6JD(Jt|8O6zP2uacjrY3lz(~mYl3_u>H77TSkGEMPu4s8(A3(W>YBS!d1HH;L|@;$ zYumfm2>Owr0S#GEiYS8@Nn(T_jtcd3KV1M?X z1{&{4|0d`7%G%}#cmAl1kj_k$SRlCZ&;R@@fcsCv-j6w0$c;jDh6z50g3<6>J~pUr zBW?MGT1G~KfgvA7{G4qTI0?43_o$7X^XAX~!|CeE48$?ZBJ-eLl$-I9b5VjCp#qdT zZ0i7Ag3W?8d=_T3gzkG|k5$NH19L3%Lf8dZ=&2xR8-M2_Y)?;CXh`0b{O{^kGl-=`%6i(P`SbYg#np9W)lfRdrE|8Kj`$O6wi3&;49$^DYfq`_qr!8T5`*?tu`_@2RA z%4Yi+O{Gi)=US$>52!}6S;j{gOd3bFYcaD`-diEt*!BueTX(J8=WyJ46eDW>yl>_u zad-y^3UXNPd!%CJONUVqa2rtCp`ikz(!QW>Yil#~B#*Kl(E3+*zaqnA3Ws7f)=NXh zD3(S^5g_G(Jq_i16u5nS+y_`W0Ei==L-tc>L-gE>S?u&R!k96DrLt^gSW9hV8GtoC zai2}|Of{UBOglO=j?rL*6At$bY$sqQ5BdGWdV3T z7SH2(%+9ohh{mYzR}*pHB^s*nQiNg@pp-YH4IPP6OT*6wktaMW z>!YG@58WgCf*J@Bbdn!dsLZf6jz*->e`TRn81u*-KS8ws06+jqL_t(v`&~)9R&`iS zAW&?1uTFx26M^bI91pXcYH6v#DQHbm&bloDXw_i^)}Xk)CL@#5t|~HxIev0{iV~}n zbooYO>TRt^-`-^yO{S4-s>U>MrWfb#F~JEc1n9Y^gLI5jZw8dZG+Bt~8@aXtKOB=G z-P}&;TM0cp?;yh{6C*$~G&0UTQI1TcR=H8j#Pzn;7L1K$GPRIll(aUs;S8)SP#V>l z&i3_V?94$!69C+Nj)}k0VQb47G7$)>95CDldA7D`zx6$`p_dt)XwXxG9KeJ=mwNz3 zmSV0)001S6L!3+0xP|PZvjd&!j~F{vXkWTCz>trI^yuLyluGVkP@HEndVYHNWSq6r z$Uu*xMU*!#rr(cocmkAB{PD7dlP@bXl`W*RllHfU~mE zDiLM4{p01skewVUjhZ2Ov$e>z3tu)?$?*kl91`8o0EoU?U zVwSVP6Tzq>0x25t$2f>)FG-)iLjQ4|Q`W?_W6|P$b)X<>(fgM-lsuwTW5KG?PXi=L~;e6(-u${8&urHW-=+DhDh2D zhW-|95^BsW0SKu;Pc$QIcLCIgo_?1eKDRNgLw(XA!Beg`k(oCb#%R z{tVA43vrgsd|ks9+rm*aSngAs4SI6SRC|mc2f@y*JV?*R{y>R2I+^UroB~St0fKg^ ze9C3;T+UH7trHf>1XIpaZIbaZDf{KAlJ!&DpZ9U!R}4 z`wG&~1X=%wfC;HGwbe9HIcwivTX%>K7Nv>FVOnWX#f3iJqa3%GL!p z8G`Cn@JuepuQM3009~6YqcV=5nbmZMgWyTZz~R1Cw0?-{vPdqX?FzwEZT0i?eSV9+>qA3k zCEHh)s#5go!V=kt^i4fMXO*CL8_9&_&tOCHH*CfJ_*SN z3+%JEwwag*7{a+82OWy{;d`%Pt5FS$9Ik># zv{#ncgWnSD-T>e{C9_f4MEFdT=z}6*nI_5_D;SXLXxes6%dq;doe{F;Wo!@+R zHrelr1!6w?+PuacO z#-BKWhxK=C6Jw$U>JObyNEUEUC8qw+ueYrVY#o(Ecc~WNB)h%=aI(L@2ih}<$+izH z0G}~S-6~=$5Q<^GU3j1vo-BuV9K4!aTm}u|C*zMjqs>S?vZu4X1=#}7N}uQ!KuRn6 z7XjZNJst)SMJKV=tt2w_6C4nDTwGlu8+wv9O^3*dy)@9<3y;)BKy)5_!XyMdfz(bw zr`7-gfcwVuII?Xy9dK^%bP z+mfJSp(85L2r~Tsqu&QDlvU9Z$>1SAz7;(hOZwHXzj`h8G1&Bo7OcVm_Hhq?1wJ$h z!$ccp^*R;2np}Rd@L{WHN164l4XOX8Eu){|pjG{#@RQsVXoO#bF0(#O_VXrBY3C?2 z^=GuLib*!yS{tN77)+Fv_PQ&}RM{bed@wOKuceCBesvi6DQ!8*z(Ne{@6ah@i=ZqD zn2UI$oWHIA26>8nh#T{Q;3~WrQU;T`kxrpi5U98nU*3=}9c7=`_uVKjti$7QHY0CF zOGLvp@=7v$lrdjTAH4q_U{_1H)?AW(A=4zz#;N$HVSY?Dht8k<|IE~FZD~!7%`F%) z(>&~QWULthvhT|*8Ez`Z?8)YIJ^fX&e0vsg&W zB~+?&L{=8&Db1{{B^tMx{^MW&XB5IxdjIV=)7u}uO~fgix!l~`7LmW-{g?lou6;U7=7{!7i}sbBnnMWNzYDE&O3Bd{;QzrU zSq2d1#ev@R7k~O^(NNtUj2eeNgOGy6=Bu~2FYbE?hRL=G0BD4eWN54@)&xU8RzL*{ zxXK!-AOzYRg45OAlfM1-UZnijHnkvtDJ7#kVPa&IY=8@~hyVD?U!||^J*JGLflMJB zS`1WyNGt$^ufzjEvrlLaj0>KNd)q{zNrd*p6BBZj@8k<6$tgU>!bUjl$StWAOKJ@ZiUoY`HCONX%{C=o#tj3TGT3RG)g!_LbXYx)FVAfWjHRl!q_9naK&ikj?g~P{HG_WmK+r$WZE!>e^Pc>y zPMUNU@9@6Io6)pxc_Q@2f(1R;j>R$u?@s|^`KVx~CCdUx0(%~R07A7(xqm)+8l%t-Bot^ebI31y9NDL-gtALpLiqCi3`%Tsi>NS8m=X9g9Fz@$HM0FN9Smy%RI|^IYgk!B=05vt)~$Vf1e`Kt ztvLA3fQSlKgGB*pR=@j-bikOvFrnPDoKnCOGO=``iZDtA8xG(DhX@FynRT6^eAz5M z1*L*nP{y_xmSUEXVK+80#$K>Q93!1*XxXz~86t@78p#_@dX;~k@0$R);Rl~p2RE)k zre!ImaP4iDz|B+QM3y`rO9mr2A9-Sifnr9W!L8<&_|EewWZ@?P8~d6G`WP5eV8>uA zezwHSpH*PbWt;|f&><&_Xg=#DRpJhDZ-D$hD%?v#BYiwH-~ za-2<+%G+l&b@S7EFcqjJ-~2Ug)hvk zflkcMv)AGJ20<2nFRdF(y?tca<9N)BZPTX;z5>{8>ux5CY@T)<@IGJ%HZ^5&XK~oa zDe;uH*kckkb1@L}>7n`l+b>g&UP{lu@$|=UA99Ui9AEn3SCbt||MlT#^aJJGJ$;?2 zxvhx`l7jTnZ@+=Z7y^d@1>B1>bxaTJi)nUYnT(w2pzHd^(scRydHMj(q`?Pdm+<5t z{P-MyTcZnoANdyAv}d^Bl7T$fjGu9u7zVbpL#8vq90UmT%9}iw5RP(E14{mu zA2fIa$Y)KoOI!!nM*vFj(qnxY1UzD$)t~l}R8I=vYk>JV&!Yf7C;~60+Zeio z_x^QFe0GlKOIhgJ`q(TF`yyxX-8J{Gtb;>v3W~`(MCM4JW-Mu|g!_)%%LbXb1pB5X zY49*CO3rKlbhFo@%#Y7DH4q4AjhyLFh?D6Mz|xvJ4033mbvF3zFiLfXv|un%KzfhT zUn{0;xnb6_vb;h72Z3U_VFCKg*$|RqDf@H)xUH@%K?akToYs&Jvm`CJ9|7WUeg{W- zp5RwNes!fmmKgZNUTEhzNYIR)59|r z>{&Ay`3oTXetP5Dxu_`F$GKPE${(?Ztbu{u@DXAip#%Qq1OAwKSj0LDBpc*pX@kzg zzWSaB!j6(ZpaHYU1w^I)eD9b24L;_)9;bK={T}iGUg36?OIbcr_8_0Qo>fhe#pxM1 zw=yhvT6*#BSQ|eB8D_trTj@y}&_0w0eYo&(I6iAz%D>21*36cKI`$j%jy|C;GM&)^ z?2HNo6HLNJq%?T*8U0-!qBll(kE)=|BJ0c`-(qag0$O>Xj|y@-0rqHXwyzD=1W)JF z_JTGY47Th#Qv(myr6=F4l901c))oCl3jm~RN@a&Wd)N-DJF8TgH+Y-k;%53E?+Ar0cRJRfq~a# z+O{$nuCzK0I_l!VkMbE2lCtjLBjv2Z)<~#xpfiMOKzZ#)g@_fK1$@$1+*9ivCT~ z#2l_&Lxx!R6I?u;9nk2qvC4`7Oh2~VV5>s z+Wa-xI}jN`Kx`}Y@;*9~;W&Vq4E!QXcAt3)kA^1F3w`v2%~Yk^x4*=$E2O7tHMYYdnvA*FR9k=NDM-GU$=k zBAlrPdyNh!(elNisJL*Exi~#f+n7!Ih_5ibmSu7F4vPbSsQckFWLARSOhhTn?53A* zbkefKnLF8P$1P~Is*Z$))qBV-0y_tp)Z5a-zBiHxK@U^18V<;;9>u;qI4YqkZyjA@ zC5?kcm(rydUWf#a${=|heL0OT|2 zKv`RiEHndJ9~8?bAaHUL-6fG(w?yS=lEWRrEkR&6`?(}W{-6~NxML?NfSqH>Wx zr5}Cp2HS=XMRzzD&(>?t24~VO5>41X=ujC?(jozm4SYoPh%YN9a7WT#{>d*=C%h_6 zc`g0KKYsm9x_$o%bWJiE&$W&Zx`pq4gx<0pW?x5R`ja2O4`#qVa3A`fX7oyrv-G&H z1l&JE>l6XF!FM zfWzVz`e8e)buIYH61bK=W-aSs-)P%t+2_8F3NxQ=gFucnZ}sf#Z#7xU~J;4Z_XW5|N_)QG)Pi#%8YgUVK zo$l6F21Aknwlar&8pAi#?ZwS(a;&aNPfsQ{shr?IInz4_*=1WIkI zWa}gXgV@y_WJ24rvje+OY-S01UR_;)-ik?F1mLC8;MP}n&~YQ_^;ce_rNxb~o1Bkg zE0N8m#dHT?_*Wl&nnosO*iYpH-50R2s>s@Y^W_)mxlWs$u_@Z&p2PRL#QiZlgd_lG z_-K3BGNg%iiO!4Jq;=Rb?@!~4Ipf7)j$LhC90e#2uCl~_-v(Hp92!QiQ z47%@ftr#rNVh#=tr7yqu5}G5JL}0~!;wBl|LZc0Of93im@BkQ!z>7Xs9(q9f)JEDN z0C*1_w77{+h>X^*(Z7nnLziLIz;>>KKWk_DFMi`7?VhYHrJd#b9?WsrELnEdBG=~O zi)-dkA+a^_YwQp78~@g+GT5O%{w{o&!#!G&TwvQV`ac&DSVxs`Pw;nsG1=@S@$G}E zK^M*g@_7ZWa~iv^ofgH-z+4zpB_-vQewQ&_5{DS35ENluvd$dpAdF}n0s8}Klw}1I zH}1ocK9$1)6;d8jh{0TjL;lWNH)yT!GJ;-*MGI+PllI(oibvaHjFStB6J^&G&|(oVnTmS#%M z00N#pLHHEVaQq_AOJA~a`koQNC?oa$;p1oNm-Jyd1|V)`GOosNJz0Vu{`gIVDQzJT z2-WrNEap-A{NsOsXfPU>j6C@CX}Z|gM_E-ZJ)Vv!B_}HYpydd#B!>*(6Q<%KlR|Kr zIcp>Jktg3#4n!Fqt9j0-3-&g1GV5fv5Wbg6U{%+SouMQI{P3duOwW>W3o;7CkG zHyb*#jCfv4M?9}tGQ7#>`JM0Hqw6c+xQ!BYVzSQA20+vvnNkOqdy+Zb+}g>_@i`Q2 zPgg_w`OkikE?+typEq+;5YFhneV!Ll3_7;F$sK3+G@glTYV_-5WV7Kg+}Xn&6qAe> z02<$AGM)Vc?#1AV>%{+98*V*LX(IC-5l%~8F%hlO7K1U8ZqY=QQN-}1v3Ak*dXy65b zDQ!9T1%;uqcCFkafo-RQ+sEAX_t^x2?MGKYZHA5h_W-K}sRJxlNV7kCfT22{u8sZK z4g&nd_|l1i&UBOnIHYfUAoi38=b9P_@|E(%J+QTj#^x( z1ION;9XLK~1PHEW%+Zsn6aVV0mk z+CB!$bGk9IE??>7Zv*h@!0Y7ZdOaOlu5rxzVKeYN08K!$zZl~5GYc?)`>)1mkcKxI zm2H`yfbcpFi-SQ0c+Ij_R@nN*N$!@S+q2b-YQf+t28|u#WGoX@D=evsXBW(JJ>0ik zl-xE(=?MbgzR%LB{2=fzjS27+7UiVA{tf~F;{+(SI4_wp{9V>^Im;v1V~|!&J=ufwV4Fc+uP!fQI8{S;wn;%h z^1Tp+>wt-imzv>a28r&>uus*LLiaG3(Mlb%G^QVLzb^nV)ulgv^$n$MI3NT!+L4Rj z(NBzN7L?APPY=F&3b;y}63(}2WezlCc8UQ$*cUmBa6q2eqbncaOW@!X`oN!yuZ(|( zhWC-z%F1kj4Nwi?C!Yy2ni*wJJ+nLod&>x(*nfNvx=<=*2tdV*0gl<@Ud;S-zq03G zMc_MuV(HMy(@tzQlUeEG=aqw1WLm0|SBdiH;mj0MrlsLiKqkYBFJ4J+yzvG-M_X`7O=2MU4QJRYV$j(x&$yKZR`I z^8!xKGgRb1|K@#5>yZuVd#sJwEgE!jkF1GLBS6l^#C-*T%KFO>@_+EMH_8*sZ@wvr zAHWt269F&yTTszs1jMuFa{YJ*Ib=nHy@%tuDdSYGDL0jY26?c!V&D0JwfsI9>ixRP z+=KU&4TxobcfIU$izMbtUiQk$V(yR62>^0~WQJ{}Uw?cv&91V30G6fjC=vnyARDAE zfydMV8RRFSMD)5rP#m0v#34t3;$1 z^nhToS#YkZ_wQQ!UjXZT4`9M|WRJ4LZyAD25<($W5IM*b1(EH9Y^B6%#pjjN?kT5p zQTZQF&+pRqHuS5GbU0=SGQ+AZ4i33gh<+HHm;yk=E@Mp^kc$p~bT))G1veF7jq7J? zG56cnH_tEQ@VRVYL=ck~v?9N$Zn!Q$xlPqGIZLtFlDe!qohtji7hajziwwO zd4%i>xh7Cy399rVC%B*Ck8p(7Qm2M|}+ib`6Yq`{M~_(?r#K&Jo#U&=xih zNAeuX)-AFRDHUIN$Y&RLW*uyvkzs{`gxYH-fRh_!zZMsfMG3G~Ra?iW3)9s280`ld zNzADun5z9gg^cC4c>dx{J%B|SpcYkuIDT`0c2<>^W8YVnHKbD#6Gmso7#dZ94uih| zCaf3=N14wT(a%zQprm{{O6C`)X&Zpec5pD2UcE@>SS>atz=;`yE9>)V9UXXzJ!(JO z0|xhvO{}FV+8Q*qm*VgPAg%COK&LC0TPgJ}q<8U7dh%=z+muXj;q_?3JCN#OhSO|Ftw1mU)@T(xPw(H1}aFbp~CEFp7t~xx1t;XL=BJ@!+FZ0X3hX+#H$Oe4_ismA zd1`G!#{(j*P)#*C$Lt^UbA3YznSmr>K^G^d0PN!cJ)^YC13)y}GZ$YmpYv|ArUQMn z3#h~P-<|-dsz3(Njt4NPuWx{7&yXEW8!+~7ewE~-{3cplA|H>Z(%Cc3&;q@~za0;` zstv77RKp8M%2N78%2O)^)K|{#vBieAmD!k@5{38!!5{FBa@OG8Ho&VOgBi63SN%ARSCeA;U1=0 z^ChqYTN3U-;|>=zsCa-~-AD#xe|rsCusI|!Xul(K_ZeJ`|5Ti5L$AY&dAnpiHgcZ; zytMw%mY$g&r&S6(&8}tv~KVGFhCwBEZ>qA9ERIlLoyz=68lDHa3g1|l{qkEs3 z4i1_`3?c65-H#n+vcNHkU0r?W0hMjPgAar%i-Eq_XX>V)xv*gj98y`cb_(bQKiFfs zx-$TE4ap3)rT!0F5WcYqXVQU*5Bu>Jss9@0r${1 z&khxY67X%rL7*M*2IsW=<-hr9Dq{b=5A7Y>js1=Ri$nBBx2+KB3*Sb*;9ik2hg|p4 z`Hpn`r2$$!R7dY@3Hcbz$%OcI3r5QA-FjR@9~G+{O9)&>JIv5`wkutne>$=2*~WlIce z#AeWbQ(smBOrN6LkLV+>HD+IO`|(fFwo?BhpTNxv=da@<(B6UUYm?H%JGKGpN2%J( zXRS*~;&Hy$xwE~1^=7c+*CNB0*kkMKM+i!?{eYtcb z|MYkNZ+iS_2!9^17Czn}QO_1JH!i;jR#%m#XU9_wdwKcB>+o0=7~5i6KbEsj#M#_(>;m*9 z$2Ef|_VxC$@5j*oCv*b97sj^SWB7L!Hk~bO`>==e%Iner6&D7{mS!jMA@SF_rZ$r} zlC*U5_Lo!>B0pI>bsh?diyagAJWu=GM%EGAO8*La7pD?enx&fe-n~a@51P_jl@C2< zNO;y=TK)ffaR}$;f7&wfi${4c9M4-4iMCR%ejj_7hwL};w2b}OTpmi#p515tNlHfk zSF$b+u^yw<6%a2tl8JyOdg!Ox+nj_5Wcxk|WQ8Of+CoKt(R&lG$!YGndRm6T;Z)5q zpvZDmImoyIBgWiL_<#?U!=hvjR3A)(l)F_CdCweQz~bd%L{(NDQ(kc?z4P{~q43Po z@ti(XWKr?Zu7SHL)2`AEVuNfI4NJsGC_7g|qV4YP0obWdPo6xDb{sB^8KYdBA2Ix6 z5&4zx;Q#{oXej!=(H;9J*%xVel;KZfBhePa>l9#k3zC}USO>s%@BaPt$sayv8aCN? zE$uKBQ5b|H9s4j~a?|A(2Z+MA|hrjsKpHY6^kHJBfkQtKPrxDoS{PwqLasuJ(@dyh+fh==c z_Ci)ELey*^OS$Z4tV63~?emndfASEw5YCFi!E8*0x}_aDxZbY{LWsn^(9y3I!Q$r~ z$fD4feuH^gPZ=>oW^l`!Wg@N{I75e>u=G95&A3ODD%x2s;eh%j3G0^g&jr zU@O2V82LK+WS%(C&gWGiI*@OdH8eVQ0>ET{rVaYy?Ge?qbkB^}=_#7)Bc$w6T}&3% z))od6bWlJqKK;u>Kxg~RS#qV|cYvK4ev{+#tb=qyiv$dDb_Zd=kO>?n*W655pUEC+ zyU?attoDmqC9<}J!jM;^q=IPX3gt;YubJESXBLE#o-FOlL^)nIvnkdA;Uy52b?gDk zSlcoH0k5NQtAa0WfnYGkk}61;W88bdT#hj#-BvLtJX~ZHDIK6ev+@MbJg=FJzU=F4 z@AKy%xZsQvp)LK8cs(vaCidu<^BeW9K*<`B+@?p_smG($b=vb#E=aoAcP1flcAQY| z*K%;~ko^&a$wh9EDNeRvwAcZN3fahFMfpDKSyxxb=ZMG>;TDjOp4&J|X4Bb&P)ad- zT;7tJaxrooRAbLIomI`LJe9d5yP0XTz*(fA+! z^g7b7w5!1Cj)Md839w~n zLFe>Lr}WmcN7s7|uxuMcuo%bFj4=o2m^ovHhP2l=&_b#QOz>DMz%tt4aaG^_VT$XgEnweOMm@ovRIB!w~*}}7_D_=5A4UZPjS_L>XaV;ne`}ir z-9ejjs?OE(wn)lT1Dc3bp2eqCrpU9JXxXd!!!b(3fQfQJ+r|efKp)BHSsRDXsaW_g zfG5v`y%K}dIBDn{&L3;3vBx!Z2z53?KYlNl;shLLCQJOx3AL-N@G-l@>jFh^K4doQ zt1R*QX5dOce$IPRK6uesHNJbi*`2O~*YyxL{JuUU4m4nWGmjL zy6G-o4$88pp9))Dn33?XJ#^p&C+!0n8OzvOY!c3m8Fo}V07h)#fUgs1^-+=TVZVj* z3Jq%8m2+;-ql0O6OC11OJv`Ui+RiZ6Y(GA$wgmSeZRjZLBwO+;7_vYGhS^!10OK8b zg#mB-4Z%t2PXktZh!>YMSZgZ{D@FLD3x=-MMu0fo9B4>z_k?wSGCGCOr0g8Kw+^G& zUgUy~%5`m3*Ur{$uK&O2d*0(ec++x8WEa2rIrWw0x7uafOlNVxVNnHbrMUM>>^$ww z2rzRzN3*<#1ZU{KJx_Kk6<^v3i%SbQe$%Wi@}K+7$5{9NcL0tAypZ5lm~_AA%nZ}uwp=x2|Gz0iwsfls0XC| z2z)39;K^g;fue>1 ze9U9TO-RGh@&lTYp0qi0pdD@`)>ob~TkwQ0T@Fc1yUlC+6?Pu?lL!5KtbqidBOZ{e zdQZOGBbiC?%OT0n15w_qd~T+_QX`JzK0<=^-v%H`eFa0{~R$p_WWG zya$qCu$yz6$x;T`0&qH^xg?y&jDjw*_?YbiptMbPu9;p|!8m}e3CDYU%+@fa=t-*X z%1L_R9EE_!o3!b=`|T?FxtcYSp7O}>UrQISF%%9RygHMY23~-U8&?56Xx9Z8w7)-* zR-oD4y?TNyR8UYlZ4!%)=PIS!xjfgv`7>xkDv~&VQ!5!`WW^Pcgfm4}+vWzDx`%?u zl$1BsM>gOFfc!Rghm}o>3kJ5c^zWML>qK8+Y=$iw(nH?in^Xg;l#>Z}gbihNgb2Yd z6>A1=DF?vkAb|;8;-0Y`WPEF9V+bI>YRDWcq9?NU)GR?GLt18!pFiJ9Kiul{U~E2( zVK?LVrweB~X&p)O((*>S^~Gc4rFP4H>f+uD@+)bbhb@ko-A5?l&K|T6_tht93wjne%(g*U1xByGa_b~iIGu5 zWg)HfHrLEd1;pk31J5k5=>JzU#csjy<^#}4Z| z{B#^TC<635q^JI7>c%JSAxnS%csX5r|26i+3{!XpTW5^+G-3m0iH;AAbFBnTG{su( z0Aib{bxd-ZU`knqL9xp8_1%ZGpkRn1>w1daW1G$$Y&N!&bt{j=omrA`4CohN)8yn+ zs?Q+o&W^JL9N6E@5$L#unGMSNV&o(KDSJ>{Nx%|*E}|l@h!#D0#{gFmbl09E7|Z(E zR&9&S))IWe=FV=~Z>)zbDrHffuc7|Y{*N|;$R}0^`Fu=(7w`{YwEt`mYtNh>T7cMo z5;ue|_8%Q?tECvs%6YUcHsSlLfVF*H-RP|?bUAteMPk6~(@#Gq6PZ8@%mxKP$A{Sd zYuH%^n79v4oUz@_x$g9f_unE@n8X6sLOa*W%in(dd0N`y`AJ%E;dZcV4a^|MxMgPI zun%v&euaT{v}A!Xi^)z6P#9Viv9_I|nV_rS9l7xOnf_k(iRu)v50RX2h9=V|x9^2b z%Z6i{cBJ!XX`MqGn%U`*bm_tc0K=~Ep$rvpM~}vY>)$UTsMArx=bs;J-f^I>KQ#i7N`E6@GPyico_+!QJN)Py zKARzc(2(vhWH6H9|JbwOe=8lfIe*wdQ{!m|OyDOUewez?zeKwk28@%afs(@qTuonp@yGP5 zfBZGR-cZ_MU3XctJ#`{lD_Ar#$Y!olqPJnMW)@R918 z2JBB-LD@oQaOfGsBk3=X&DqWjl(q(JRWhqh>U#S4NxFOYPWWHt&~FufwQV^OPtd&f zH`TSQwSBLj09b$i@gMMw8`IDJ-Mi?Gw)E)kXUyqoNG)ftq(Z70)N$HG`YB;QKtIRO zx(O-Ye8ar6v1!h!or|xJo!Zn`3C&-_j#V^+eSq0mMJUGb?CA)Y;0*nxX@9F9fKjZh z*6)#B;}yn9*2mD+IzUHap+LVJ=K=g(JB;P!0^(pk`K8SQi}_boJ>-m z^YC)6zWMJ?H^|tq53)n0R0ft#kTU@@pQL8e_y^iLFse{e7`;!P4MzX7BMdnWZ-<7E z+Z>rmwM@EvBy6LHxT}HW?IcdutmGRS_j^(`kMZKm#DF2xivC zwr^hf5Z%qt>qKV@(NCLEzF`h&3yLIj+9+V*2@q z9}rpj9$+$}sVRxVMj`>?Qx?;XQ3;`qPmHooH<`JeyW^z&c*gyY?FvvCnf ztoN_}=_4ja-;4Y4Q}T=qZPtjtdoAg~vQnSXQc;;w0MCGlfL!!N$i-9WN%-4ZCSck$wcZMefz(T|NtZd*&V?h&jiN5HMI*OO!;*Pt|X z;JHCa8@d1#uur%{P|7*?K5HWg6fy)WVR@N*`)cuc#KRMaFVJUc=!)Rv?(!v_W(?9|yxIs=`|Ok4$dPVFtW% z#bAnZQUJ+yJ;dnN;1WJ`nmFfW6x#Y8!JKOmH z%w(yo8I*&r0K2_E1T6Pjn%;P~8NEPB7kfNBJPhbrm5NxOg;j!KI1xyVw7-R8gQLDD zol}x(A2{2@WGL;eYar{O)J*LN9dnR*jKWw7zeouV7Q8)E_?-okk0in zzybqqVQmfoxh{SF<)^8-sT8AWIQ2Dmpd)ZHP8(R)103`^0trmT9v@_wQ+~R8ivTC3 zr9weyePlDhE556JsO3kqjV&Q|xs^@IL>;|sX5Dk$$LF9MdC}GaI+g;?5$Q(fMUWBa z#Fz9YUCG1BHu+LOkF5-zkSlDdq(LDsm%zJK7}VFVzMlU5pZ^aGn`(gcIB$9WIgEaz<2F?SZgGvb|dKv&$mV3MGr zyy9J%*(k8&Xwn_H7Iu>5n;E?*y=g97jj+bkxmBEMjn?HYlY4*e{S=NDlwRc<=KF22E zTz+|NU)jK#PMdlQLE!t}A7go{z>SJUdu(QMlEGhO&=E*4BwKHT_7ER`@?{#P=jjpp z$1EcQc>?%?!R6ea&T9^~iB4#MxA3m}5ZM;2U1X1PceZL$?y8>+2Iy36(9_@f1NIFy zqg*{Jz;&v<;@WYaR-lCr=KNZ4$`cL$>@Z!js%z;fh%I9^iGy3?Igv%mLD$~3@OhmT z;JTX`;xXQXHe;dkiNCu}(x8C#Cich3=qT;n=!Iw?mFt`EDbtnHN1XE%TTQ1E;hfn4ZSW=MQ4g7&230^)&_6mz zu`Xb&k!nyS`fFk=h0#x>?!X4OBw2Lhe~V53g#N<@qNs- zpn3V<<84tQm>uiG`f<^a1zNxUb9kt-!62y7unH9K%a_|I)olzQIo3r*?X|grI?wOV z>C>y`B9H`#U1#^m^|k$swv~GmKs2Ai`+)vjYn~Nn_z?MJTNuw}b%&YcK0Fi@yr>Ns zz_-`-JaH{JMWMjCvgb!WQiT(sHL`%)i2LKp#FkCi;7C3zEg7tqo}XvEdmp|8%sIpZ zvvkKVQTh!}%d%cAyAH|*L4TjgU?9mN?3uv!+_vBiHV*n!J0}8hK?yt`_Y}WNqsTuX zRO|)XHIQwzwKc`HRm}7`|6K!3}=1F!iuvt%q4>D<28%%m)u-(FT+Fga0_feKw$Hl3 zsl7quYM;KR9c}ew8WI3zW`+Dfx0)<~gl>?&F=W7bsdS?ZIFDY`R&^fcZU>L&lZk8s zP$6vrDQsqs`5RfLeUw&jZq7%7M5eF`nbe4FLNW*U($K)b)~cNJ!o@}gW@W25Cnr|Y z=pbvofNfiPN|1?GIJ8o!Z^$r%q$)nU3V*EQiz?@&4Rt^TK+f5VO|0J}dT=Yvj?ssh z?Di|y-%P*3hT1%s#>OCv7jS+BS{5WNWUmeYpsnCjR=EBGWmXCn5FlTerL7Cumsy`s z`bO77{|08%kJ^c5;W=Z8kA!b;CLHWM}+d!W1jy6TPgSeA5h(@tUcUke#fG-W%wY>Cy1&&5Hm{PBc+!%qWgYCCa$z0 z)8-+A3%?IeSy7}NVj_lY8A%eTK8Mvh6kYwgO+Vz*0*3sN8JT-PYdR8YE-(~xcJ49j zv_uB)%jgu^tN`{uo%jwrvN`1B1{t^Ww4JHO*SvP)5`jwk2rturzp8;2p!i4Fu;m0Q ztp3=iqPM0RppRbgnLOK6GPeLe92{KWt_T_tC^#iEdzA{7Q_9i{8PHwd#PC4}e&$-~ zNlTn%TG~OsC-kC5*rt5I^s@Xi_8Z>}7~<~3hk$5pslEvQq1?TcwmPm2I2MOvyW-RB zp*!qV+(cDM1^V(i0BtYfBKF+2R_c|I#n85x!Z!E0LT~F6Z2kThx}kF_Bk5^wf>r^z zaC@?00018ZNklA z9)zwBu&K7Gpc|ifo$6(0J+Jmi;3Z}^v3m9 z@TaTN@Z3bq2j~Epc8-th?(8ISxUu0O_BNlEGmXK|HO})OvvnPierRZz<912FtVh38 zQW;i9z>!KvFaRsf1!xUmZ4hLf0+Uj|Zcq&q7#`2K#yM)h`0AMhG&?;Ne0=uY`M{D4 zicjDRetPQ*GMwL}ZAEA52efS>u)0B@W*z#~Mv4EhCuXPTkdy21?1j|b)rGG^HZ(SY zYi%;pw_o2+|MXw~k5|w7`aZ^=Evej*EZEeWFJ9qEW8um7NnXGHpq?~)H zCWxuMX@K6OMlqhI=4R+i)+o2VEE|aL?RBA_Mt6`H3)uok^svvQUX!RMzNdCHDP-YvvMH@j6%4Fp~G|d6~R2#Y9CF&`zI|Gi| zOk2>t_U3s0C1l17fzj_CjiiMU+E!*(@SCZ`!0$fX!k?fDfDFtyr&W{cI*OsWHv9^W zMnn8s6(dmxqJ5uh~!!Nvp@T@)Ya9Eu?{c?@NDL$WkDLb zp|DVLt(11u0&F-SW}aw8_JvA9xab&!v%`7AxaB&}4Of|80qF0;Vcan#6~XJo=O4WJDr@yJkx7&* zpU*|m(9FAZf4)o|ch53{_$m9j#T?<()smNtY(75%Dd zyuM5cG!$+GTre>rswkull*He$$FmrHX6KgR+?jdix=MUHX(}5Q5{H0iEh1Zho;~{j z1V@0OWq@u+WH79(xt9Pd0L^AZ9m4!NJ0(0@b4_LX>Cb+WKK$ViAUvZv7`8Ati^f2* zFVoG>Z}GesI)EYWtMp=IHvkWQ7SvT3D)cpgEUk4N><^{$sgvRT?!j>@2w;!b0D*Ah zTt><7*(~3c&RjcN&6w>u&l;al0(^=gWIxAhB5{W2b1BI(8(ctG!_mm5nVeoHTB#ru z_72RxBm!SbA6v?8%=TPf!U>`Gn}FfqkYy;)4jIiFaGDm}S^%;dMpYP3N372w&Z59z zcCZOOrYN0X1;Dl6WqAo1E;y(PrLuB_58#!?8=*sJ9=cayVpzEr8hfsf?O&c}{|HXW z-)3Wb5;Jgp9t|NgZ_H4aL(I@Ko7+s@LqJE%g_Z!#6T+zu8ZmPkRn4|BkcNNT(3nFJ zl@SYz3|_>*60i(oos#i<&ehV|My3E!X%wC72Ys|W0Nd~O~H2* zmYD$6X46UI2tgOjK68f%;60wv@l$eBgQIc^ zn2^E3bl(FI#;`sm!^n(N#3arbZAWxA2yT=iqikssnKaOoG+`z{1sN#|$ZGjmaEaxo zwa!`kOAc{O0*-*l`Rth`{A&arYAJPJWALQ>S62-k;27IRLS7SaIv`--1mbC0z^oD7 z-{+oflTub+8Ue)_ngC0t(S%76E1EF@9Ijo^sr^)hL#?4DcE}lXrbDh73U)s675JYd}xXpt96s z1r7}gSZXc^qs~^&2oU-bn5wO>O)tIl68mv2UA=sTeRNVd*Wnz|dVtRsajgJ$6#iV_ zED?ujI8FTo!_DIyylTq?4q$h=8+a@9JIv}eWm;k70E2kWtOJXE0{P1SRvO5s+5+lG z0cM>pc~Ou`Cq+50elg?rkb94^dQ_|LX$J(7FV&cM;}{aj>` ze^o|!yz3T$Q=ZWacnSAeU8?iL3b4+GWL;Cli&^Ikz`1 z4+kxM4+09#YO7SU&M&`o4&6=S1oSG6@Q}z^W_TcLGGsk@15%@F>GPW@EpOUul5ODm zTo~35y&nJ**YiFEetGDiX=yxwDDQ>CWBswkr3nGDXrJL}d{{mM$Fd9VhwTHhdt-YN zn1pJ(RTc-?BF{j>kTUX*^+mVDCUIQQ1g8@8=fZLS(xA^0!|IfMt_^QE0M^XABV<%o z-Y7)mHZPH-)2!^^Jn|9e6Z~^83^FVMG75AZksx5OC;NPSj?bEaqA$TyLr<))z6-oD zGdqY*8Be*pWN`tS74i_z#-DNy{S^5>gAdmVs5H+y(g(hx4jP6p=*v4ZImb){GxxAD zSdT(<(F}<>;)q9FqpqwG+M`_+I%XBS${7nL;2Tr^};16`Cj zlfl*2QHPDyzQiXOLG;ixZ1F>^1^mF+-7L;lEVQ>bg1hfIK7DNyAi>wpnqhkcG(HZA9W4r+FAxK zmSSr;uzrU59c04JF9|BpPQ{rN*ymNX%wWMj7~>vxkp=qDx%7Q*rqzduH71_yZ0cJR z?4#;(h4s64v3vKWU1XL#AG!zrEric)r)BR}6E4)zCc4Qp+UHz8WTy9`V%Lx75<_mki~40R9|+{aHZUM_RCuJXAmdgk^H4A8$E{-Kq?$g^#RS<>gVEGL~g*A9@j&2a#D^x5XoNtPj#kpQp{ zqHV1Gp-)&u?f?E3v#+q(8{0YwSS6}r@c&4rsK@`VfF}#M_o#^CA&=mLsOHsv#Me1{ zz8`)Ux_A)~fgYzAbvLU;|o?=~W$+WgcmBcc0ORDq8#O@XNCj@LFXcD zezTu#d8Cb@9M=ajknzqt@3Dr5+%v&j=)z>2>B+_P(dT!vm=2G2$X;*3%Zp@Vn@ye% zaBB792k%}>SI&1qd+sST!gDw{^VS#N(BpiPz!t$!s!rYGU1qcF0C2^k@jUu3)!-FB z|M7bS#|bDTYDgxmAeqd*y$9$(=M^|O-8>3yhP9=I)Pp_mK%<~5 zm=+M~cIijV=F*Fo=!aey1JLX6RjyrrN!5aUvlfD6Y!O?7Pv9C0Alkao#3S2? zEF;t9?UGWGxVXKis@iXDI``Qxyqj8~DiUv<Kb|Y zB>kuV=kL;e@V>6z9{7~%c>JLZK@?jxRnpRSfi)Qh{BG;&PhCCm2(n}cnKZkwg5Fw6 zy;Qk2(Wkz)x-y%P2b0cE%|ud?epNlKb?WQtpvgQ2DlViuckd+oKTBKga}79#_MAAw zDe|zKb!$JvU|_J0p~oZX-mTx$%I7$J_zqd&(BL9%o{AZCS_2qeLUwd6l{kX<+MNbJ z_wa+izW~-HPy+Z@hAarJ&WF`waWb z#mCpbP$ox$0X)3Rx@l8Bx7D@HHEXn2w6T1JO~x8w&4s;mf{xF?Upd$Tvw+a2*e@+q znDjH8x1NAdKE5;PbI7<`H$SIa!x)KD4CBS0$R%LrxdYth{;a0d&a*Nm0Ot@e(4(Xtg2VttdDRk` zw;zv_bv4Ok7*;m2nFUe28J#DyFT&vBdX{mx$z!8q5rL4A!}!y{FXBZH6PJwG1~3yYgas(ou~7vNP<`oI3~zoEqXQL1fhLHSg%5n1Eb zi~%q-03_NJPY(T%tmrJ4np5P0^bBOqZ28YskA z(je6M8vtaOz1%}3_v|{(%?aMy!HRyLmS`Xb$^nd8f)U+hIS1hK%*+JF zLt*+Wf(?JpmzlN#iLRUdTW{XFnLZ^-3ORB*~U;UB9l}F;Qeb{d59TtHgjKFvTxfwbZE~cGBn8wm7e$j|7qkx zAKZ(tEWN}T;ys-aulO&t#LwWgIOytoTq$G zM}ShsMS>OE+xAH#(xPj~bC~I_;Vxaf7Sc$b^o{@#yw>P5yFA-A!>lVo3yfNNwY5;* zR)iuQ#Zb01SpFp-AI3#@Uq5^S00q#S%QIP;zXhP0p_Pc!xgS2kS;62lla@=N==P)U zvCei|ODnQw4?3R;o+#&d2h{Bzl2zg+bA7Wuy-f#XDXq*B(lE6bvJ<%F3k9!hWQmbO zTg>VZq_!oGl^152NC^si9cIBfjpA~EVl!YJlxAjj04o?3PTchzg7RUIaNn+oi0zH5K`Q8I`y!R+;Ls?~M;Rcr7Qm3htQcHlHgEwBxI+NTST))XtV^qs@`G|OMd-GGN#1vT_fv`l!4vRb3nCFm_3 z=L2}95y!2QOzf5A!PG@b-YIK`?Ml`YrDFib`8gFB0?;t>MgT%1&OOjs65upo>5vag zj0&Ky7;*;PTK%$#i~yQJKCq1(tK%S#Iy_0^?TCzXs|rf#Tez|g7|pumQ8L}z-bA2= zOqn_YF=W7xjn3ex@1_@CYzR5{&;R9*X=SF2HLgR^lc|m@$VXqWbz&Si+)xY*Abscz zN~b!N(w`Dfx^}-@3-wt!fTUT`SuhU0#B<2UkXSf<73f0u-pq{}vISmy{nhl&JMYp? z>BaawrwgZa7vojhe4gd3qv|k`=OB!_e20M136Xq+T>x15$S(Dp_oguyw8ZtzO6HBw zk=$7D?=HuA|2jmLN2(Vbgc~ic_-ue(94pv&#FxkToB;~Kzw$gEk8`t~v1fumSsh9+ zlw)-h)S1c;uO+Sf8UM#E^2+LYpV>9$f#Z5!!}SZDhG2<+s`t

JKx??B|__PViX; zV0{U)g%iZzvqQj;IpORe%eWgIb+6%G3MSh#(7>ZvMu*5KZ^37btTi?*2YGPJnz#lY z%|+;HsXo-J9QiMiNJt==cpxlAaY|f3&kx!E45q}aSaoyZA_koke zIU_iOERT$QY#C*Xa=>RYkgUIAUtCYeM_60-g!Azr$mA^!^X%CraQ_9)qcsbk=O*Hs z>PMeHY<#XAJk9q~{04zfdD;!lpGuFd81UdefN?lN00V=BK}gCrNO?!5T)2G9Z?MB9%YfQm}`?aq)LP5);c=97ap zdJ$hr%d@*wdCjFdT4b$b$7!!tVZW~9_zQZJ(B#(&v7zy4DlsU9r*wC18J)#mHZ|u^ z+DssPWfA*@b`-OFX$i1%d4tvywPduOB@?X-n-v>lex8o?Co7yl9R5SZKmwLDt+u|)z8G`@w;sSK5u^zQ>OQ4a7`2pY*J zu~FnAGBT+kl*#Q?9<6hDW}hWwJZz+|tn2}&LoOkexR$Nzig}}{sha9PGX4+f8=ZE^ zX12fj4uD-VLp5vC@|HYOoE9c#@Q*qHkr@1j5A*oRc$%gE^bE5>^1(n}IQIhQX8_vZ zU;vaQB!}#rVAIk6x!{mW-E}gyGY6@wyB~fTh1ZcIRK(5FexZ`<8~k;Sl)jC=Q4tlK z_OG_~{KCKsv{;#-pZaX-W^ncieY3aVv0NNEWltgCWDe_nj7?}zZ;$;q8Dijkcl3W= z2Yiawk~!P7`Xum#KGM$Az6#x-Zy9rZc2i4FO{&J0o}L6eLt@&#(O4N|&Ckdw_B(7E z*7tx!h)R4@XLuaYbF`(Uk@IP zG%P<9K@+Z{NtgzqO$hN7!F1&?Yb7tquW75I300Ih4QvjF^=G)F6*eG*#c=9yIk-@bY68W>7xRN3y} z7dpSAzP_2Hk$ToRFRd(+6;4+98X5WqYV@sa3D^u+@AIwDe$!b`oBDp}+m==a6gCk} zga)k=KE-$4UzsHsw;l;sL&HxZ19+d7D>uLR3R)rf$odK1PmheGxiJEm%*MF>_PZqd z;2$BQq-pyGclS0&`-{$oHiFqyvM$et-C=;%HD8C`rUAOoonc^TYZEhZnB&ym%X((_ z_S>(&PB%aMENwy~`em+cBnYs04$5q8ZDHSzV@P8j{?LmrlP!*aZ9r{hVJ1yY(kWq? zIScfjZfk9$4F|w5=h2QD9UG&PcbX2xv|Q}!!!N6a?iSLoe*GKzrjH|Qpb6He0Ut9* zAK8QeWSCj}17u=%aG$gIkiY!p-(xQvra%3~&!X@4(tc(mY0A9Xe(j#qbsyEa2om2zV^%Yj!HmiOW#WSRDj*#^km_}yUsdU zqRrDilHKSNH{x%#veX>m~MaaG4_`fo|QY{eHJ3C^lJ!)8rc5-0JL~c UJZnYalmGw#07*qoM6N<$g8NEV%K!iX diff --git a/static/images/pinnned-post-icon.svg b/static/images/pinnned-post-icon.svg deleted file mode 100644 index 8a13fa8c84..0000000000 --- a/static/images/pinnned-post-icon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/static/images/upvote_arrow.png b/static/images/upvote_arrow.png deleted file mode 100644 index 74ebd6c47b6299cccf06a945a992865b409ea324..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1362 zcmaJ>eM}o=7(YU?Xv1Qra}GAP^U#eMuJ=KEUu$8dAERRh?An34IInka;VjoXt_Lk3 zI!P8mom02W2+qaC%orRACK|}VkvYSRG6{2tGbXr&k(nh1<}x*N@hwo?A7q!@z3=?sW75u)|H~bP@a!qfoxkrndNznj^OV%O) z^{ZkX2m(=VY5W#A5G1=p3Duglf!%_nsa7$qV@;_#L?ei!G^LAD447yH)G2W%_Q&Zn z7^=ulti~Q71G*d3E9I>Q*wb1Wl3HUDFJq-8s3Rpn11c~@G^IAg6GF;~E!Y*{J}o9N zbV0?8Ik81jwSj8Xtr-BdTNzxUC<T+T zAV_FUh6L*oEy#dj?(Xj>tq9o&RfYnKA~tw5sYwNK)9-O&@Wv`DvcS6-59{+XEJ=|R z z<5z)xm$3YOv4YzGqNy1nO>4+>Ky|%lYKeMHN8Rp)ilc=AQBvY*;kI;<7Gw4RLum%G z&(KtKABhOIkuoCKo$2lJSir;bV1YQC zCIgPm)xz~Q1j&l}J+4sd^3c(-U0?55doa9jFnRIhD-Vs2KT$QkH;L8uv~TX)TP+3G z%;m04UfI>y8yFd$J^Nse7=1VARQBdq+v=`K7jk|c`@CVaara;C&Cd+Y79JYO?z&sy zSXH5yANx!VZ|r!E487={Jgas+Iq@+Tp7Hlg^}OEhyWIc%b^Wa~+xo4~U##EQcAT5` zWe14IFHzIoBjFxQu%AN^>V436C?xo!FVTuH%v&elV&zUwnLPT8D?+y2?oD0i_l?dy)Q@7%Nm zD{ed;E-Jkf8!s-un)hj5Tf@N3P5DQHj@fG;{&uVT$`{8S%uw^;zQN9)rhm~VlnRBP z+}C?L(fDs?Dywp&R~q{A$PZ7=Kc?qczuSHn`D8lZA)JeCA3T3zWJCUmiK&_`U4M3# n9t@O+|IX!*{a~)@Ko&BWU(5+e3myLf2D#%G diff --git a/static/images/upvote_arrow_on.png b/static/images/upvote_arrow_on.png deleted file mode 100644 index e57dd9f05124267745caa276aa34ebb9cb2755aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1365 zcmaJ>eM}o=81H7Xuq|X6pu#50c}Qf@>)m^__Z1537tqZzq+LeLGPqt}$_ecq*Xvr) zYy+10@sAS*i^jw$annR0en2WRWpl6?F%#ytOp(luKW4-tL#LaI`W7he53)<{-uHdp z=l49n=j&dotSC!gw`rZhU`ThBJF3vS1-+SRYtZ+F-c!$`B}aEw>mH>}kBS;JSpA9* zVy>VVfK^cRH#dC+iwuSb+GKCFUhRHLkd&ZNOzIe8K^375hN6;~DoPDd$9ym#hb;K) zXJ6o$?6=^%&2GxA+F`w1-l9QIONCczX^?n7UQ&z|#ROy^2z3#Q1sg+QA!flB>|S8A1X8U@UJ0X0DJnKZ(&4Fq0Hd0*au304RZ`u%!n_ z-ZX!mP~|9H@`X+oyk6H;fh42Rs4-e-RI~sIc%COInxtt0X%OM&kS@lEP&hAT!2!dP zCab!vgs`MV(WgXo3yzpBh7eTU?q$QF@KT~s%E*|glE6rj!C*431?{k21^=h9qITHZ ztU|I1hLwmWp?cKirNAh6_ji<3L~Mkenv9AfHaZk35`-b$<*?xB#^{&*0&is;Y^jrB zDL?_>WO<6Cc!srFX~s(107%(b2@7nj69C4>J2`t2Yvp*Vw3IWkHiolOHa3NIg~GZR zl3>cOjQlQPt@p(Wb`6TUqIngiG1UQ;^@^^9>lGEV+ZQU16}Ux74kd+KlSNvL*#R|q zAM}@MN)TJfvLLU(!befOi3UD`h$kcAWw&6Gr&@Fl$ep6o4lDUzT_ z)D$6sVmK)BEKfj&_Y(lHA|X+C%CWgaFM3GE3&OMEk5~1!)ZkNXb9hL_R zhR`%=Xl#yUG}Rdlt7MnM>WzIr)LpXU%Wc`CAH;7=Uz<4b?{NQHuHx1nVQpLgmA`-b zq-~QlGSYWE{&GD2Y^FLpewj?cnA=%%=_=Eqk+J_3jUczT5om`0o#0?I@D(K&hO?}6=&lKY4)roBX>w8D1Y!~L^CzXt{?wDsP z5NgiM>BIWZZs{7i*?wUC;2L?)qr0S6(xX%FNPAukOimUK?ez=|be=nWIWca|oXfbI zT_MN?#AruDBx>xf*;v!+`7M#%_v`e9j=Sk^9Q>vGX4%yvou3bXdfgR~YHpu+q Date: Thu, 31 Aug 2023 08:36:10 -0400 Subject: [PATCH 14/20] Remove infinite corridor feature flag --- .env.example | 1 - app.json | 4 ---- open_discussions/settings.py | 2 -- static/images/star_selected.png | Bin 997 -> 0 bytes static/images/star_unselected.png | Bin 1165 -> 0 bytes 5 files changed, 7 deletions(-) delete mode 100644 static/images/star_selected.png delete mode 100644 static/images/star_unselected.png diff --git a/.env.example b/.env.example index 79ead83769..de8382cb95 100644 --- a/.env.example +++ b/.env.example @@ -1,4 +1,3 @@ -ENABLE_INFINITE_CORRIDOR=True CELERY_TASK_ALWAYS_EAGER=True DJANGO_LOG_LEVEL=INFO LOG_LEVEL=info diff --git a/app.json b/app.json index 4e946fc5fe..ea1fb856df 100644 --- a/app.json +++ b/app.json @@ -152,10 +152,6 @@ "OPENSEARCH_URL": { "description": "URL for connecting to OpenSearch cluster" }, - "ENABLE_INFINITE_CORRIDOR": { - "description": "Boolean indicating whether infinite corridor is enabled", - "required": false - }, "GA_TRACKING_ID": { "description": "Google analytics tracking ID", "required": false diff --git a/open_discussions/settings.py b/open_discussions/settings.py index c36d493467..c2f311506e 100644 --- a/open_discussions/settings.py +++ b/open_discussions/settings.py @@ -617,8 +617,6 @@ def get_all_config_keys(): RSS_FEED_EPISODE_LIMIT = get_int("RSS_FEED_EPISODE_LIMIT", 100) RSS_FEED_CACHE_MINUTES = get_int("RSS_FEED_CACHE_MINUTES", 15) -ENABLE_INFINITE_CORRIDOR = get_bool("ENABLE_INFINITE_CORRIDOR", False) - REQUESTS_TIMEOUT = get_int("REQUESTS_TIMEOUT", 30) if DEBUG: diff --git a/static/images/star_selected.png b/static/images/star_selected.png deleted file mode 100644 index 2f284a12b8e231c496e4c8a0b67465c6d59ea5bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 997 zcmV_l(EgS zBoU<+C?OP-a|A*?=tgh7iV-9Qwap+9DyV!c2>*bV6Lt5TzHjr~?(XiryCZ`j58QqK zf9KqDzw>=(gj76SzL3BN1DTAblzx)DHFf(!@1%zl8N|wiZD{kDl#-;Av6c;;eL|(H z5Q2Jx;j^5RC#YkTUKLCvGNbW%lvPI*aL9LpS9z6544)`y|N5_|t)p2#iMp-Qz;nu5 z$xEuffX5d(#EI||B6=vH6V$;5)1yN#&{0JalpIC}R0<+abFNGvk3&U5L2d)`Q^~k$ zQ<2bsLu)K({@Gv1xgW>Q-`G`dfhF{-Uzk0Dp9*H)L8^ftY$?wmBZ1L1zbMX!{t zsD5)xz+~`|V8oqMcv{MmLKe?M7S~HzOHE&sQ>thkB@bt*PV%-XCX%bIvq2x=_Jv;` z4Rr0*>$l{>4j2^#{oa^ap!L<|mzeQp08(ET2tb<98IO<*GNL7! z?hc0PC~-6r&Ksdov|{!89Z2smCZ-8z)2YPJN631Zr!ex(MG8oTLgoZ9OmMXJK&ODg zi6 z$^ZEdczodzd^Ten9Gd|GcYt;{TQ{LfHScfoeE&L~DY@8HGLLCVu?yl2T=6J8m(uz> znA4jYdr)$x(E3>Mf3&ER7rSc~vp>HHGKH#rjsxTIP zS7v4}>2a*&lFOKtGunjUh5G@VASTFQZ7u5`kHuCsaTi)6k?ji$ypL1TjVBi_aM!>d z*Z5en6@5OhKindyXlOmK=V3G&&EFL*(ZL9QY@XzAb1mlsO7n$qFM&HA@$xv1qJNV*5q*HqO7Phh%l0lM^$c9q;4hnBp2vkInDVp`uK}l zQ<-v63YRa43kp#Dr!?U&3BtBiJXXh|0l;ZMOeNz(uN5OxqiaQhGH!n`Xp}4R#pSrA z*VpGFPWufkWa`fj$If%Tkh*-KCxpQNqLdYFpW7Eaxah@XpL(4I=?RDJ8v^P>H3g(Q z@Mbj*o?dN}+#B3ljV+-W{UkE<`1{;FuM9SdFiE6jI=T^WaO|<2Z`{v$1Z+thIV8;9 zG#K56(R z0?Uk8t1RnieCkdX1#;Lbo02)h{)SE@CjfRMVmASBrblB=7GUE`>Z)u8C+R->g>Kym zBrrj-y~5zEpIBcB!FkGxeacQMI#SemekJ1kd0PS+1=gebb%hW+m0xyzCNa?O}~BI;qW?=D0bnUvoI_akHf|nQXFgrPOvJ8qHWQZH@~2&fL5l zxizhylmK2G|Mb1f?8kVfE4Qp(v*1dx3f-E<_YugSw9j`Nm!yN^9Ykq)<4Q8PkcwF* z#m-z>$_PC}E+I%$cEBlO!zo*R!xX=}7?Tn4J%Roe8Io@y1!&GAGz03*K(Iq6B$SR1 z3D*}Yjlnl4A#a}OV>XFsKYkwj!id$%dwSI!1)W6gMA~+CG;*ggL@_ER#hut(&(CH~ z0gz+K(b!vDUk!CD>f1>0IlIHT>C7jGu2%A?Iw>B=71-TEa)14{rL)Nv4u|PmFn=g6 z9l!W{VfnI#72h7&KVxoLir7lU%2NBoYj+WlQt`-vQWat?8wS(huj?7-5zI*BAtE#Wp znkx16<>>%@-`M_)H{RfE?r-gqkFV;MrF%P?KK>!{?t#gP^uf;UTh2GNu6ez!TmGu` zQ90NCv^Ozx;cC~>v2X7Cbt3gMPu7aow5R_4vL>^1JnT%5M2D>cbIj$}0z}t8W3t%@ f;I>P&)(ZRsi1Kcweyc>h00000NkvXXu0mjf Date: Thu, 7 Sep 2023 07:17:31 -0400 Subject: [PATCH 15/20] Address code review comments --- conftest.py | 1 - embedly/api.py | 2 -- fixtures/betamax.py | 2 -- open_discussions/betamax_config.py | 39 ---------------------- search/management/commands/update_index.py | 2 +- 5 files changed, 1 insertion(+), 45 deletions(-) delete mode 100644 open_discussions/betamax_config.py diff --git a/conftest.py b/conftest.py index 6c1c392717..81743ada25 100644 --- a/conftest.py +++ b/conftest.py @@ -3,7 +3,6 @@ import pytest from fixtures.aws import * -from fixtures.betamax import * from fixtures.common import * from fixtures.opensearch import * from fixtures.users import * diff --git a/embedly/api.py b/embedly/api.py index 6159a4cf28..a5513eba15 100644 --- a/embedly/api.py +++ b/embedly/api.py @@ -3,8 +3,6 @@ from django.conf import settings -THUMBNAIL_URL = "thumbnail_url" - def get_embedly_summary(url): """issue a request to embed.ly's oembed API endpoint""" diff --git a/fixtures/betamax.py b/fixtures/betamax.py index 3cd1fd2c31..c44c4a96c1 100644 --- a/fixtures/betamax.py +++ b/fixtures/betamax.py @@ -9,8 +9,6 @@ import pytest from betamax.fixtures.pytest import _casette_name -from open_discussions.betamax_config import setup_betamax - @contextlib.contextmanager def _no_ssl_verification(): diff --git a/open_discussions/betamax_config.py b/open_discussions/betamax_config.py deleted file mode 100644 index d5e1350917..0000000000 --- a/open_discussions/betamax_config.py +++ /dev/null @@ -1,39 +0,0 @@ -"""Configuration for betamax""" -from betamax import Betamax -from betamax.util import deserialize_prepared_request -from betamax.matchers.body import BodyMatcher -from betamax_serializers.pretty_json import PrettyJSONSerializer - - -class CustomBodyMatcher(BodyMatcher): - """Override BodyMatcher to skip OAuth body checks""" - - name = "custom-body" - - def match(self, request, recorded_request): - recorded_request = deserialize_prepared_request(recorded_request) - - request_body = request.body or b"" - recorded_body = recorded_request.body or b"" - - # Don't check body for oauth workflow - if request.url.endswith("api/v1/access_token"): - return True - - return recorded_body == request_body - - -def setup_betamax(record_mode="none"): - """Do global configuration for betamax. This function is idempotent.""" - Betamax.register_request_matcher(CustomBodyMatcher) - Betamax.register_serializer(PrettyJSONSerializer) - - config = Betamax.configure() - config.cassette_library_dir = "cassettes" - config.default_cassette_options["match_requests_on"] = [ - "uri", - "method", - "custom-body", - ] - config.default_cassette_options["serialize_with"] = "prettyjson" - config.default_cassette_options["record_mode"] = record_mode diff --git a/search/management/commands/update_index.py b/search/management/commands/update_index.py index 57196af903..f34be02afa 100644 --- a/search/management/commands/update_index.py +++ b/search/management/commands/update_index.py @@ -47,7 +47,7 @@ def add_arguments(self, parser): super().add_arguments(parser) def handle(self, *args, **options): - """Index Courses""" + """Index all learning resources""" if options["all"]: task = start_update_index.delay(valid_object_types, options["platform"]) From a46418c37928fe725915d3b3b2be350fb6d74c10 Mon Sep 17 00:00:00 2001 From: Collin Preston Date: Thu, 7 Sep 2023 07:22:56 -0400 Subject: [PATCH 16/20] Remove betamax fixture --- fixtures/betamax.py | 66 --------------------------------------------- 1 file changed, 66 deletions(-) delete mode 100644 fixtures/betamax.py diff --git a/fixtures/betamax.py b/fixtures/betamax.py deleted file mode 100644 index c44c4a96c1..0000000000 --- a/fixtures/betamax.py +++ /dev/null @@ -1,66 +0,0 @@ -"""Betamax fixtures""" -# pylint: disable=redefined-outer-name, unused-argument -import os -import contextlib -import warnings -from functools import partialmethod -import urllib3 -import requests -import pytest -from betamax.fixtures.pytest import _casette_name - - -@contextlib.contextmanager -def _no_ssl_verification(): - """totally disable SSL verification, useful for Betamax tests""" - old_request = requests.Session.request - try: - requests.Session.request = partialmethod(old_request, verify=False) - - warnings.filterwarnings("ignore", "Unverified HTTPS request") - - yield - finally: - warnings.resetwarnings() - - requests.Session.request = old_request - - -@pytest.fixture -def cassette_name(request): - """Returns the cassette name for this test""" - return _casette_name(request, parametrized=True) - - -@pytest.fixture -def cassette_exists(cassette_name): - """Returns True if cassette exists""" - path = "cassettes/{}.json".format(cassette_name) - return os.path.exists(path) - - -@pytest.fixture(autouse=True) -def use_betamax(request): - """Determines if we're using betamax""" - marker = request.keywords.get("betamax", None) - if marker: - request.getfixturevalue("configure_betamax") - return True - return False - - -@pytest.fixture() -def configure_betamax(mocker, cassette_exists, request): - """Configure betamax""" - setup_betamax("once" if cassette_exists is False else "none") - - # defer this until we know we need it and after setup_betamax - betamax_parametrized_recorder = request.getfixturevalue( - "betamax_parametrized_recorder" - ) - - urllib3.disable_warnings() - - # always ignore SSL verification - with _no_ssl_verification(): - yield betamax_parametrized_recorder From 96c689812085c751a438e16ac508903d47aeda2f Mon Sep 17 00:00:00 2001 From: Collin Preston Date: Thu, 7 Sep 2023 08:10:38 -0400 Subject: [PATCH 17/20] Remove betamax calls --- fixtures/users.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/fixtures/users.py b/fixtures/users.py index 7bc5dbe9d5..f2d879bfa4 100644 --- a/fixtures/users.py +++ b/fixtures/users.py @@ -11,24 +11,20 @@ @pytest.fixture -def user(db, use_betamax, request): +def user(): """Create a user""" return UserFactory.create() @pytest.fixture -def staff_user(db, use_betamax, request): +def staff_user(): """Create a staff user""" - if use_betamax: - request.getfixturevalue("configure_betamax") return UserFactory.create(is_staff=True) @pytest.fixture() -def index_user(db, use_betamax, request): +def index_user(): """Create a user to be used for indexing""" - if use_betamax: - request.getfixturevalue("configure_betamax") user = UserFactory.create(is_staff=True) return user From 0356490c9d84d4706d2105823484437195bfae4b Mon Sep 17 00:00:00 2001 From: Collin Preston Date: Thu, 7 Sep 2023 08:13:46 -0400 Subject: [PATCH 18/20] Remove cassettes test --- ...user_test.test_initialize_user[False].json | 4 - ....user_test.test_initialize_user[True].json | 74 ------------------- ...email_exists--login_password_invalid].json | 74 ------------------- ...exists--login_password_user_inactive].json | 74 ------------------- ...n_email_exists--login_password_valid].json | 74 ------------------- ...n_register_flows[login_email_mm_only].json | 74 ------------------- ...ation_code--register_profile_details].json | 74 ------------------- ...egister_flows[login_email_not_exists].json | 4 - ...gister_flows[login_email_saml_exists].json | 74 ------------------- ...email_exists--login_password_invalid].json | 74 ------------------- ...r_email_exists--login_password_valid].json | 74 ------------------- ...code--redeem_confirmation_code_twice].json | 74 ------------------- ...ation_code--register_profile_details].json | 74 ------------------- ...ation_code--register_profile_details].json | 4 - ...il_not_exists_with_recaptcha_invalid].json | 4 - ...in_register_flows[register_mm_exists].json | 74 ------------------- ...er_email[False-register-confirm-sent].json | 74 ------------------- ...t_register_email[True-login-password].json | 4 - 18 files changed, 982 deletions(-) delete mode 100644 cassettes/authentication.pipeline.user_test.test_initialize_user[False].json delete mode 100644 cassettes/authentication.pipeline.user_test.test_initialize_user[True].json delete mode 100644 cassettes/authentication.views_test.test_login_register_flows[login_email_exists--login_password_invalid].json delete mode 100644 cassettes/authentication.views_test.test_login_register_flows[login_email_exists--login_password_user_inactive].json delete mode 100644 cassettes/authentication.views_test.test_login_register_flows[login_email_exists--login_password_valid].json delete mode 100644 cassettes/authentication.views_test.test_login_register_flows[login_email_mm_only].json delete mode 100644 cassettes/authentication.views_test.test_login_register_flows[login_email_not_exists--register_continue_from_login->redeem_confirmation_code--register_profile_details].json delete mode 100644 cassettes/authentication.views_test.test_login_register_flows[login_email_not_exists].json delete mode 100644 cassettes/authentication.views_test.test_login_register_flows[login_email_saml_exists].json delete mode 100644 cassettes/authentication.views_test.test_login_register_flows[register_email_exists--login_password_invalid].json delete mode 100644 cassettes/authentication.views_test.test_login_register_flows[register_email_exists--login_password_valid].json delete mode 100644 cassettes/authentication.views_test.test_login_register_flows[register_email_not_exists--redeem_confirmation_code--redeem_confirmation_code_twice].json delete mode 100644 cassettes/authentication.views_test.test_login_register_flows[register_email_not_exists--redeem_confirmation_code--register_profile_details].json delete mode 100644 cassettes/authentication.views_test.test_login_register_flows[register_email_not_exists_with_recaptcha--redeem_confirmation_code--register_profile_details].json delete mode 100644 cassettes/authentication.views_test.test_login_register_flows[register_email_not_exists_with_recaptcha_invalid].json delete mode 100644 cassettes/authentication.views_test.test_login_register_flows[register_mm_exists].json delete mode 100644 cassettes/authentication.views_test.test_register_email[False-register-confirm-sent].json delete mode 100644 cassettes/authentication.views_test.test_register_email[True-login-password].json diff --git a/cassettes/authentication.pipeline.user_test.test_initialize_user[False].json b/cassettes/authentication.pipeline.user_test.test_initialize_user[False].json deleted file mode 100644 index 21e7b446cc..0000000000 --- a/cassettes/authentication.pipeline.user_test.test_initialize_user[False].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "http_interactions": [], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/authentication.pipeline.user_test.test_initialize_user[True].json b/cassettes/authentication.pipeline.user_test.test_initialize_user[True].json deleted file mode 100644 index 2b74d83d46..0000000000 --- a/cassettes/authentication.pipeline.user_test.test_initialize_user[True].json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-06-19T18:43:19", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CGCNQEENDQ5M6JQKKPQNX9ZF" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIystQtC04x8vY0zHfPNk9Mc/L3d/E3DzQpyzE0c7NQ0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaZhria+kRlGpq7uQQGR5i4mnpkBnkYJlWGpnqC9KSklmUmp8ZnpoAMhnCUagGz1vdPuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 19 Jun 2018 18:43:19 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=8dSySW3vEwhYvAezGh; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 18-Jun-2020 18:43:19 GMT", - "loidcreated=2018-06-19T18%3A43%3A19.156Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 18-Jun-2020 18:43:19 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CGCNQEENDQ5M6JQKKPQNX9ZF" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/authentication.views_test.test_login_register_flows[login_email_exists--login_password_invalid].json b/cassettes/authentication.views_test.test_login_register_flows[login_email_exists--login_password_invalid].json deleted file mode 100644 index 2feefff81e..0000000000 --- a/cassettes/authentication.views_test.test_login_register_flows[login_email_exists--login_password_invalid].json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-07-03T04:11:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CHF5CBNM27481387TN6772TQ" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNdN1rHAJNwp3z8uOCAwJSQl1dnTyMfMu8qjIMAhV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaZV7mXO6e6+fknB1TFexamxhuUlRVblhRVejqC9KSklmUmp8ZnpoAMhnCUagH137JWuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 03 Jul 2018 04:11:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=y3uDrD0yhYVhAvSJW9; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 02-Jul-2020 04:11:07 GMT", - "loidcreated=2018-07-03T04%3A11%3A06.726Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 02-Jul-2020 04:11:07 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CHF5CBNM27481387TN6772TQ" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/authentication.views_test.test_login_register_flows[login_email_exists--login_password_user_inactive].json b/cassettes/authentication.views_test.test_login_register_flows[login_email_exists--login_password_user_inactive].json deleted file mode 100644 index 7345f05263..0000000000 --- a/cassettes/authentication.views_test.test_login_register_flows[login_email_exists--login_password_user_inactive].json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-07-03T04:17:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CHF5QFXYZ0PZJZ3QJWRZSNJS" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyM9QNL/FKjUzKCSjOdfQxMHCJKinXDS0oNCl1TTJR0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZ5uAcmuoQUhVi46RakGfkaOQZHlVt4R4akOgaC9KSklmUmp8ZnpoAMhnCUagEIwCLEuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 03 Jul 2018 04:17:11 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=TzD36u90Fpf5BSuaLA; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 02-Jul-2020 04:17:11 GMT", - "loidcreated=2018-07-03T04%3A17%3A11.548Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 02-Jul-2020 04:17:11 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CHF5QFXYZ0PZJZ3QJWRZSNJS" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/authentication.views_test.test_login_register_flows[login_email_exists--login_password_valid].json b/cassettes/authentication.views_test.test_login_register_flows[login_email_exists--login_password_valid].json deleted file mode 100644 index 9e1e40be57..0000000000 --- a/cassettes/authentication.views_test.test_login_register_flows[login_email_exists--login_password_valid].json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-07-03T04:11:03", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CHF5C88038CAG7W9DT5TK3CX" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WN0QqCMBiFX0V2GQk6dZWXBhkUCRGDrsac/2oIbmwaWfTuubzq8nyc75w34kKAc6zXLXQoDxDOspDKoio4DfGxc6wu0/Jm2qFK12ep0TJA8DTKgmPKCwmJoon9fNaPBvxIDdyC9V0n9IwWPlmQk3j/f4v3dHgpzOxItpvkQok1bsdPh3h19U4DDyWAqcYPzwF9vlofoBq4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 03 Jul 2018 04:11:03 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=LyIhrE8Jn5OXrot4dq; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 02-Jul-2020 04:11:03 GMT", - "loidcreated=2018-07-03T04%3A11%3A03.238Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 02-Jul-2020 04:11:03 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CHF5C88038CAG7W9DT5TK3CX" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/authentication.views_test.test_login_register_flows[login_email_mm_only].json b/cassettes/authentication.views_test.test_login_register_flows[login_email_mm_only].json deleted file mode 100644 index bfe8c48702..0000000000 --- a/cassettes/authentication.views_test.test_login_register_flows[login_email_mm_only].json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-07-20T20:57:47", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CJWQQVBY5RN9K6F04C2F63G0" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyt9Q1ya7MMXRy9gj1zzfMN0/JLncK9S8pLKvIK/RU0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLY5B5tGeQVXuTqFG0e5J+t6G3iVl/joJrlb+mWD9KSklmUmp8ZnpoAMhnCUagFkolO2uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Fri, 20 Jul 2018 20:57:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=3fvvOkRNFRcAnc9oR8; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 19-Jul-2020 20:57:47 GMT", - "loidcreated=2018-07-20T20%3A57%3A47.123Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Sun, 19-Jul-2020 20:57:47 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CJWQQVBY5RN9K6F04C2F63G0" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/authentication.views_test.test_login_register_flows[login_email_not_exists--register_continue_from_login->redeem_confirmation_code--register_profile_details].json b/cassettes/authentication.views_test.test_login_register_flows[login_email_not_exists--register_continue_from_login->redeem_confirmation_code--register_profile_details].json deleted file mode 100644 index 30094ff03f..0000000000 --- a/cassettes/authentication.views_test.test_login_register_flows[login_email_not_exists--register_continue_from_login->redeem_confirmation_code--register_profile_details].json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-07-03T04:11:07", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CHF5CF1W1JZQZS8DWS4C5YFC" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNdc1TK7MjjC18PC3yC8sLcsKScn1SquMsIjMMslX0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZFeaVYWriGWQQb5/i5GpWGukRme6e6hRgEmBaD9KSklmUmp8ZnpoAMhnCUagEUGnupuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 03 Jul 2018 04:11:07 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=aSHyReFi3eEpbOfAKE; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 02-Jul-2020 04:11:07 GMT", - "loidcreated=2018-07-03T04%3A11%3A07.353Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 02-Jul-2020 04:11:07 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CHF5CF1W1JZQZS8DWS4C5YFC" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/authentication.views_test.test_login_register_flows[login_email_not_exists].json b/cassettes/authentication.views_test.test_login_register_flows[login_email_not_exists].json deleted file mode 100644 index 21e7b446cc..0000000000 --- a/cassettes/authentication.views_test.test_login_register_flows[login_email_not_exists].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "http_interactions": [], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/authentication.views_test.test_login_register_flows[login_email_saml_exists].json b/cassettes/authentication.views_test.test_login_register_flows[login_email_saml_exists].json deleted file mode 100644 index d11a98f97e..0000000000 --- a/cassettes/authentication.views_test.test_login_register_flows[login_email_saml_exists].json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-08-28T17:18:22", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CP0RP3YZMCDGQGXS9GS2989H" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyM9WNLIzwtQhIDPVMSvQIcc8o9HcKDA4rD0pLi3dV0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLZFecYXZ5k6xmfqlmQHp/v4Zvklm1aYFnimFYNtS0kty0xOjc9MARkM4SjVAgB2teqTuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 28 Aug 2018 17:18:22 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=bW7E8OaUd8Kma5jk4o; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 27-Aug-2020 17:18:22 GMT", - "loidcreated=2018-08-28T17%3A18%3A22.078Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 27-Aug-2020 17:18:22 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CP0RP3YZMCDGQGXS9GS2989H" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/authentication.views_test.test_login_register_flows[register_email_exists--login_password_invalid].json b/cassettes/authentication.views_test.test_login_register_flows[register_email_exists--login_password_invalid].json deleted file mode 100644 index 39c9a58dab..0000000000 --- a/cassettes/authentication.views_test.test_login_register_flows[register_email_exists--login_password_invalid].json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-07-03T04:11:14", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CHF5CJWJENP1S64WCW2JECVX" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIytdQN0PWNcAnNDw8ztHTRza3Kyor0qQwO93DySk1W0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaVR/qXRPmYZ+eUGxQmG+U6Bri6moRmVAb4VpmA9KSklmUmp8ZnpoAMhnCUagErs3UouAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 03 Jul 2018 04:11:14 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=TKhgFXXWDlAKqBvjoD; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 02-Jul-2020 04:11:14 GMT", - "loidcreated=2018-07-03T04%3A11%3A14.120Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 02-Jul-2020 04:11:14 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CHF5CJWJENP1S64WCW2JECVX" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/authentication.views_test.test_login_register_flows[register_email_exists--login_password_valid].json b/cassettes/authentication.views_test.test_login_register_flows[register_email_exists--login_password_valid].json deleted file mode 100644 index e6b4e28f76..0000000000 --- a/cassettes/authentication.views_test.test_login_register_flows[register_email_exists--login_password_valid].json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-07-03T04:11:11", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CHF5CFHZKN52Z7T3CS0VCVJG" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIytdANdPEoLXDyystx9XLyiTJ3dU2L9y0x8QxzznJU0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLY5uYf4V1WmpaRUhAcH5eX7usZXZlX6FBg5FpWD9KSklmUmp8ZnpoAMhnCUagH3IhbquAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 03 Jul 2018 04:11:10 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=yiHAMnQnTPPJXBNNrB; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 02-Jul-2020 04:11:10 GMT", - "loidcreated=2018-07-03T04%3A11%3A10.690Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 02-Jul-2020 04:11:10 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CHF5CFHZKN52Z7T3CS0VCVJG" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/authentication.views_test.test_login_register_flows[register_email_not_exists--redeem_confirmation_code--redeem_confirmation_code_twice].json b/cassettes/authentication.views_test.test_login_register_flows[register_email_not_exists--redeem_confirmation_code--redeem_confirmation_code_twice].json deleted file mode 100644 index 2444cd7916..0000000000 --- a/cassettes/authentication.views_test.test_login_register_flows[register_email_not_exists--redeem_confirmation_code--redeem_confirmation_code_twice].json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-10-16T19:08:47", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CSZ4FKE50H2FT8G8NTJQJ487" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA1WN0QqCMBiFX0V2GQnSQrDLUogsyGIY3Qz792troLKNYUXvnsurLs/H+c55kwoAjeG2U9iSVUDoIglZQodSheJ0uK5LngOca7WJM2ofDZkHBIdeajRceoHGUTSyn8/ts0c/csNKo/ZdA92EZj5prEfx/v/2cq7JtdzuoC0yc2T7lF6YwpQWS+8IdBKQS+GHp0A+X0x1QYa4AAAA", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 16 Oct 2018 19:08:47 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=C9CexOl7rROUNKDfLQ; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 15-Oct-2020 19:08:47 GMT", - "loidcreated=2018-10-16T19%3A08%3A46.933Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 15-Oct-2020 19:08:47 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CSZ4FKE50H2FT8G8NTJQJ487" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/authentication.views_test.test_login_register_flows[register_email_not_exists--redeem_confirmation_code--register_profile_details].json b/cassettes/authentication.views_test.test_login_register_flows[register_email_not_exists--redeem_confirmation_code--register_profile_details].json deleted file mode 100644 index de66331df3..0000000000 --- a/cassettes/authentication.views_test.test_login_register_flows[register_email_not_exists--redeem_confirmation_code--register_profile_details].json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-07-03T04:11:15", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CHF5CP8GS23K3MWZF7KW2XC5" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyM9B1Cw0w9S4pMSg1ywkJ9jV0dY3IKHctD6ow8IxU0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaZpudUhlR4egWa5JSb61ZlJibmOcX7RublOmWD9KSklmUmp8ZnpoAMhnCUagFKtr++uAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 03 Jul 2018 04:11:15 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=kbhAzOQS0L68MPmdCk; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 02-Jul-2020 04:11:15 GMT", - "loidcreated=2018-07-03T04%3A11%3A14.730Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 02-Jul-2020 04:11:15 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CHF5CP8GS23K3MWZF7KW2XC5" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/authentication.views_test.test_login_register_flows[register_email_not_exists_with_recaptcha--redeem_confirmation_code--register_profile_details].json b/cassettes/authentication.views_test.test_login_register_flows[register_email_not_exists_with_recaptcha--redeem_confirmation_code--register_profile_details].json deleted file mode 100644 index 21e7b446cc..0000000000 --- a/cassettes/authentication.views_test.test_login_register_flows[register_email_not_exists_with_recaptcha--redeem_confirmation_code--register_profile_details].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "http_interactions": [], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/authentication.views_test.test_login_register_flows[register_email_not_exists_with_recaptcha_invalid].json b/cassettes/authentication.views_test.test_login_register_flows[register_email_not_exists_with_recaptcha_invalid].json deleted file mode 100644 index 21e7b446cc..0000000000 --- a/cassettes/authentication.views_test.test_login_register_flows[register_email_not_exists_with_recaptcha_invalid].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "http_interactions": [], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/authentication.views_test.test_login_register_flows[register_mm_exists].json b/cassettes/authentication.views_test.test_login_register_flows[register_mm_exists].json deleted file mode 100644 index 2b5ad98a75..0000000000 --- a/cassettes/authentication.views_test.test_login_register_flows[register_mm_exists].json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-10-16T14:51:04", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CSYNQKWWKQ9GN2YM76NE8AAG" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDI2stA1LXItMSguLQwp0y2NMsoyKHROiSzwNQ739UpX0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLYZG7l6pMcXFFt66prnhJi75bmElJQG+1V4FSaD9KSklmUmp8ZnpoAMhnCUagFU1JUpuAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Tue, 16 Oct 2018 14:51:04 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=hk80dRc0mCJxc30ciN; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 15-Oct-2020 14:51:04 GMT", - "loidcreated=2018-10-16T14%3A51%3A03.945Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Thu, 15-Oct-2020 14:51:04 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CSYNQKWWKQ9GN2YM76NE8AAG" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/authentication.views_test.test_register_email[False-register-confirm-sent].json b/cassettes/authentication.views_test.test_register_email[False-register-confirm-sent].json deleted file mode 100644 index ceefd8cd5a..0000000000 --- a/cassettes/authentication.views_test.test_register_email[False-register-confirm-sent].json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "http_interactions": [ - { - "recorded_at": "2018-06-20T21:04:58", - "request": { - "body": { - "encoding": "utf-8", - "string": "" - }, - "headers": { - "Accept": [ - "*/*" - ], - "Accept-Encoding": [ - "gzip, deflate" - ], - "Connection": [ - "keep-alive" - ], - "User-Agent": [ - "python-requests/2.18.1" - ] - }, - "method": "GET", - "uri": "https://reddit.local/api/v1/generate_refresh_token?username=01CGFG7GRH02FRYGZ03V5JEY15" - }, - "response": { - "body": { - "base64_string": "H4sIAAAAAAAAA6tWSkxOTi0uji/Jz07NU7JSUDIyNtD1THavLMkpzvIycY5KyyhMrvI3KopMrkwOLDNQ0lFQSq0oyCxKLY7PBGkwNjMwAIqB9ceXVBakggxJSk0sSi0CqS1OzocIaYF4RalpQI0ZqLaZm1RlW0S5BZaFVXqVpiQ6Z1v6JuamWLiYOGWD9KSklmUmp8ZnpoAMhnCUagEvo2houAAAAA==", - "encoding": "UTF-8" - }, - "headers": { - "Connection": [ - "keep-alive" - ], - "Content-Encoding": [ - "gzip" - ], - "Content-Type": [ - "text/html; charset=UTF-8" - ], - "Date": [ - "Wed, 20 Jun 2018 21:04:58 GMT" - ], - "Server": [ - "PasteWSGIServer/0.5 Python/2.7.6" - ], - "Transfer-Encoding": [ - "chunked" - ], - "set-cookie": [ - "loid=uvFKo0lKSoCBxIYfuu; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 19-Jun-2020 21:04:58 GMT", - "loidcreated=2018-06-20T21%3A04%3A58.190Z; Domain=reddit.local; Max-Age=63071999; Path=/; expires=Fri, 19-Jun-2020 21:04:58 GMT" - ], - "x-content-type-options": [ - "nosniff" - ], - "x-frame-options": [ - "SAMEORIGIN" - ], - "x-xss-protection": [ - "1; mode=block" - ] - }, - "status": { - "code": 200, - "message": "OK" - }, - "url": "https://reddit.local/api/v1/generate_refresh_token?username=01CGFG7GRH02FRYGZ03V5JEY15" - } - } - ], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file diff --git a/cassettes/authentication.views_test.test_register_email[True-login-password].json b/cassettes/authentication.views_test.test_register_email[True-login-password].json deleted file mode 100644 index 21e7b446cc..0000000000 --- a/cassettes/authentication.views_test.test_register_email[True-login-password].json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "http_interactions": [], - "recorded_with": "betamax/0.8.0" -} \ No newline at end of file From 697f1d04b788f700c820a3308c1c4e7b13bfd024 Mon Sep 17 00:00:00 2001 From: Collin Preston Date: Thu, 7 Sep 2023 09:04:54 -0400 Subject: [PATCH 19/20] Add back db fixture to user helpers --- fixtures/users.py | 6 +++--- search/serializers_test.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fixtures/users.py b/fixtures/users.py index f2d879bfa4..d5760ae96f 100644 --- a/fixtures/users.py +++ b/fixtures/users.py @@ -11,19 +11,19 @@ @pytest.fixture -def user(): +def user(db): """Create a user""" return UserFactory.create() @pytest.fixture -def staff_user(): +def staff_user(db): """Create a staff user""" return UserFactory.create(is_staff=True) @pytest.fixture() -def index_user(): +def index_user(db): """Create a user to be used for indexing""" user = UserFactory.create(is_staff=True) return user diff --git a/search/serializers_test.py b/search/serializers_test.py index 7436b15048..41454df0e9 100644 --- a/search/serializers_test.py +++ b/search/serializers_test.py @@ -39,7 +39,7 @@ def minimum_price(learning_resource): return f"{minimum:.2f}" -def test_es_profile_serializer(mocker, user): +def test_es_profile_serializer(user): """ Test that OSProfileSerializer correctly serializes a profile object """ @@ -325,7 +325,7 @@ def test_es_content_file_serializer( # pylint:disable=too-many-arguments ], ) def test_es_content_file_serializer_truncate( # pylint:disable=too-many-arguments - settings, mocker, content_end, expected_end + settings, content_end, expected_end ): """Verify that the OSContentFileSerializer has the correct data""" settings.OPENSEARCH_MAX_REQUEST_SIZE = 5000 From 7be7b7f38948dc48e25666db01632570b5e62524 Mon Sep 17 00:00:00 2001 From: Collin Preston Date: Thu, 7 Sep 2023 09:33:01 -0400 Subject: [PATCH 20/20] Remove betamax --- conftest.py | 6 +----- fixtures/common.py | 2 +- poetry.lock | 37 +++++-------------------------------- pyproject.toml | 2 -- 4 files changed, 7 insertions(+), 40 deletions(-) diff --git a/conftest.py b/conftest.py index 81743ada25..0301ab43f7 100644 --- a/conftest.py +++ b/conftest.py @@ -12,11 +12,7 @@ @pytest.fixture(autouse=True) def prevent_requests(mocker, request): """Patch requests to error on request by default""" - if ( - "betamax" in request.keywords - or "use_betamax" in request.fixturenames - or "mocked_responses" in request.fixturenames - ): + if "mocked_responses" in request.fixturenames: return mocker.patch( "requests.sessions.Session.request", diff --git a/fixtures/common.py b/fixtures/common.py index 6f1c2f4918..fcdb244e43 100644 --- a/fixtures/common.py +++ b/fixtures/common.py @@ -40,7 +40,7 @@ def warnings_as_errors(): # Ignore deprecation warnings in third party libraries warnings.filterwarnings( "ignore", - module=".*(api_jwt|api_jws|rest_framework_jwt|betamax|astroid|celery).*", + module=".*(api_jwt|api_jws|rest_framework_jwt|astroid|celery).*", category=DeprecationWarning, ) yield diff --git a/poetry.lock b/poetry.lock index ca889fdc79..9a2e86fe68 100644 --- a/poetry.lock +++ b/poetry.lock @@ -140,37 +140,6 @@ soupsieve = ">1.2" html5lib = ["html5lib"] lxml = ["lxml"] -[[package]] -name = "betamax" -version = "0.8.1" -description = "A VCR imitation for python-requests" -optional = false -python-versions = "*" -files = [ - {file = "betamax-0.8.1-py2.py3-none-any.whl", hash = "sha256:aa5ad34cc8d018b35814fb0557d15c78ced9ac56fdc43ccacdb882aa7a5217c1"}, - {file = "betamax-0.8.1.tar.gz", hash = "sha256:5bf004ceffccae881213fb722f34517166b84a34919b92ffc14d1dbd050b71c2"}, -] - -[package.dependencies] -requests = ">=2.0" - -[[package]] -name = "betamax-serializers" -version = "0.2.1" -description = "A set of third-party serializers for Betamax" -optional = false -python-versions = "*" -files = [ - {file = "betamax-serializers-0.2.1.tar.gz", hash = "sha256:345c419b1b73171f2951c62ac3c701775ac4b76e13e86464ebf0ff2a978e4949"}, - {file = "betamax_serializers-0.2.1-py2.py3-none-any.whl", hash = "sha256:1b23c46429c40a8873682854c88d805c787c72d252f3fa0c858e9c300682ceac"}, -] - -[package.dependencies] -betamax = ">=0.3.2" - -[package.extras] -yaml11 = ["PyYAML"] - [[package]] name = "billiard" version = "4.1.0" @@ -1612,6 +1581,7 @@ files = [ {file = "greenlet-2.0.2-cp27-cp27m-win32.whl", hash = "sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74"}, {file = "greenlet-2.0.2-cp27-cp27m-win_amd64.whl", hash = "sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343"}, {file = "greenlet-2.0.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae"}, + {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d967650d3f56af314b72df7089d96cda1083a7fc2da05b375d2bc48c82ab3f3c"}, {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df"}, {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088"}, {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb"}, @@ -1620,6 +1590,7 @@ files = [ {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91"}, {file = "greenlet-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645"}, {file = "greenlet-2.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c"}, + {file = "greenlet-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d4606a527e30548153be1a9f155f4e283d109ffba663a15856089fb55f933e47"}, {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca"}, {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0"}, {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2"}, @@ -1649,6 +1620,7 @@ files = [ {file = "greenlet-2.0.2-cp37-cp37m-win32.whl", hash = "sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7"}, {file = "greenlet-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3"}, {file = "greenlet-2.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30"}, + {file = "greenlet-2.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1087300cf9700bbf455b1b97e24db18f2f77b55302a68272c56209d5587c12d1"}, {file = "greenlet-2.0.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b"}, {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526"}, {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b"}, @@ -1657,6 +1629,7 @@ files = [ {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a"}, {file = "greenlet-2.0.2-cp38-cp38-win32.whl", hash = "sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249"}, {file = "greenlet-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40"}, + {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8512a0c38cfd4e66a858ddd1b17705587900dd760c6003998e9472b77b56d417"}, {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8"}, {file = "greenlet-2.0.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6"}, {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df"}, @@ -4180,4 +4153,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = "3.11.4" -content-hash = "f212edc6e879c8ac062b30842e07dc0f557498711f22c6ff0b980c37c93a5051" +content-hash = "4e7b665021a5855de3d5fc0d1bf5fb1376981069adeb8d80f9be394468139335" diff --git a/pyproject.toml b/pyproject.toml index 8d97bb8163..c76269ffed 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -100,8 +100,6 @@ isort = "^5.12.0" [tool.poetry.group.dev.dependencies] astroid = "^2.15.4" -betamax = "^0.8.0" -betamax_serializers = "^0.2.1" black = "22.6.0" bpython = "^0.24" ddt = "^1.6.0"

| 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

- {% block footer %} - {% if moderator_email %} - You are receiving this email because you are a moderator for - {{ post.channel_name }} -

- If you don't want to receive these emails in the future, you can edit your channel's - notification settings. -

- {% else %} - You are receiving this email because you signed up for {{ site_name }}. -

- {% if anon_token %} - If you don't want to receive these emails in the future, you can - edit your settings - or - unsubscribe. -

- {% endif %} - {% endif %} - {% endblock %} MIT Office of Digital Learning, 600 Technology Square, 2nd Floor, Cambridge, MA 02139
© {% now "Y" %} {{ site_name }}, All Rights Reserved. Terms and Conditions and Privacy Policy diff --git a/open_discussions/authentication_test.py b/open_discussions/authentication_test.py index 9fc74e2273..b2aa35a8f3 100644 --- a/open_discussions/authentication_test.py +++ b/open_discussions/authentication_test.py @@ -16,19 +16,15 @@ def test_stateless_token_authentication_expired(rf): """Tests that StatelessTokenAuthentication returns None if token is expired""" token = "MDFDNEZBV1dFOTc1VDFLRk4wQ0RZNllLUFo6MWVvRTlrOi05V2VacjYxWm9aR25wdTdVUlY2RGFQUXRRSQ==" - request = rf.get( - "api/v0/notification_settings", HTTP_AUTHORIZATION="Token {}".format(token) - ) + request = rf.get("index", HTTP_AUTHORIZATION="Token {}".format(token)) authentication = StatelessTokenAuthentication() assert authentication.authenticate(request) is None def test_stateless_token_authentication_invalid(rf): """Tests that StatelessTokenAuthentication returns None if token is invalid""" - token = "can i haz notifications?" - request = rf.get( - "api/v0/notification_settings", HTTP_AUTHORIZATION="Token {}".format(token) - ) + token = "can i haz index page?" + request = rf.get("index", HTTP_AUTHORIZATION="Token {}".format(token)) authentication = StatelessTokenAuthentication() assert authentication.authenticate(request) is None @@ -36,9 +32,7 @@ def test_stateless_token_authentication_invalid(rf): def test_stateless_token_authentication_valid(rf, user): """Tests that StatelessTokenAuthentication returns a user if token is still valid""" token = get_encoded_and_signed_subscription_token(user) - request = rf.get( - "api/v0/notification_settings", HTTP_AUTHORIZATION="Token {}".format(token) - ) + request = rf.get("index", HTTP_AUTHORIZATION="Token {}".format(token)) authentication = StatelessTokenAuthentication() assert authentication.authenticate(request) == (user, None) @@ -46,16 +40,14 @@ def test_stateless_token_authentication_valid(rf, user): def test_stateless_token_authentication_wrong_prefix(rf, user): """Tests that StatelessTokenAuthentication nothing if the prefix is different""" token = get_encoded_and_signed_subscription_token(user) - request = rf.get( - "api/v0/notification_settings", HTTP_AUTHORIZATION="OAuth {}".format(token) - ) + request = rf.get("index", HTTP_AUTHORIZATION="OAuth {}".format(token)) authentication = StatelessTokenAuthentication() assert authentication.authenticate(request) is None def test_stateless_token_authentication_no_header(rf): """Tests that StatelessTokenAuthentication returns nothing if no auth header is present""" - request = rf.get("api/v0/notification_settings") + request = rf.get("index") authentication = StatelessTokenAuthentication() assert authentication.authenticate(request) is None @@ -64,9 +56,7 @@ def test_stateless_token_authentication_no_user(rf, user): """Tests that StatelessTokenAuthentication returns nothing if user doesn't exist""" token = get_encoded_and_signed_subscription_token(user) user.delete() - request = rf.get( - "api/v0/notification_settings", HTTP_AUTHORIZATION="Token {}".format(token) - ) + request = rf.get("index", HTTP_AUTHORIZATION="Token {}".format(token)) authentication = StatelessTokenAuthentication() assert authentication.authenticate(request) is None @@ -75,9 +65,7 @@ def test_ignore_expired_jwt_authentication_valid(rf, user): """Tests that IgnoreExpiredJwtAuthentication returns None if token is valid""" payload = jwt_payload_handler(user) token = jwt_encode_handler(payload) - request = rf.get( - "api/v0/notification_settings", HTTP_AUTHORIZATION="Bearer {}".format(token) - ) + request = rf.get("index", HTTP_AUTHORIZATION="Bearer {}".format(token)) authentication = IgnoreExpiredJwtAuthentication() assert authentication.authenticate(request) == (user, token) @@ -87,8 +75,6 @@ def test_ignore_expired_jwt_authentication_expired(rf, user): payload = jwt_payload_handler(user) payload["exp"] = datetime.utcnow() - timedelta(seconds=100) token = jwt_encode_handler(payload) - request = rf.get( - "api/v0/notification_settings", HTTP_AUTHORIZATION="Bearer {}".format(token) - ) + request = rf.get("index", HTTP_AUTHORIZATION="Bearer {}".format(token)) authentication = IgnoreExpiredJwtAuthentication() assert authentication.authenticate(request) is None diff --git a/open_discussions/settings.py b/open_discussions/settings.py index 879fcca512..c36d493467 100644 --- a/open_discussions/settings.py +++ b/open_discussions/settings.py @@ -147,6 +147,10 @@ LOGOUT_URL = "/logout" LOGOUT_REDIRECT_URL = "/" +MITOPEN_TOS_URL = get_string( + "MITOPEN_TOS_URL", urljoin(SITE_BASE_URL, "/terms-and-conditions/") +) + ROOT_URLCONF = "open_discussions.urls" TEMPLATES = [ diff --git a/open_discussions/urls.py b/open_discussions/urls.py index 234b2d634c..8a72320256 100644 --- a/open_discussions/urls.py +++ b/open_discussions/urls.py @@ -50,12 +50,6 @@ # React App re_path(r"^$", index, name="open_discussions-index"), re_path(r"^infinite/", index), - re_path(r"^c/(?P[A-Za-z0-9_]+)/$", index, name="channel"), - re_path( - r"^manage/c/edit/(?P[A-Za-z0-9_]+)/basic/$", - index, - name="manage-channel", - ), re_path(r"^settings/(?P[^/]+)/$", index, name="settings-anon"), re_path(r"^profile/(?P[A-Za-z0-9_]+)/", index, name="profile"), re_path(r"^signup/", index, name="signup"), diff --git a/profiles/management/commands/retire_user.py b/profiles/management/commands/retire_user.py index 4a6569bc1e..2f56538534 100644 --- a/profiles/management/commands/retire_user.py +++ b/profiles/management/commands/retire_user.py @@ -39,18 +39,6 @@ def handle(self, *args, **options): self.stdout.write("Deleting {} social auths".format(user.social_auth.count())) user.social_auth.all().delete() - self.stdout.write( - "Deleting {} channel invitations".format(user.received_invitations.count()) - ) - user.received_invitations.all().delete() - search_index_helpers.deindex_profile(user) - self.stdout.write( - "Deleting {} post/comment subscriptions".format( - user.content_subscriptions.count() - ) - ) - user.content_subscriptions.all().delete() - self.stdout.write("Retired user: {}".format(user)) diff --git a/search/connection.py b/search/connection.py index 866c1b2d1c..5051ba5924 100644 --- a/search/connection.py +++ b/search/connection.py @@ -48,7 +48,7 @@ def make_backing_index_name(object_type): Make a unique name for use for a backing index Args: - object_type(str): The object type (post, comment, profile) + object_type(str): The object type. Returns: str: A new name for a backing index @@ -65,7 +65,7 @@ def make_alias_name(is_reindexing, object_type): Make the name used for the Opensearch alias Args: - object_type(str): The object type of the index (post, comment, etc) + object_type(str): The object type of the index. is_reindexing (bool): If true, use the alias name meant for reindexing Returns: @@ -88,7 +88,7 @@ def get_active_aliases(conn, *, object_types=None, include_reindexing=True): Args: conn(opensearch.client.Opensearch): An Opensearch client - object_types(list of str): list of object types (post, comment, etc) + object_types(list of str): list of object types. include_reindexing(boolean): include reindexing indexes if true Returns: @@ -112,7 +112,7 @@ def active_aliases_with_reindexing(conn, object_types): Args: conn(opensearch.client.Opensearch): An Opensearch client - object_types(list of str): list of object types (post, comment, etc) + object_types(list of str): list of object types. """ return [ diff --git a/search/indexing_api.py b/search/indexing_api.py index c58f20f9a6..66922acf74 100644 --- a/search/indexing_api.py +++ b/search/indexing_api.py @@ -71,7 +71,7 @@ def clear_and_create_index(*, index_name=None, skip_mapping=False, object_type=N Args: index_name (str): The name of the index to clear skip_mapping (bool): If true, don't set any mapping - object_type(str): The type of document (post, comment) + object_type(str): The type of document. """ if object_type not in VALID_OBJECT_TYPES: raise ValueError( @@ -161,7 +161,7 @@ def update_field_values_by_query(query, field_dict, object_types=None): Args: query (dict): A dict representing an ES query field_dict (dict): dictionary of fields with values to update - object_types (list of str): The object types to query (post, comment, etc) + object_types (list of str): The object types to query. """ sources = [] params = {} @@ -205,7 +205,7 @@ def _update_document_by_id(doc_id, body, object_type, *, retry_on_conflict=0, ** Args: doc_id (str): The ES document id body (dict): ES update operation body - object_type (str): The object type to update (post, comment, etc) + object_type (str): The object type to update. retry_on_conflict (int): Number of times to retry if there's a conflict (default=0) kwargs (dict): Optional kwargs to be passed to opensearch """ @@ -236,7 +236,7 @@ def update_document_with_partial(doc_id, doc, object_type, *, retry_on_conflict= Args: doc_id (str): The ES document id doc (dict): Full or partial ES document - object_type (str): The object type to update (post, comment, etc) + object_type (str): The object type to update. retry_on_conflict (int): Number of times to retry if there's a conflict (default=0) """ _update_document_by_id( @@ -251,7 +251,7 @@ def upsert_document(doc_id, doc, object_type, *, retry_on_conflict=0, **kwargs): Args: doc_id (str): The ES document id doc (dict): Full ES document - object_type (str): The object type to update (post, comment, etc) + object_type (str): The object type to update. retry_on_conflict (int): Number of times to retry if there's a conflict (default=0) kwargs (dict): Optional kwargs to be passed to opensearch """ @@ -270,7 +270,7 @@ def increment_document_integer_field(doc_id, field_name, incr_amount, object_typ Args: doc_id (str): The ES document id - object_type (str): The object type to update (post, comment, etc) + object_type (str): The object type to update. field_name (str): The name of the field to increment incr_amount (int): The amount to increment by """ @@ -642,7 +642,7 @@ def create_backing_index(object_type): Start the reindexing process by creating a new backing index and pointing the reindex alias toward it Args: - object_type (str): The object type for the index (post, comment, etc) + object_type (str): The object type for the index. Returns: str: The new backing index @@ -673,7 +673,7 @@ def switch_indices(backing_index, object_type): Args: backing_index (str): The backing index of the reindex alias - object_type (str): The object type for the index (post, comment, etc) + object_type (str): The object type for the index. """ conn = get_conn() actions = [] diff --git a/search/tasks_test.py b/search/tasks_test.py index 32c2722dda..b4c006366e 100644 --- a/search/tasks_test.py +++ b/search/tasks_test.py @@ -640,8 +640,6 @@ def test_bulk_deletion_tasks( [ ( [ - "post", - "comment", "profile", "program", "video", From 5bc41dcda1600d668533b31cbbd5316994ad1860 Mon Sep 17 00:00:00 2001 From: Collin Preston Date: Wed, 30 Aug 2023 14:54:49 -0400 Subject: [PATCH 13/20] Delete unused images --- static/images/downvote_arrow.png | Bin 1398 -> 0 bytes static/images/downvote_arrow_on.png | Bin 1399 -> 0 bytes static/images/lawn_and_river_banner.png | Bin 1516442 -> 0 bytes static/images/pinnned-post-icon.svg | 3 --- static/images/upvote_arrow.png | Bin 1362 -> 0 bytes static/images/upvote_arrow_on.png | Bin 1365 -> 0 bytes 6 files changed, 3 deletions(-) delete mode 100644 static/images/downvote_arrow.png delete mode 100644 static/images/downvote_arrow_on.png delete mode 100644 static/images/lawn_and_river_banner.png delete mode 100644 static/images/pinnned-post-icon.svg delete mode 100644 static/images/upvote_arrow.png delete mode 100644 static/images/upvote_arrow_on.png diff --git a/static/images/downvote_arrow.png b/static/images/downvote_arrow.png deleted file mode 100644 index fdb6ac5df16503686688b8c82e1215557ca0af4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1398 zcmaJ>YfKbZ6kbaOp;%(2v1%gY*kS=^=iXs=c4lPNeIcvPf(xnqz_zoqm)!~M%rZN` zg4)DajjtcIwI(KQY=e;sB9TOjiiS2#tc^rhied@H*4RW#o7j*VV@&S?YyDxIWai#` z?)lF7&TIBo_}0$NT9jonndW-S+G->+tA8tA78;&vqf)Cink5~X96>FB z2ya9RAwQCWEe$`S5|b%yhf-B-RErw~S&NvZq>ecriDIvaRD2MAVVVJk$N>I#O>siT>9UpiJ4A^5Q&Q7Gs9|ZCQ&$LbXa zMYJEqv_@UV^{8Ez0^{7h+)+{yvk}U51s6rCcWZKE1gVDCZ71=KIj95$-od(Ur5@G> zAb`+g;{gYF*5+_9tb=hvn6mLAti!^47=~ea59dl^9UKozOF4_p$#M?hw570KHD*Yv zj8c9T>~{uheJNIO=}0m(y-L&SQyowd)(kBc)}n;VHC1uqT~U%1H7P7e7HK+WH`0|R z6fD)X2r-pqL3sg-006v&fdR_K%M4}Vf)W+rK!AeCh5(eTKxQoD3_kc=_NKcOOK>F7 z6d?hy9Flk&Pa&2MQV`lCN&>YUC9^CKIi7(QmLq9Qkxn+wbB&Y|;qFXspN$1RJR2;e z;%U2JQR8S|jh;q1t{*?(%^ zxAS_2mY4Z&XM`W0Z@6=%KQx}b3lw{A)I2(NcdYM3>|X7e`L8;tH}{O^JQ+TDF#p!< zqRBOFhfa(yzVJ$~^Llzb?St{Ri?(Ku6?`=N%fdH~e4Q4}9BglB+m$!4oGYio8%IZ+ zL&w{Xv^LGUJF;rd(~fOdodr*8^grfyOp? zPh-|kyAQlIy1g&|=Djvy;g*b#zZe`T8qD7{aQ1TGeEIr+FYmvz;c)*azGEuilSw@` zWgJ!V9`>rOn`%}<>jJ*AkUBTJSnP70fxjQUHC&w=_mJ$mtfBnQgAcPj1M3~WU`{7x zts6eD-;%p{v~1}qF?;1i+pjkYcZ+8ioNZn#Stk;SyhM+9y5Rmht6LI@2SfHt4NqPJ Zrux(G`S)J@r#<;6^m=^mF6W0k{sR!W^5y^l diff --git a/static/images/downvote_arrow_on.png b/static/images/downvote_arrow_on.png deleted file mode 100644 index f997dff4556b334acd3bcee09ebf307ede3b025a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1399 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�O3e z@2DSZS-xKl?1`EoCRJdS+S~!9paA7jm!Z@v9ijR_pg4zdlZ z0U9}afOqfTi`^!+rcl=$&?_w*nt-astYDX#2ynp7thowVSX$%4HNgc}k&~VEv(Pv) z^Xwvgf0J}7ss7MD#&Z>b+fyA8QDea%bp~Ylj08D-oLQSqcJUGPezbWO5Lq2?50mZ# zLvr?_mvYquRWTQZZ37K%f+$mXEts)KdSJm|zj@1@GZ1zJNHh?nxY>)?sa~Kl*VT`? z6-vfit}kLAv`B<|3RVci7HHt-&tk+`s!2|sp%+1b&dlJ~N2l>TS3wXR0!>iZ3z`{w zJCP6P(ZBV*=p6a+}hSsVc9mIR%*Tzny$}ww)AEu3itbH0R(ZIhs zD~9-q+|0fiLPVnU zRzDY4IK1`@{CDC~Ct$@eQJ(ERjgDiA{npCB4aKYDh+ngSH7n28Gqx)ap-498b;RJ- z_k#p*+mgJ6%WLoLz(_3(=fy;s#<1UEgFywHVJW%_c8*hiyQ5Op&nT1Jp(;6ad?$Su zL|;7ToEdXuL1~ffJbav3BJ#095pyo3Eh<(JAl0^M>p_b`BUel`(*4h)<|#m(HF0$Po0BQ4~7;?Ts`rqA`zd z6;BqW8kwZtD5Jh+2}?}nY!7nl#et1wBMpv~&1)%XFPxyO>6BZ3aF6``>BqPMs^v#_ zeAjSVGsmRJ71!Q|m%=QWw{Q`@8MB%Hw@g+nUMlC$o&^%<;WSCSp*aCTbg%~y4kpGwVVIbdw+vU>Pp#k z{SC5l(`H$J`PFjuwVMdm({k-~w}MIK$w*HJ&_^#Fe4CuZpP?OxEgLRj-E11=L60Mn z7-myNL9MfZ+v(VJ6`D+tfvS2Fs7g^y1={y>Pyc?s^#S1Ga>ht-$*U0t*at zDW#>*v?~TiYHmX|3r`&QLCa1XjWN0tVx{~h4s$q=$|7Qk1h4k{$vBbcCZ(qFUOS;H z;*+riF9w<<0ZMYGs}s}tXtF(rq-Oi1WL6x_Y7_J-O30)xsk>m4`77YZ9&M*u2*7a; z!!$|ZDuOkZk|2IGEF+lc%_ymeDxBydXcF3C*`!Iu;iK4+Mj=#MO6KWi>O~Y;y_#jw zkmKLT*km#Wnr$?AzTJBY3LisR+4vT^{u|aWX3agQ3S)p`vQe$3aM1AiU>|5El$1s{ zytxsPPyzu0&Nq-p9wnp&h$<$W&%@feppS;Z?1+enX8l6>HS|cm$bn(P=^v;U@vhyd zUm=?Xz|V)M?n=^p(rkrdI-(W8xVRF*H4(RT(1V!{LnYcUiqbX`tQtV07o}S~qJ&{C z)QkkCkaM|1pBx9f_R)x)wD!`6VSsS!kaU7+52HfM1RfdkS4m@q-7w&9Z)G;+@oE~5 zCPtVc?tuj}bFM?$YY77R$y{hOkznRrpusy#wyoLNC~TwHuvnQfHxj!5Dk`$KQHDu4 znI1FVO+rC{jEtj~1XOwK>>x@>_7GpA=3ay`gY7_AH6Xk^Mu`>WGyH-ch!3xkP|id+ z8RNFShjC_WVecc$=Gl%DC*q+chH`mDLr3$EDdjNSXy7Gq@ez%A^=V09{gov#MdMJ3 z1P;!u_6cIy^P#+!1ICdFYU3b&=J8~s9jZ2j1vIH=n|*9!ZKF7gL6Rt)-`7ir?*{+Q(i3-R2ryOI`B53-vBgcX6|NrdAWoU2gk7{jpY2K zm#>gy*fkw(wN#s}>{t3+SpM39l?tJT21sl&BAha-L}mBDlJw!i=v`?grj*|y@MbqG zwSm5Fsv4V|s;mP>Zk69W_7ByZ;z2fo&X>=3(YrMTwX%30WT|@DbGCjqF8_uQVFW#WG}bgbvFS@F+K&Q zxS=U8)rVGvAmlHEGR;j1Zp2?@4`?~BxTMm-#>sRPE{K9&qmzo&m`Hi93LS)i?RP2)mX-=3TxDvguVivnGHJ(nga;e}ZltuHF&c{B?D)c1 z0E5TL`)B}GXl!Wa_h?w~bpu_U^yZNngPZH?TFJx}=d=(6^yBI0QrgfMx1na}`fNzY z$hLt}=Qd4 zaJJ6YTFTZD!xB>G$@OD)6p6c;jSM3dcRcm0K6knvZul4%-Xi(xPz7&FrOzhpA7N6! zlTAux9$GSGKK$U3IzQEqi#cwTlu(lL%T=OVEc*`El6intGWDUQBVGz}umD9?9ZjP~ zSqL6ar0m=aT03?Dsuu=12@_IX(@%qo&*Vyxy*v9PC0|QsOk$uZGAv1Mxsn-^7cNRE zL9^MpfyP@Rjm{WsP{9(}bORj95Eai*8Y`~I{|MT^DOiDS{qz8gBG?VA89Gl{zbI9T zva_iOSR}3i{h@!Bl?_y-_@-vZ%86z@0vuXzm)H0*#YWY#K&u=5KmAAf+Tb>9Ln;We z##4=Z2rTRovcMR`7UR>X_Q0H7okwu5!_J_e3$UBdnS>oJOqx?C8lXr9B`?=ZW3ZRf zl=+m&A+mm9JXWc3a`eQprmku9_)&gD0$`0E?|!-S+Xz* zM#r=qL)jQ+(?+z}Xc+A~G=yY25(OF!qZ~@zsBCGk>xAkUAzvIkOr?@c`HtsC2}(9p zY8{=xCexh=L{cyw(}Bp{5yGlyE_{8$oS#9^h?kWM=THg3Lg`?H8`<8=TRxNM%p3wUupo3iRRTIm$n=M1#deYi!<&Zh zp^yg~fIX=F2F{Eo8*rX$YR^kvUOq!s$-X(iCIWSkuXn+)2n|c-EUkYV`FqK4?rKT#~S8C8Sywr0Tp6O~!QOn!3rU+Ep9Hy5{QDqM{aci{y>K#Njt# zOpOqHA|1@Gq|q6R5iFTE5w^Vwx0@LH{Bth`m8?GsYXe%ep>R8k*XoKT zrSNgBHceo0oB!c9ymstdqjn568} z2X0vX5hQ_9j3B05Om%3}!|CART3}PCqQ^yW8lzztp(Prxp=RCsv!B1G2X6wLSFuWc zy%3}6Ls3rv*N(Kp3kq?lR8=W0Q+$o$!YU?F>{4GtrQm*kue#SS$f9qySut zF;rwo{os3Xk>PkQ<4wDYj5d|#Y&+dzrhFHd;kit(PIvdqR}~l^_0d2DQYg%il2c^I z$tCeL?S`4Y(kV+8Bue$UF%Fjp%TF%>0X%ThNgyZJgzsEb?B*~cBW@xmVZcrULvgrUfL?B)v4TFJzkza2LKpEIrCFY0MfEv9Ra5i z3aGDx#_T^m`xn><@R$kmY#9QOLMLFL1dboAKq*HS+gOKUkJoe%?0PWOKYw8q{Cya_ zauCm$EGFI$$?~NbNO6(IdI$m-Eq%JPQC7~+qM8`N$*~hDbdn^%{5W^Moj@He#VPD5 z_NhC@FFOx*6V$?K0`i$SPkwqRsWF&!4RRT*P(mhN z(IUAS78;R3svIzDYl`eURzklhLN+X42$O*1fQIOncXt|c>Ht*9Y4FTAhUGRioM8W{ z9tn#D@aj>Ls3a;H9Z2hE?Zda_`*YSbG1MvV5hO&VaI@RE z^m{P*>LaV&cXW>oPEPxY zt}{yXFTOY=TmHLEHm{l`Wiw0Vmk+-oci*~zAZMW&m%(HOJO${i>&72N*bz!r`NMmE zN>++eNi#w|tR5QUAabx&HKhMjEO{J^RfDr;$qHHM0d(*%LbwSvGu5CvieZZeY8x1` zzK$-E>h?LO+}0H0{JB~ts`aLpOKQdw2CSi9pqVUdU_5B2K6HY*N=)?(tAb4@rF{0$ zhq8X-HDKs&fxQBAyU<7DbePvShwn%nQYl)1x4c7|Kz&8HrhN1uO|t!aX6we{aXIY`QE-c5a7nO|wTa!*CkAMFnKnrfB(adl%VOKo(w> zAa$n*CfN+QbTGL(k&Zij`r7INT=6ED5R!()=tZ*fDf!*jeCY)mQDW9TKVHDaq;xzc zKl7PFtYj$4`L+XOk=cY2ytU~YLbp>HF=}9L;qZlEj&7dhLMCXg-FPF{q-IDY1iFUo zuK-X}C373k!Qe?sg-;9CsIXZ#*=qz4OD`%ol5OK4Pr*bnP2rnuqB^6qZa5Ya5Kf%x zmbtD`s8uF9VFnHEx$Nv{+$C?Hc0xdTNR`t?&p+l~`at`a;FUL;w0*MgVsXA(_p;D4vty+;w z528U<&LX?=NAX%#EC?+=z2Rkmj?l!1ueBYwXC@C$W53{XDZd|qw zs1Xw{&h6h``H&!sZ%tGj6W7D#^KXwDCTC&zV_SeZ*wGk;709(4mde|&ZCTWJAIW4!{{~xipBWA&8J7|Vu&-%ti=sZ+S z<`@Oncd4hOaYQd?L!wUhX;el8P;K1n?`fP+Cq5l+q1n4Kt8`OnLzIZXKG0?{13e%q z^i15dDU`kt4Z%EF+#tjXeV77Oq?(rUS43IT%{9NIu$A%ZK3R0SocrA230H)j+DW z6hl%=kWlP!WT=nB1#^L0Gm>mE5_;Q;K~99jT)>GR@ca4bxk#BC_bsu z*Nr#a!vhu^<4`qPdgYy$o|CwwR9wO+kAQX5>eA*2lmGqm(+E!(y)@p*WOI{jd-q+r z``%yh`oK13zw~z0i4|CTJcFVU|AJJt<2sTgry7!}poNy`~{Dt6|A< z56Np^bh|bx0bqA4w{z2V_XCj0|XqZ3cd9(Mq(@r|4r4T4}b%wm-2>{ zNvJJDIi8$hiw1B&&8eOkw^dY5%cTRRgG+##U1AWX{W%-#xc{N z(jmdPh``ZRcuEgBa(gZXJ?Mp#!(>GRbli*RZL~{Su2=T8XTTN5w>YvJDijmw{mnR} zjYObZ3mz3;9~t*hcTkqCh?0ty7MWL`i73JDxbK9qCVMm+e{ zEtg{hEAsAF2PBI=N#W9!^4xPT(C{Vc<4XPQJ=aTHYZK$ifQK`4*{?KCxeWAd8@}&U zhnj?{AI;g?8tI1Ow|UhnbRZ}njS7!G7Vk9-JU$RQA>X_9dinU%t@II!P&T)aLI2~W z;3$Ve={9EGaOl(^9_l%jole5D zCzH7p@T}Ylaae5XEvs)>{eX3bnx>rEVB;C10*p4OZkl0F^N^J*S_TcvQ1@{`s9Ct) zhFZdOG2OSPr`rh53bm;3hpG^Zib|nkRr9s#F+q6(&iI2L{7@cx;9)t699s|YG@r|g z7l)S1OIIwS`#dR`IR&hkmQ0klye}o;pFDXQ31%8!58I-?mBqw{w66{|<>N@I3xQ2= zkK?oJ1?1wAx&L>M@mfJS(bz6oj4^uc#TVqB`|jgCMiTsKx(;=LZ6-0Y>lmYm7z$d8 zp$b@DG(IHVoj7MDVw6OuclBj!fn#_sJZI&Q?mKXpu0I@ZE}{{zH#-|EISpX|_?fqT z0&j!_L(Q3zijaa$;%)4aq7tiYSVgwwtAuv86h3z~R3ZC^zd2R zZJ5n4{s;euVIYpq{tBQAOqr1FE?Jh(h0`Eqi3Kz9~Bjpjmt`93<)r|{H31n+NIp#~abBQrkU;=e>>f-R z;YwsUjDa}#>Xn^%Dd&*2_8^qOWe(`9cL25orafjF%A;8K_5srsmd3-qN4A~Lv45nr#sTT{I}e=#_Y3c~sQ4VS%hoT4dlTi8VOuzy=$=mwqyN zH49T87j?D-c|d%|U}NHfR_-=%;1JIFxURh>ZS*EI$QyeK0oDK)yNyckNM$?eOt@q) zs38%GWiO(cy{Bqq+59qjd&d!)x+H02+;?tVBv)OvmI{JF7Q~|i_)0rSAfNc>b3kyH z7-^am5Xp_qUlUHn$|Fg%hKXr9+73{cpiNLGnXnG>K$Hffa!(fl(ZL%YC6l!iU>$r= z&HAV+j14{k>3^Cm*iWNCO=VQ66&i`}GZ~n6V)cZW`LLms;Di-p)*WYn-{t@jd^ks1 zMbH?69pQsZ7)J?8q*n0&@0XU4g-$h19KOa_BpQ8sg!M1gG_*sTtK)!1kWTVIRq4n< z4#gMONf%i&C_9B;*yOW=F98_1AHo1fh4i0%67bNesrK&}uQV=PpnPtr~^!&balzlkdF{BsW zBc2akviTm2tTN!;_MMcSU&EkqdSu8+P@tmdg%J>jXd*ZkD{D*3WIDNBD%!}L?KHDK z!bpE(hP?FgDYjuBB&67OtHsKc7dS^?`$u#p|RG#s34k$2f%3k*qUot%-p8k6Z8=(MlnN zjj9u+qj>HCE-@Dk+@LvwgG9Fkpn5e&irg3!dvyV6z%XakngX^u-11DD{P&$k4!BjC8aeo*y^@M~jtiQd59;E9 zjyAq799O*Wu7%WQ ze6(XfcDkoD6Eu=H^)cV{-D~8TSGO@ysmpj~*I#!nnx+Yi%aE26l&$nU8roar6atOU^k7b9}RfEV&|scJ@I^SV9-ZX0*5pL8GPyJms-F+vBlwzrRD>F7d2EL=eRT?Xs47JoC&4aF14k#G0VpEeqAX;7Ml!*=N zuP{FU6r0J!vwrQJtz4i`q~;k6n9Hsfs6cMn z@@~7=o3Qo3c_j5P3eJa9F2V_0U;LYsr@7e(IWef%#fp1V2U(5i^~~!+XA1N zswyr41_y!`7d-2-q9BJFh~+#}Lcm0`ieYoupxCit8+;7=#RIwrp~s|O0|S>AOqg)G z=4K93(4_8#WE8Ah2y{;;Jn}B+OxdX(xo*XLd6F*qec$^DmpW&a^=Bt>2nl4#_-X{H z5_rZcuQpR!jt{osd68>SoXj+>x=@%ZM5a90P$btTn}_U&$?`Nhr>1G(T78lqhyP0x z0gax>)Fk|SuDl^&yZr~6@b*ZCE;uR`5NC$*#RyC3Lm`+TooxdQmmQGoTq>K%O7=qz z<*zy^lIbG&X!r4TRH$?F3uV}hkg5eGYov*)F-*SMgO@X(rJOl-Lp;aK+%$RXC0IW| zLJEVqnfl^oq?EyaA)(R9)a5g1{8FInc%?zAo!K-bwUR$W4#iM?>7tXBnheRZHd`{xh3*@uC2N}+qD)H&LOv*+WQ(uF_WCjV33Aeacq&&AkUj6KI`QE0D z^4^F0f$1VxW3pL4e4nfou1@HDP*>BDF#39ZoDbHUHCL9F_N$!0QCcm>1EO z26BOyFDx&XP#8RFgIrQj#5%dKG{LXGDp6u*ZxV|wDrf3W=tk|gj!%A*mophE`^L8alqG7m5+3>h{M zf$}R`JFwRqX=l=Gtb}FEG@QJ8doj83kr7hzkAS)A8`q!;=?VV?EnCTg2#6LkOD!FS zX#i-$LnjjJBnF|;}=iBpJdua^$D3ZGfy7=!=rNd zJ>Tb6=JQh`jUuGz8=jIx*bAxIemQ#@f9#YPx!BSLC!Pz7hQkOeqkOsNOt!Lw8hUNN>YE-$Mg$CqZx3KT z#rKcK#622_VZowtd@u&3upEqw8{Oxv##f_^hNDQG*C)&7MKOe+MpmpW;h@6VWp<(+ zmdV`N@Pc>v1p2VtwYf}QdhH@j!hXr5377{}EGH{NUVG~d-#b!H!4$C5q_hx_6>Nx2 zhAwDU+9S7rpjWceaAg}$lF!aN*x2JTtDMbA^DYGTLVvGPA}J=p5_N#8GIz`{PbN_e z+CmvshBwIA*Z^fU2NPDoq?rcNnBu8Ajl(MGFdf2KM-`~}Y2sXLZ6pXq!loiA;6jV! z*Gjh<8Kz0dXeB)nh8&l52YBFn#{%)N?v!t4s}6=BqYlTdkMi9#HN@B_KjMxf%;W$7 zKmbWZK~x3C79lE{PRvKH%cTge+1pbIs~{FSmfzqXhv1Ll#;=7%VG@nbm9t1jez=@I zMstt#Q{|>!Uf=)0I-0pVs6e1Ux|#e8G#5+YEyz!nGwhR~nM=Zr-D)?C9fnLyO#%%9 zQK<|&ntq4!Y<(zdCrK!>a=E||WR%Uv`aaH4Yy=E#G8eFI}Br@Zvrnj8?vgrD_s0AEZSVicS!$ugDS-s|ne z!WLGOCr;)qT`y<%J|*WW&_CqPl=bdw`CTYkxjQFVUQj?MZ8NS9&)35IRc`zj{)#!i{DN*$V<@Dig2Bw4l zPTIMdmG7&;Q-haI3f7>h8(+6MyNX})qLix|=T($gS{?zOB3VSJKK!gQ6U;t$|+studi>B^{cJ{ zbBd71A9)yh%{W}{9DF#yt0|8acVx9_!~k4CqrZ^-@fq}WC%FD&J@F{jF5$`gUPEDS z3@%U*m)4$JkoewWwhb8v7+ z`Q8J)Ty()9$;e2DoKK(%KMhV#V4jEp%k7c@KDTypP5jvqP{^ve3yd3Ext_X+iiLi( z?Gp}@;`Klu@P|V%&o@~R2%xsBYGROY1f6$C`BpBt_*5)ci{Q&b`N`DpIoTw;cegOx zE>>2p!)|pjf-&`aV4<4CAM3jhC_?Ga97v5h1Ni4zWuPduP`d6Yz#@#zYnyhn*Ti@@ZtbfTFr+ zDsRHL|Fsj7z#&6SQVFBMOu*wG<(%7)z)l14OieQG2Sao6AAXNO!MsV6nE|(q;Ia{c zlm~B=gp;@|!VirwF*SwBCc1~F;UkCO2sagmKMPbDm9Yn=Q71aVH=UG=yq1Lktb=_W z1kZ8Qn}$Ut2Va>3Vy0mT}-*R3yRqfCOLJW-QZx4 zli6*WKUcmubdk?Tcb^1FE6aYMfFK!)-3FhT1D*wb-P+wwVgu8MNM{2Q^N?s1;)miT zptyk3IvSX6jzP}=-VSMSd>iUop^GUz6oFkP7Ye>16G*=2FN%};3sa~Jqge|v>~lRS zlQN?O59Fylrh<1MCc(0R%Ox^~1}5fSqrFy{i7)i(*-K>BrB~r zdl6hboU?%#jmuQwRWmU`1y@Q+U~_Omj>9Ix#~iqG<+>XTf9_ad&U&6r8)BCMA4CBs zJ{ef8#*w5sC?ND~5%ncIGm8vgp)Yh2lwMIdT)L+F=~Z~;g{`0Avu>5Ev#s)8^&~XQ zd2+>7*D*-=EDBw+Uv@+c6G(1E$u2?QR_Z*Y5{6x6b{jzD@ zOy(1wz+)eEEsd^|XU@{Ih@*n{aL)0)Ch;9avFJ15qmB)22>J%~gRzrkt9>b{qeex<~;17Nv zA%dT`qgys_0xu)TjHzx}9~eKq4+T*9+uAglAb{n#N2Qg?+;?1qH6t?k5rW1GFC!QL z>%aaAyEORE%i8j}1Y$Kl>gVt#&~Y9?RM8>Zc1=nVhwpr~U9P(!l5u1x7JF)827sG( zVxt+>A)Bte1CyaGJU{T;*}3xEi>)ZPur7rz<)W#kLsB$@2h}3$r+JLTH!gMz3&%WZ z?MagVeewc}g#d<)ug_F7{tWyv(Lh5PmrPAQftV!^3kJ0FcVaPV+M$hQ#5ByW)IcFr66QvQ(SQ46O_I<6NZ9|2H|p> z!6<3%(L2!jd1F#ko-7xR_R74=z=eCPFfx3o_uxF!e2kB@Np8NIY?mn~_@oDMg6v}; z#3x_X(lCp_b0U#yw2uJmVPL~WS-l$HWA?5YZgszxwln9?lf<6ol8#TpU*|mdERa*O zI~;$M)ly2?K7sj18<0dA7xabd3f3t}-gxIrV?5RqfB6G`FeopFd$2%d_yC#nOaFRZ z=Fi12pUg&~HhGV=dJ;yz|x)n5|?`gPY@koWThOJ%ys?zJ{cZtML9Sczt`+M(QJHrQ2rYV z0#^_nrSX{!8`h9g+-2{3=#%!B-+a%$|Es^-u5H`Ei;JPcm0L~qGG_q?ySr%4pvy$Ds(lehlL*WSj-kf^%3EofQ^j*gZ0qq*4p$2+T4ZQnbNzqLfF!`d!w*Z3n4< z%iuiq`(N7aci%$`ubOM<$iu*nfTzYd&=plBj&ap`#OEi$B+;>@3a_zPdHHJLMJFMH z1_4C86L^v9)@}gP)A%7a3~-7t&(`)fQatX1P3EEXnB}ltJHTp5c^jA2+Y2vsQpq=~ zf?<(C0di=pm98Ti9q7#Y2tgL}b32f5~b~@(^qdziimDLy5_a@j*sx)WGjZB?6DgjBDB!tBGs8Fwahn$j0E9g{!aT4h5;-X9 zE+a2>45$v4lmuP00!O1z94WeK98x@qIxq!f1+ExIp)tb2I(lrB=_y_sQZ`Yukbn=3P8j_@6w2zF z((JW=45H2muNn-tq0#K})x{LR13Z%&W-{zwKLLG>caU2I2YOKAMi>Afn1aGIyZqWb ztE^16${L`V=^+2jvX--*wzjd#>MAQ?1p)ssou-BW!Aoabgh0Tr>-zHT{DmI&3}cnh z1i8d}5Sw8H2rz~7oGSV(@LNxJz_MW$RaV2m%GEr)WIJ@Ahgi;ouC?20iz^taicBm` zJ)Tq?1=Ko;pj8%^(J_dFAj)s=9{9GOj=0BsubgM`|0 z6VEYhAZ~p_z?EozM7cN3OPqld9mQd)HW21I(_}G0h9wANo@3o6kaCm=ni|wpE1Dr- zkRn}PeyX+gPgwWRxNTj%jAvPbXGIsC|^4@tPP?j7No02U2Hzm2^aX& znX}DcPDHT41frPa6qM3QM09rvJ}*^HVb!BZg$60?Wu)bBFjHuAy-4*lWPRu`Yw@zO zi;y&}Kx2S8Z*VE+ltR)fswNXqeFw+;+?O7+x868x|MS%I_Ur%tA-6^I0*ADzvJ`_N z@1&QGh!ga`U;pK4d+Mb(>~~MSXwN+V3S#E{h^3TM)C}T|^uqDXyvW9e3fsJP6^9R< z4ZcfhmmZ#=>07)*KgjKd&#{)K1l{(J9%aw$T+!h9MbSfd#>WjUK$g)Vu? zMU2?cI7($JibfGwwKQ{ahOcS z&!)WchD^HEINaRhi3=@sLe5hhLIE&ogm=*mcGkhzCG>Oq(wR-Df(zOm6yBO!piPD{ z?Y4J?t*Uw}#(5Y)mVk8)yUl`vq8-K?dXtOWb&L{&=Zm7F=4Fi-}sh;;_1^H78ZPSBy| zqZ}@{=V-Ii^}PSGw$I~Bw)yWG}t5} zo|Wt^=9w@k?Ah=v`<;Kii^W7qWIAK$G#4i@lM*L~p&N$JJxhTxPD}qRSa?xh8t)$? z3{xjg)X~+#q2yhMFvK;>z+#yj_^CSz?fJLB@yjTN^#%zfa#6eMwNxV9zDv^-XwzVE z)DR6HKq3H4--9MK;?fZ!IH)c}kBns^I?T?)IPql(aMZio17Nsm*48BoDp)2Iu~Z_V zg$1&Yxg0p{QVH~;H-jn~*^SH9M^@)|3_~LCa(;TzF28Dx104o{;WDyQt-W&;9DN*F zfdZzWcR0a|`0qKa>FSk5cJ0oc_R^j=taq;0UOI6e3DyoMbF;9x$YgL_Ygac~cMBbZ z@mXM>1|ngidfs?(5#zb&qI>JWe%j6}oghZERbDvnz|Yi`+wH=+3wHR8gHE(LL%+e% zV@Is1X(h&(dj+Qr5dbI%kjBUaoHifzn1Mmm-v|_WyEF{F*G4;zU|&*!;k;y5Xqof8 zd1P>@7(+F|WT6S30o0dDAdv>nt+sNBD#a*7W>FCJ_<;%2a=Atl&cNgRTqc?wsX$87 zY}ass444}kz#W<*BMIBQ^i<15HzWf`q|YVu4kjsR`@sJ-ojeM}v>ljF%nUgqH^NYU zbYi@0cohaExvXx?Ojt=-Xsk#_J4o=5piI80p>nsp(gL2r4f{Y+oKX(V$&<~_4~bz> zMT3M2Q}b*VNf~BBK>&!Z^0#e=>Cr& zBROin{KH{I7Du9jf?9f?dG2ML$^Z+)>jT?cKfxy?5MW z3qT9%7Lp>`T!@2u5h!?%%E|WZT7yy{HSi z?UDN`X~dxbRorPqusU{ZVRA%Eh&EZ)3-KVm!;%6VC^&71^i2aH7I6v@3NY#<)QrO@ z9a@gAHsQNe&Z0!jNy2oQY8xi%oC{L$CEEa1a~!9*rs_5nx7|b0H~~l~jDuc?5tYg@ z@SSrZAPzDzuP2kpX`GCN_vDr%2D;%O*kU$DK+!veL87S`_cD(Y@Filb5lBi-92&>$uSqNk8Ejyh?`U$Vybh^3I1HoMjnc^C8hKBz;(z+?t&eJ!8_NyXgjwt9p&U0 z2bK&99&W0S#w^P7n`@=2*khMpnP#<>lXmI^lDNp4o;Vm};Ked02&jf(vw2IN<)nkz zLVueMA<7S|kzGVUHG{a)N+x+T(!@nHI5fhZDFK$D(>EL+ww@leh!LMk&keCAaIe|x z&FusZ%a>s|W|;)fI57NCjA$|#AVtSu>2t)7z&sctV1*HI=0(=HyK9h)ZxwrM$mxoU zvsT49%)r#1pxNe)L$9;{E)p#xjz%44-?2m3jtUGS&K`s7#voLYt-l0>np>FXWHeC< z>uUAyr#*W6t{pUcplg!D_`1>}TU}0&M-=1(&Pv3_XvCS?!gW>!k3`6#G!ktLsIY_~ z14j_Uqa_*a00<2f)~LxV?@J!MA2gyxgow| z1d)IBFbqykkQFJ5VSsQ;J4~K3YBywNe1BX)8LLc=hh1QwGZ9KX4Iv`(4EAs?dLd&( z?e5yD>fIs!ryOV@m8e7F=+lJt1D(yJ3!?MHtfEAijM9rF+EB;w!YK|M5&<(U$yL=h zLTW=5nrPD5^&Fidysq%Xq%<$uxHA}SLVwz+(=oy&jMP!BptENfrU*C2fhr)q2~m_= zvt~6n>~f|yIPe4cbq13*zPS6F_KvG>B+c7o-+1h6(39w8$FM*7?8|oOOuNM<25kH0 z4WvA6q=bO^U}Tpe{Bqk(yO>;klfCzz8(bJ|*7Kz8X&C3f*}E~$aSAZfs+O~n5t~MxESUxNu?cxsj#!Tx zeq2BfnK+6#o_TVb4oE-uI}Lvvqa6@FhLPO3Vat+{Qu;>p7A1N=Mb}e0?ZOK*S8Uk| z>xHI*?!giI`8gonsi;|fo8(d^AqS}pgn=cLL6gPjL81z5NYBC2>Tes4vgeH zY?%;-ZIeaMGyVb90$hl=(>+!G7`f$vm^3 zLzK%f{OdW=|4gEhJm%Al^rCqZ2lgNhKX7cqZhA)(>(Y)WQzO$^Xv~FmUaeiQ>un*lFN)OQyWmg=m-VxfM-Kkvx(r zAp|RkzLWmx-0)6Fhp989FQ(hR{Xhe_)c}J(r6HY3B$fe2zoQnsHo45{77MaIAG}?K zA_S%|@_t%-Z@-}!&O6*^3ZWSV%YpI0ymj;Gy=Z0&5`B|(!{LvQg5Lwr zNThyceK{OxvQX$^=V-XljLw1H5t_sp98q3lA+l8u>1<2{nYqXr*T4>0;w8l@_|#`O-*Zd&%uLkT2{-#ir&JoSfXQz%Aam-10Q9)3wW3?b%_;q z^}yu?YfFcQBQH~?Nd*{~j)76w1+?(;u)=g*EQHbvrTfEpa1CXZD8KZU>#G>$#Px=F z87?SU>FCcclIl#6N^jY;hJzuTho}iSWI0+C@4oFl_TWb!w$DBC0NTm-6TM30#EsbY zA$#(#e`7XsB{Im5I6^ob{Io(&o1@cO6vZO29W->51I9J#UVWRyw9AP)L02#h44$U-?aT?Kj7F}P%I0Bv+)wU3u%uVJn z%pA!~z7P7DvIaJt3N^xeHQBtTg3dVbwG>~}Y0SvZNkYJB3TK~g7taq^R$c_1W9CBU zx~!-gR!y=nU~oK~kJDjF;(!aF&LJsA3>9nOC0Y{h8llLif^ZCMI{~OgMZa07lJO|1 zK4*-)i@F7o9#+&(RKt#AgNkcU!x2q5%5D;wz@lc41RS>J&v}>y=+yz>XA^NeULSH- zIAPsI3ZtKVi0FIK7)f-2zXFYLH4F<;8sXRrdpoVH*k$XXWod}PJX*=ED>#m0Saa_X|}E*ZimmI0a3!(GKzV}+Zk3& z2Vi*_(`l+|?Uk1g+s?}}X<4TM=K30FZ?g;y$eNw#jp9_+E^h!U z9U+*2Dp^QG2Rsu~F&F$c4I_8iR#JI1JzB}YR=@)C!d;)~XRTmeoIW=QlsQFq%s$JZ z6B#y1bNeZbUx95|z0zKKb07DR&z_mHf-J_uku|TVZ?Km+kAf*Qa!yWKnirzr4Fef! z*5LYeE0{yt4V;IjjGxKb)Vo4t`b%_Ek%OsqQ81L?nwqAjFobJY)Y{>Fd+ZaR{{r&C zG=&ZK02eT#i+z!be69k5iExC7p7%>oM0f!!1rnQ~9geiZN)8GUGZ6{! z8jG7`gM9;*&%w>17$ByG4plc~d?`aMU<|20fT0p8^CdwZTGJTR6{vdG)WjrsZv|&2 z1~qKNiM(`%sI%Joy3!@u9(1Z63KpDrU<@K94%oK!cw4R;B-;Ma$3BF6-QNKNweVR-}~N=`Ba=pwVMbr+n#;)mv;Yq-b*Vg zZP%o9iM+@u{;Tk6sg+v>g^kbVpFrJD)n+eFsSt{fW{&CYcJ&M(vVxJpu)BD{;&=`b zepi&T4t$=+=hvdW`PP1-A8^xTOamC{%nYJIIJJ3NNW-l0ECyBwY=idH9=%BFFT%+kw(c1H#?PV}v*ED69hN}yE5juKIY!Eqf2IS$-H(QKYbgEL4* zl7&-YO86KKk|IS@t(z1N9yS6&*}yV)-jHi;!$e-pf=okHDa7IRU_4_O!i-Gn1qjbC zYl5jVD2yA7db*tbQ%Yg7f_nj`N+yCuct=sP!5bGZ4B}gto&74*i}R z*J0%2)`d34P%jZ7PMWd=&L0*?kp^MpSz&F^-rPf>HX&f^HbU`hKTAY7&k$Ew0u+wj zMBPCOf|IngYfAkvW7Go)>d;KU|yCK(KzD6Sxa2MS089y)nukiZLP3$Ncpq&}x^NcQx^ z7!I5oOA7Nlr(lj`z~wH=2SbGcGeZG635U|%afXh^bq-r>4yO|(GhVxHwH-JhBaK{C z4&&Zn@bAZuHWJ#y3Z)CWb>WBU#sWV~Ia6X6G@Ie+YBA3@*@w)E z)j6IB;!wz3yI`lRXlk&=)w`_i)IleM&j(YE;RK*$V~@lxquxfgF$?=k&~9l~w{>BH&(aLtxf^44WdV2>e2&9x<*z3z>d) zk`6&Ov3lOW_O;KjAt)?zKjK45pvlo4;VB<~{JVTJk@=C6L{wg8Gyd8he&mxx%S5qs znyK}Dil`)p0S-<;MMIZBvWL1(Zx00@A{9-T(6ejsB{eNJ4x2w6%#ckbBPGQ@MS8bg zcM}ny7%kAp@RTCHA3Js!9SdFz27iVo3Eq=q{PhA<7}M|7L?FFi*z#;fqKkNuW61U& zC-o*Wf7dP92<-G3Fd@+^QkY=hF`^D_h-r3EBKVe99iK$6xm6yktA}UIch6y@gBbTA zsCVjuj8H)81)Gb65G(>NxZ!fNq>B@+vLFF|ZLeLk^9q|9Wa{xfNkn4FM1YHExKN!& z4tH3^iY@)#fdAkUeK|adZGg-_J{UFCyHn2DTuwOfQoqWZtPnIxB@lI(~UUB zWSc%_$<2)S({vEEZMCIV1T$k6#lfbgDmz0|`TjebES}kC;Q%lqlg(4eR?fHdSz!e& z*OTdJUk~7jVW*IV^mLM4;4He4064OrCXl*HFl(P3-rsCh4HVEz>#ZBcM+^rsIGKRq zop96>C4S`xejJ~QkhZJ)PU>};WT*fNs^?TCq*yyVYK@%P2kkn*L;VHT>%R4 zm1I`u&y3Jz3xg=7kZ3p?2s6_T9y|)hT!~C;v%{bFklhqgpgw%~82b@Okme9g$0??O zs$mMrG}TnpHaMMxEiGMe{t=m)MfDD10Jl$22=fEO7NJ%ZqE00_*EtmZ@~~xsO*q0p zo~P}WJ07ury!4D^Q4Ey-??*R8X_$hud0N*6@nunySj&0no~Cmct&s#^xd4QSqD<{U zf+WryE5uK;Blxa#7$hnf%F(x8>gOJ?hg0LU#0M>%qOm$Y#U7E~i=dCV!}jvoO*@v` zqyPC&#MMUa)~z-6+`cn3Emc`zCRqezhehm%=&Hh}oq~2%dEss!i`&uL4?U+`0Uw(d z8vx*4K?K~>)8iDMgh31S8y;m60{`#kXGE1zWilI>LwdVCOb$>4A|Z7Z_bM5R>Ei}3 z^@y^Efx-IA`*?^<3i27LgziUYAKsb6gH2=e`{-_4X%BqllMJN&E&@GKd;fj+ai}5x zQ*~9^rRI?#@UB4#rG3|ad(AZVh)EKaW=n`n@tYBE{OEaFO9C-Jw#Y<>ybFF@(q&@^w`F0Zh$ z(Ppq>8E>MH3=mQx+DTe`6X{Uw9S~(rOcfj#&MA)b5`0odI(?~ggerC#pFto7!xsiR z5r^5?{4(U=ZWYBfL{~$$p@BlMr`wvlh)Ut1t=+H;XWKzUQ-YQ;NG=FZY$n;Rydq*p z-%fOdYNS1qoQ^6O74SHbUVbi48T|@X%LTEp3wU}WQR6RyR~iL=ob;GO&YV9T*l4wa~O zGZ=9koQjRWSSlboFa~QgOZqA$J^3;D_7oz+L@$_lBH9u(EMW@qsRbB8O~C=S$*-l2 zn9)>YybIVDt^H&r81s{t$QouP+(WQ~=E>&GE_>t1d7{hZR^8agHB#-xm*?%OT@4fi z(V3Z^gz}|^kOJxlIS$r5Ly>WQ7|r5{*RHv|fN3ka6#byjd628+@b~wEiSxXf?1L0| z-BF&?OT;)w_L`G{30WWl7d+Y0Z!4?wfg{mF!GNi~-NXA9Ev&F4#nG@%CQwpSk1*y8 z7(}Ji9SX|Q?CeQ;0w^Bi--s?}i5ziWIDi=EHjil4#eU}ykwGU=Q_*^1j40^l7ho)b zucp!d7L8BTv$4oYYw0^;%geUgnw9nT=7B>{MQag%D&%ZLiS&UKh<*>eeb|9WTh6vH z?W77PH^_RY;kbP`F1lVX+ln+mpQVw}dvWd)h<KKGxjeJe}#sey*L%-7ShlX<(ZU?&#>W&kc;p@=d3A6wS#R$tvs7Vw4@7? zhr9t%1XRcooB&1`CnPzD5`rIfHLIYld5Mb{&IEAx1PX#KkO&o!7x|nrzp(Zg7<)!R z5%<1mXJ}X}DJx}PCE4Z6%AB5qr(Qd48yf5Al!Vbi8tEkvlU;JJT-LCAk%PMcMW&Vt zFFW1whDzsyV2;O+ouVs;!XT~0YMc;0oDPd4omR>JS1imTidED&je*N%bEH90DJdyn zCLfU!FIjkH0mZl+;E-gBX&HvJH4?Jl9@xv!bf0i>z z_gxM)mBy5n5C%}i9)}Of0bIEPJp*u_nyM=M@PiN7t+(FpywK?xy2(ga)%u&p=6nCc zkK)B$_Fqr@&`Cd%Nc*HCtxc!V@e+S};YA9KaHNl)IL*B$*y{)O+jqYFn4O2dB+OZ< z_9)kMk?zjT(eBP>Rn)C)W1zp^vT}2su0&l=(`kaxpsH8UfyO7w>Z*Y!Lg2%!A;x7z zV=3&6mC%+_oH0IC7;ZO4^}m1qJLg%G@$y01K_$>K$8}gD90A);c$N$j81wp#L^8Pn z8Xm}eSi2Zfmr8LZlr%h{2$Z&Il->JD`aRJDM$jjr0{*{Fe3eIZ@D&t^5n_F}du;Rci321^urt6@NQM8@SW6$6`G3tvL zdoN-)K3|p%cb((AsP+?FgotKmiLA%RG#oT;@46Q`R9Gr|&xL8=n6lcYdYVGe5gACc z6|1UY^#ttABfVBzm25quV4!4YgF~~t6L|84FeYF;l{F+RqNJKupXywMm?P@mWr9ci|nC%u90OJV4Q3> z&oGB=0MNw{E0BcsfyI_QsIoEwtq&UqBV{1~Nge&ca#yKv6F`rRk& z;}6{j<6@N!0;jNoY)%d{o5;n&%wwn{{|ovT{M*L|~%%`7CcGWFcAZOal%)C*%ZdZl1wD$m2Y_Jn8 z%!7oVJVpb_Bz$a1oq}6A8+?LiPQ%fRQ@|~t_AoKzCSp!vTFVTWF_gjyQr-!e9MNG4 zk<)grV}=wDj2*70Q6w8121a0Sgee%!qp6Zz%zf-)&Cu9L^wQ->wC8e;js!8m`KeH=oum2*k&};U@T$jPSQdz6H4Hd~ zF2i}U$ByPfo6lMXJncq5o1!QOH&GptTwS-SK=16Hc8C;(56SzizB;si9?uUKuZt!HRG z4qI0rcs^WN516K;G)-;U3?FcNnWs5C4Y#=wqd!7hKXs%4&x*k;#yO5nXipKfUC{)k z5@-)-$wlTRVSY`P*8ILP>Ny3Z?+HLsOA~1@x;dO#;ID|d-w6zj#@NjBjyrnDPJn}n z?SMX@HnKk@Y?MmtpmfURNXOyy=j3>>FI}*-X#7IOantH$_P3W_2MQ@>&vNfPOA7Gi zhLub*ILe!BM&-mlKsA-S?W^_nrqVxva^~pMD!dNfr%UkVGV0pB1Fgi!o)s zp|pSIIR~j^2GZHq){xfqEVhjW$AKkS36Z>`QaFyXB=?J%bM}2PwAhfGJ=av7ER3yD z_8Q@y($ukp{Tb%`eee6IooOAg-JiaX z=>lsVEdsSe3rlkFEgno!uc&a7Fa-jW!)(BGD_yn*Bgzh85mX@3VoF`_L!bI48*0q{ z@atbVf9}v(hzt~A>2s5C6upMGh_j~ue+UwfN%R9b?;M>At^ zYyzGrumue~YCq)Y{>hasYpoB|4M^!iIDA_|33%@|5+vvNtHl;QB6 zMcHZQkVCt~5Hx}ZPf`ptIx4pk!S+MpYj706j-2fyjfJg}T5T7ad#s17U>eLb5f(>y zmezjW^ZNDq7>gJ%431_xW}kWZeRlZZ1=3{?oxAVsXwn*e&l z_=43z`xAT?2`ge&@lR3M5^F`xD`FgIRG27vUW&EJ3CPT1xIIMRY0%EpxT3a86=CH4wbF${9<=N&X8JmO}*~LYHg|cr7i1H6?QMrw-Xj z2X%;84x_)ooe@t;@%O^mfYm})c&=5EyeL)Z3?pjP-9w7XUg?D{Hv!+yCFy_6f1p-ocifuT|j zosbc4qGlrOlt^Z-PCWfP&x72sV++olx(P+sc~bekZymIHGT|AXK@?6u{TL;cHDLE` ztPgGa;W0$IirA-&8RNW_5{MQMQUgYcGxUdT$)GS zN!a>4)MGSe2*Q%Vzg^H2VH)$1I0|^!GuF=W??55h7~yFcK8xUKn&cE=|IOhJm50IbD(ue!&yDjkM^Vd?N9pP7 zV+wc^1{6g(C@pGTUL-=92R3jJZ5DCQfxUE4-GMh-v|s$-3wTpDCGf=3xOUpWseX&9 zC%&r=wWC|jOBtt%{P=%AMbYSwPBcZmAEVLY;I-v7t5GS#GyVRTd>@AsNJN7rwV-MN z4o=V5fBx`45rU#H1C}Vr<@oNNsj1h90RVR<|q+>thhS4v{Cg-6c|Ma zi300+p{14RabQ4m3n?rh($dn}$+QN>=IC%HQNR#phrV$%oKEp*qh;Y`C#UJC1m{)c zeEw1=DsyyK7HWDi-$~Sy>Y}=gL6KO!bdM8pbhq4a1%pL#5@EU&CkByb&9Wc-_KVhW}Cs zGm5g{!qlZOwBm15tR_Meq~L;+?2$o%zLew^q?UqK22cu{TOw16h7&Qs4js!2o zB*V4B+)HGFcfvblFDe0Lc`+7Cbr-gyZVkAP-}Alv2WLcMON0WU4m#;_YF?#f&O)v9 zm!X}FemBgN$_g4WU;s_xREK+Vtg;Cl_fUZJc!6#@aNUYr_5c%{$K#~ym6k+(VLmX) zgK^(e@QM4Fl1+ptVXiB0EVI4;=mJKBaRK*P!9*_a=#{^>aOB)pQbk~dBZ;vW7wH^S z=daqB`)MuK#QMg@O3qo(4jm*yOlBHO-D)zr3E)5)lz=FroK3tOjU8q7#?jM`G-z7~ zumG8fGKsJoIxI!UN`^v=_H=QN9)czGQpgVDKv^*ywq|55jt>$IXV9R6&I;UQ4`bGP z$KYf096=zV*%470p?pGZ%gXfF`)ZF~0~qHc79bA2&8 zq`|Ru%U0VrzZX`}q#ZwX(QdnH8|y~#4#%~1{TiUyAKR~g{C(TCbGbEOC|^H%$f|F= z9nJF~febGZwt?QG4E69p5B%n0vQ%_d=n%|K&%xjZ?ZA=W*ynbC!#?xT53tv!iO4k- zUD*}Jn4lqwJb zt1Hd@)F1!6J13{mzWn9K?fm&uRO3sXN_9_fFB2lpI_bNxlg_pdQWr%y3q*Tt26nKD z4@ppKGH7rSD$55#iRrMYMgulij77<#V*4UAx#P>%mkAlW3IHz~)TEjqq zl@#_4L;vfw$%&KDqKd4U^v+NB-NXpVJH^;L?s-2j#sJcxt)#7p{Sc+k28Z#`kn~ZT zOUz=D^avtBIMpCL?%J9{=ubnm4pYU3xv^mddI4yLv@xnF34ZGwjY=!Q%!`V{=r>T= zW`pISS;7($WokM%%6eekehO;i14Jw|eALuukcLmwEywmH3JXurD8RZYGFAI(SsAYs zwm^_;0E-j7VFYjv^ku$@w$=97z<6A&NRtpfns#oPYhaf>bRXkLYT3b`k$VDkC(`Cr_ zDww*|C-_2BeG;stdB(2YC^kyKaw@^*d8b7+#TZ!F2W3lz%W?R!nxqm%j&+(=-_8Mb z5ULQDjFF*fi!88V74oG6i1?%SHwDwihcT7R>QI*qBuzuG0!qN7HLk0d`E&Z$6*(OVObrcB z(XuQL$a}-UEASDA+)c))mC54Ti<~PJ(iIp9VpAO`6IzmLO_DSSkR?Td_!iKSRzE`+ zLzM?xL{VZ%c@<8OfgEH(vt-#tMDF=nIpD(Cd{+nvk765MzJg+TE22m02-Lfg267sK zUa6*}pE-|)`Xy@y1}F!9(Nu8-YH0*Y>a-EKqRx(=??Q*BpEU<+Nu!40!hryJ za1eQ++B>s22_!y|I>;-?wVrmaSD*p9hwb4{eZls=O~+&Ah@BrwXN`!y*(*iJ5~uMF zm9>Yc?M&iO)mf{#g9WTblA6i5{2&meMA?*CXOkIgjGNY2(yr>U&|uvtf@>KtS=1*X zXeq|MiM@2yx^mm|b}!wQ*|uWiI?LefUF>ML=0T*LIUt$X7x!pq+wPzK>i71E4}ZYc ztXjbjdTHo50Pae0hFz;D!v&6;1W+yph1zV#C|=+;*y!N00N@$CtTd|1Zj5#pt>79x zC8vJt=7<}MJLAON!06+jqL_t(v9-tWl-1n zci1Fc&7$IR>+K-5<_V>%A%3L#^@S%165)dnW0#tfYkT(mlY3Nk8Sy0!{~`{~GPQZVn8G zm`&D+vGqEI61*vfUW9c05;P*mp=3&!wmN@mtKgiHo}GgyT7U<3=2!xmDsD}yhC2~3AE;7kc?h9@m}i~qxLu+~6laSD?v5^Lm9qY0IUezk$dIm5cSc-Ao15-6ebl3%IIs)DC_WWScFTfTTJnQI>=l! zXz2g*!I~Eq#~jXi22oJo_z)?08t({x?kJE#0Ac$@Bw$aCFn}Uvm%1VtUm~z66bHfJ z)8P?k6fk85*u#@XicFJMK&}2+9C{!xAIzN??e#e&T(1|NJ*~uPKqGR}YFk(PbphRZ zi)0t--W=&sJV)`A-5y;W$JpgN22@>p(q!lG@*Egh7%HvJ{bWP|y7F>y%B&6dCCOk% zpIyNd`&mPrgF!W`@J=}Cix|H-qF$1CsA$ZSq_z}?<|^kPbvSjqidH6rt){aSysID> zO|#C+ld-2zN+g|!G1QQYM1rZR@?rp5K&8KX@UHjboG9oKBna!R|Y^<`ff@|Rrcqh|fCK`Wt4oY4M8*TtrNkJycdTl_5oD&zgzZ!^s{F9$zH;V1f ztJm4)RU7T-sS{9!X?$btB zxyNGYG9CnmR8&+)o&@d_DDIS$Qe5QFjUd?4eDNek^=13ccfVy@Hf*(zf9gZF92(5T zU?0sD`9zWGETk` zNAq6GDXpeS0zF-BQ3Ws$>8>A6?bpBg1FpfunA7JRPx-k|JcP>BYWvt1zrg0B8cz!4 zCavj5q&y3c9|=o`LD(jDg9RDv>vM+T3UijwzaWp1F|aY(Q7<;ruuzucKoUtzTA3jl zDq~INP&7+U%7VGEN?|8Xj+z+Je%j8RI}Ojg*E-tg zxVHi-+U*o@~@P503U-NVa)GJ9r`RXTnxvFS z)CIR#(1sTlNTL_0gFrz>*bSDfu~u%HSR^MPj=bojnp!i*mnP`|^92iRW(PjgJ@EIO zL-rswPih1jBoL>SeU^c{Rm%xH5}BUSM~)(Y30GeFs=M# zc_YIxVklI)fdK{AiSsQ!{nT*8VGpGP3(R3`V??By`qQ+WW(&G^C4)OSK2K)U#I=Z8 zaY}_4DXHlR^3&L`OwrbW&t}<|MR|D^B`Xp%kwlg?4W=!5Q%7wPLzPQM>@;U28JS8y z?_89z7{)W7Xgfx?WQcbZ!pWeC2EJX$nT7q-(~q%bm@(8kjj7AP@Qq^Zs?gdvd+sCx zUXTnhs0$GqY;YF2S$V)tM8J;Cn82ae67=;k%(@3zPP1y*VP1j(4R=;w#ATOVW-q+( z62K6~dK zceDSuF=^r5R0`lU4I|x=ZZHAY{ z{*$95i$xDx9PJD;{zL+eq*RC#6j{^AHV&PFltJdRZB4aZwRIJHZ^Hg@-~?GW!c91{ z%NwiB{qrCFaCev-@5fL44zI$E$lUWw6goi!G8}Uh82l7pDk>@|GIbHzE)ANLH-3UK7`A$#SySMg*;_SW9BR!{V}zA_)<=d zyoNNhj?^4EM>eVoifWJubHGL2)4@M;u~qA5@44q@yZe^w?V-;<%Bj?6)Mo63F2?R+ z<1UbjBqwXwDrpAclt$8oD59pZDHdsLh~OoaA;d5MGePKhFeobOXgp{JKTOM}eV2#^ z5&e94qdhpS^{dzO{c0&DQo_09!vlZ)l|8)RC`~PC%#Z8j&p609!=l_0)bq~M%#d$2 z=nNNCmZR_7!$ytSi?1B9vOKf>7hn}|cuxUmRF$p=I`FV@;5T>o+q=;pdGgP{qEVpU zItIrnI1bzPhP6b|I8U^qTP}7XpfhXBp=6Ckh-gSddujWP!D-%e;FRTI(5|@gT37=^ zU~@gRfx{|8g_w4>i;#VTjc(f>~10_RpB`- z81IEh9=IUgS3PQUP@|Kg91K1Nl^=Dk0a(D_N!I}80EHfqdG^o@hLdhH4vgkCO7c^% zk@ON=7_U?cabB{G5XMc#p#+*?Y>|o3M0?^y`)M_n@}Vu_crkD?LSAtG1)e=Ip%{Ze zlL$F0uiU|_4EddA|f z4q(J4r`R*>`zW27BfuK-b7*2LFJm|{B1UkZ=fUVVUpYWqHd@kY7)`RMj4ZK&Xf9C- zP2EA5x(2aoRFY(EMVD9ro)KOjp%%c(6YVRFX8i<1ka4=m)cT;=IT;^fOzG4O1Wl;R zE{dU0Lq&bHU`HTH>I`by3Q;^PVm}6GXB0(s5eF8daOZ{{5@CL*(*6W8CTGeA@5KYG zmF7o7gNS>50S#^3dnrLd7qmf%1BJN9QJ7zVPIm34wI~3#P|OZlLwy6;H$_P=>*8OB##6Lp+X_6HF>nXc|5i4kMU2%4%Y?dgL@U`8$AaOQwvOE7#(ffet$qq$sO^Kr$5(GATK74JCHynB3nqK~f3Dz;kC# zQH0E}%Wi(Z?R)JNLMRwWkPy^Dt^u+7B_}R>n1gPRevOW3x{b06WsvaFu|Z;fY0`L< zH5L2IgK?C`MqW0A0oF7ORHCR_nRg=aTzB87t!{*^0t}PH&%JeAt?3cF`MRquhvKXI z@|`<&{{_Jz85`%IaJU4>O^!3)t+bSbBW@}kE_hNGH__MA%jSmviXro}A=6-bJpJS! z&}Y8QZn)tV3Rj!$+RHZEl~-=H9q4Lo2k>9LW|_VF-M5nhcH1W&cpt6SxAFK;!$=DR zRE`r~?BDZ>UAF65vX?Hn@Rz5bx7YR{#|iv!%gyf~mGan) z*Y3nPRg;3(Bdk)*bAYuH*=n+H0t@D5fq(SVpRuqBcH~?Oht&)1YlVIGBk#8lefnRC z@_}xsAo(yrL%jR|U0^W|bT-~on4FwYdut1gCpiwpqt7jZam~O+@er};uoV^*vcZbr zs}4It_`*{oEVvhz!lkZJd*mY@kqKfQrA317Y)%TIE~l97IELZyb1+zMQdCXR#x`P< zsM=F_n(XSeVOSQK$@z8>erIDfcr(KB(i6!=5Pt#8v80-)lovZReaVJ88E#2LF;1sc zXaUL6_%M-cqTTz>E9`&voP;t5etP|CTEe^S^7RGQuxtZ*!p-*1>#w)h4|nqHL83R> zQrQA$k&+DJgfw(@cx1-vX|vzFvewS^4Pd!=4ycl9shyKi1KNmUjFmYB>7Ei^se4Ld z{iXt9wJ?qe0h!ubHheIh0tpi-XeFMDA?eBfN}<8T3%^)wjAV5PQn1v1^n)F%5S7F| zgu--x;y}`14J2S_ooPKdQe{#EDr6)yt5E0g5@n`g)O@7*sXm%Jz>(?a#2{eWiQv63 z2of+liD9nmDW*kNxC)Ut!(63g=ce<}4cw9Che{XgB-qHr*mT&*BeeU1Q72^;f)yLh zMCI&7%p9J@!#-QSGT(aoLsnKx>JP=zOA%=fXXZ-+Vxu0hYIULY_H__}Qp~+;9p{Qk z;Kk)c%K5M=ChdxAaq2k0B#Po;BHuVP!;r9E-i3^B0)}6BJ1GIN2=b?SDMaP!R3ifr z&LF12bC^)(pM{%6b4EXjav{xA$H9^IIA#!QOR&jA`gscPHHU{-hL5Tvg1iDk4 z2{!~c(#VKI0hIo>Jf|kTNPi|5?(RI%`Xc+og~rZ`5|14n#Ytid;uvz_v0KS#*VL`D zZA9j`KYPY!v2#w4_&6 zRyyyRGPI5MG0|sY$hr3!a9s%>>IjwA+&$yp}Uc(c!>!%1?IZmN$57r{i|+6HprcgUB>7z?l(CB!&XYc%Wk94EVS@}00Nx`Ult^^CdBaZF z4Ww@1Q&|||A&ibTTwZ=L#YNJ&(2V_`@BA1Y;T9GYF9hbQqCkYIbOO=!cOHMt-hA$9 z+EzIb8@KSeQ#7|+M}t7vmap2v&nyic7#n7E5nipgv)`V2?qy3N%DT|jV)d&K`hVxO zw!Wzjc;zuRJ%$#ofJDRyhWf@G%2^mlqJ#p1M0R)=Y%1t0fBFL} zP8T6jxhP=LIu>?MV8@06$3;P~ZMcgG7FA4-Zg;Mcmp+E!MgVH>ATOMQgM$m>C>Dvd zR;|vlrpg?9`@|``a@Xxd&`;8|(7^TyB5hhiO1fZwec>!oLJmUuIi%TB7+tS5_hAI! zYYShTfgv#fbt%L_SzDHA_uYG~{pe>;;RrBDq+-Gi-+kR>6pxQ_xaqFCG-!(|R8gc- z1zQ=@$mlT64S^=sKSngQbLYJD6Bp0h2k*R%eL#(Y zs7@`*nxvwlvm!qIk~&&4IG{GYesLbLM`D1mPuZ(ViNZv{YWPw6u-BK$y^gS+M0>nr zZpBH5Rcsb~5y8T$NUVdqh%r`X#VZEaM#~x~KtYL@T8#2+WtWNm0sH<>KVx^k^XvA^ zv%lp~QKSX;Jhq4W3)DyP&eiQ2g`VcZV9sJV%gd_>JccYK2f5jP>4C^l0DX~mmr zGr~tC3g?O_jYt)YwTO9-qc}r7k`uvWsL7w5-%H1VXvTR@;`w`M=bi)Sb`ibntjPGR zT-(T=>_rMH#{9^9sDKOvZtLXdQ8EPTQ-hV8jIua4-C48okx}TE8JscBJnNl91|}7} z8R(@U3V(w6RAV5h<@2m7yy-Z46vAB9fh$?uR5pi?j=zLBhLbss^ZcEr6|JRkdZw+* zE<;;qSw)ep2X^@E_y1&9Zdq&BT)E9=`0lp8E^Df(<=XRhtd(KC*bPlqPop4MUQ~*B zRJGHdUX;&NnzoCM^zPyPN7=i>wAPQ=V;}i2O(|sXnb0~}ssNe7tFJr{`zXzhUhK0N zO)h6noJDkLJ=qp|LOh0Q7FiTY17l;hY3l}5C`{U1k zj`L{a(Nh>=vILKGx3*b*c`?_)coW$Pk>S0B8d8rrD!hSIn{YHhH%2r*Ax{|;kIqv!Xe<`LNSunc7)D(0c*BxKvcy?=U_G$p0u(YFzSI$s_;~G*)$r! z+SLhttgrwMwWgfZI_ZVFy_6~0$1(Wim-SOTx!H?%8G66)+?NAa#^B!HVCQ2*_KxO@8AE01Cs=Yw*@>d zY*%b=vM)dS1^f6XKZllp8@e5-23~vu{BL-4oKw$uCN{4R!=k~Ysp$c0y)Z%%t^&`k z&dMcCTh25iddfHqomSO^9tVpo&5dE&rpJjwb2xX!OdJ{LCY`KZL%{?F3oHroH9I=S z?9YFBlHh^%T_Pd1LVG!Ug9CJb5j`ti-@dgL{5H!@cAT|JTBJ8_sk2w#JWIzI(=zH( z5#nhf;y|PdhcE<`Qb5G8W@DBer%~v}otsFnChfI1+pMvUkxVUMQSE>oKwb8T)+1a!N@Zd-_7O{wm7E;BvpE7^ev8PhMb> z0EMW+Qq&U3K&VIIMAXp=Cl+TVwvL|&M~oQZ@k-4Vsm6#@jCSU^FboP|YeYs#;Nnv= ztU_09t}!Cd$TGsaU3K zD0LkhxJ2X(Gh!l>3?_>vtpP{5(U;*t>95c!{P{EecJWLf`7)0B2j`2GLoB+O?`gfF^c_h+q|sKE??VZW$dZ1{NhEs^TsPt$V9@J25bvw1x(b1`dSKO73>l7;fDN%CbTneYXG2 z{bO!9&EKM2iuzdiYvUpYoL&byr%BLG4BUF@EDFu8ebodVJsqJ2%A8X<^N zbiF_(p&&N`OqYUsphT-C0q3PlF1d*!u=cSrqz|Y|c<9vr_M`8%zrA_X+5#TC?aGZt zOM;~ksJU0KTEClJ&a2a9m58%Z^qF`0*J{~@bN-&NaL9xvT73; zm;~CTDeHH-!qkF&4iBveQ+Svp7-zw#

EP{1~^*P_XhajvgX#*5@#P{yP5lsWt2p?8c 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