From 7b39760bccd5fe3c4ee997bd9b3012eedee8ed77 Mon Sep 17 00:00:00 2001 From: "Nicholas H.Tollervey" Date: Mon, 10 Feb 2020 12:33:22 +0000 Subject: [PATCH 01/13] Initial code for functional tests. TODO: Feedback please. --- Makefile | 8 ++++++++ dev-requirements.in | 1 + dev-requirements.txt | 3 +++ func_tests/__init__.py | 0 func_tests/test_client.py | 21 +++++++++++++++++++++ 5 files changed, 33 insertions(+) create mode 100644 func_tests/__init__.py create mode 100644 func_tests/test_client.py diff --git a/Makefile b/Makefile index 4303ce3cf..0f6ff6098 100644 --- a/Makefile +++ b/Makefile @@ -44,6 +44,14 @@ test-random: ## Run the application tests in random order xvfb-run $$TEST_CMD ; else \ $$TEST_CMD ; fi +FUNCTESTS ?= func_tests +.PHONY: func-test +func-test: + @TEST_CMD="python -m pytest -v --random-order-bucket=global $(TESTOPTS) $(FUNCTESTS)" ; \ + if command -v xvfb-run > /dev/null; then \ + xvfb-run $$TEST_CMD ; else \ + $$TEST_CMD ; fi + .PHONY: lint lint: ## Run the linters @flake8 securedrop_client tests diff --git a/dev-requirements.in b/dev-requirements.in index 23a2829ab..2a08a6eba 100644 --- a/dev-requirements.in +++ b/dev-requirements.in @@ -18,6 +18,7 @@ PyQt5==5.11.3 pytest==5.2.1 pytest-cov==2.8.1 pytest-mock==1.10.0 +pytest-qt==3.3.0 pytest-random-order==1.0.4 pytest-xdist==1.30.0 sip==4.19.8 diff --git a/dev-requirements.txt b/dev-requirements.txt index 541aebe89..85e7278a5 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -191,6 +191,9 @@ pytest-forked==1.1.1 \ pytest-mock==1.10.0 \ --hash=sha256:53801e621223d34724926a5c98bd90e8e417ce35264365d39d6c896388dcc928 \ --hash=sha256:d89a8209d722b8307b5e351496830d5cc5e192336003a485443ae9adeb7dd4c0 +pytest-qt==3.3.0 \ + --hash=sha256:5f8928288f50489d83f5d38caf2d7d9fcd6e7cf769947902caa4661dc7c851e3 \ + --hash=sha256:714b0bf86c5313413f2d300ac613515db3a1aef595051ab8ba2ffe619dbe8925 pytest-random-order==1.0.4 \ --hash=sha256:6b2159342a4c8c10855bc4fc6d65ee890fc614cb2b4ff688979b008a82a0ff52 \ --hash=sha256:72279a7f823969e18b10e438950f58330d17e0fcffb57cbd7929770cd687ecb2 diff --git a/func_tests/__init__.py b/func_tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/func_tests/test_client.py b/func_tests/test_client.py new file mode 100644 index 000000000..4895c58a5 --- /dev/null +++ b/func_tests/test_client.py @@ -0,0 +1,21 @@ +from PyQt5.QtCore import Qt + + +from securedrop_client.gui.main import Window +from securedrop_client.gui.widgets import LoginDialog + + +def test_login(qtbot, mocker): + """ + We see an error if incomplete credentials are supplied to the login dialog. + """ + w = Window() + login_dialog = LoginDialog(w) + login_dialog.error_bar.set_message = mocker.MagicMock() + login_dialog.show() + qtbot.addWidget(login_dialog) + assert login_dialog.error_bar.error_status_bar.text() == "" + qtbot.keyClicks(login_dialog.username_field, "journalist") + qtbot.mouseClick(login_dialog.submit, Qt.LeftButton) + assert login_dialog.error_bar.set_message.call_count == 1 + assert login_dialog.error_bar.isVisible() From c408b9d93b29d4423a3cef4b7172ea5baa973ed1 Mon Sep 17 00:00:00 2001 From: "Nicholas H.Tollervey" Date: Mon, 10 Feb 2020 12:41:19 +0000 Subject: [PATCH 02/13] Setup application for repeated test runs. --- Makefile | 8 -- dev-requirements.in | 2 + dev-requirements.txt | 60 +++++++++++ func_tests/test_client.py | 21 ---- {func_tests => tests/functional}/__init__.py | 0 tests/functional/test_client.py | 107 +++++++++++++++++++ 6 files changed, 169 insertions(+), 29 deletions(-) delete mode 100644 func_tests/test_client.py rename {func_tests => tests/functional}/__init__.py (100%) create mode 100644 tests/functional/test_client.py diff --git a/Makefile b/Makefile index 0f6ff6098..4303ce3cf 100644 --- a/Makefile +++ b/Makefile @@ -44,14 +44,6 @@ test-random: ## Run the application tests in random order xvfb-run $$TEST_CMD ; else \ $$TEST_CMD ; fi -FUNCTESTS ?= func_tests -.PHONY: func-test -func-test: - @TEST_CMD="python -m pytest -v --random-order-bucket=global $(TESTOPTS) $(FUNCTESTS)" ; \ - if command -v xvfb-run > /dev/null; then \ - xvfb-run $$TEST_CMD ; else \ - $$TEST_CMD ; fi - .PHONY: lint lint: ## Run the linters @flake8 securedrop_client tests diff --git a/dev-requirements.in b/dev-requirements.in index 2a08a6eba..6ccf15e04 100644 --- a/dev-requirements.in +++ b/dev-requirements.in @@ -20,6 +20,8 @@ pytest-cov==2.8.1 pytest-mock==1.10.0 pytest-qt==3.3.0 pytest-random-order==1.0.4 +pytest-vcr==1.0.2 pytest-xdist==1.30.0 sip==4.19.8 typed-ast==1.3.4 +vcrpy==4.0.2 diff --git a/dev-requirements.txt b/dev-requirements.txt index 85e7278a5..662bdc879 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -118,6 +118,25 @@ more-itertools==4.3.0 \ --hash=sha256:c187a73da93e7a8acc0001572aebc7e3c69daf7bf6881a2cea10650bd4420092 \ --hash=sha256:c476b5d3a34e12d40130bc2f935028b5f636df8f372dc2c1c01dc19681b2039e \ --hash=sha256:fcbfeaea0be121980e15bc97b3817b5202ca73d0eae185b4550cbfce2a3ebb3d +multidict==4.7.4 \ + --hash=sha256:13f3ebdb5693944f52faa7b2065b751cb7e578b8dd0a5bb8e4ab05ad0188b85e \ + --hash=sha256:26502cefa86d79b86752e96639352c7247846515c864d7c2eb85d036752b643c \ + --hash=sha256:4fba5204d32d5c52439f88437d33ad14b5f228e25072a192453f658bddfe45a7 \ + --hash=sha256:527124ef435f39a37b279653ad0238ff606b58328ca7989a6df372fd75d7fe26 \ + --hash=sha256:5414f388ffd78c57e77bd253cf829373721f450613de53dc85a08e34d806e8eb \ + --hash=sha256:5eee66f882ab35674944dfa0d28b57fa51e160b4dce0ce19e47f495fdae70703 \ + --hash=sha256:63810343ea07f5cd86ba66ab66706243a6f5af075eea50c01e39b4ad6bc3c57a \ + --hash=sha256:6bd10adf9f0d6a98ccc792ab6f83d18674775986ba9bacd376b643fe35633357 \ + --hash=sha256:83c6ddf0add57c6b8a7de0bc7e2d656be3eefeff7c922af9a9aae7e49f225625 \ + --hash=sha256:93166e0f5379cf6cd29746989f8a594fa7204dcae2e9335ddba39c870a287e1c \ + --hash=sha256:9a7b115ee0b9b92d10ebc246811d8f55d0c57e82dbb6a26b23c9a9a6ad40ce0c \ + --hash=sha256:a38baa3046cce174a07a59952c9f876ae8875ef3559709639c17fdf21f7b30dd \ + --hash=sha256:a6d219f49821f4b2c85c6d426346a5d84dab6daa6f85ca3da6c00ed05b54022d \ + --hash=sha256:a8ed33e8f9b67e3b592c56567135bb42e7e0e97417a4b6a771e60898dfd5182b \ + --hash=sha256:d7d428488c67b09b26928950a395e41cc72bb9c3d5abfe9f0521940ee4f796d4 \ + --hash=sha256:dcfed56aa085b89d644af17442cdc2debaa73388feba4b8026446d168ca8dad7 \ + --hash=sha256:f29b885e4903bd57a7789f09fe9d60b6475a6c1a4c0eca874d8558f00f9d4b51 \ + # via yarl mypy-extensions==0.4.1 \ --hash=sha256:37e0e956f41369209a3d5f34580150bcacfabaa57b33a15c0b25f4b5725e0812 \ --hash=sha256:b16cabe759f55e3409a7d231ebd2841378fb0c27a5d1994719e340e4f429ac3e @@ -197,6 +216,9 @@ pytest-qt==3.3.0 \ pytest-random-order==1.0.4 \ --hash=sha256:6b2159342a4c8c10855bc4fc6d65ee890fc614cb2b4ff688979b008a82a0ff52 \ --hash=sha256:72279a7f823969e18b10e438950f58330d17e0fcffb57cbd7929770cd687ecb2 +pytest-vcr==1.0.2 \ + --hash=sha256:23ee51b75abbcc43d926272773aae4f39f93aceb75ed56852d0bf618f92e1896 \ + --hash=sha256:2f316e0539399bea0296e8b8401145c62b6f85e9066af7e57b6151481b0d6d9c pytest-xdist==1.30.0 \ --hash=sha256:5d1b1d4461518a6023d56dab62fb63670d6f7537f23e2708459a557329accf48 \ --hash=sha256:a8569b027db70112b290911ce2ed732121876632fb3f40b1d39cd2f72f58b147 @@ -208,6 +230,19 @@ python-dateutil==2.7.5 \ --hash=sha256:88f9287c0174266bb0d8cedd395cfba9c58e87e5ad86b2ce58859bc11be3cf02 python-editor==1.0.3 \ --hash=sha256:a3c066acee22a1c94f63938341d4fb374e3fdd69366ed6603d7b24bed1efc565 +pyyaml==5.3 \ + --hash=sha256:059b2ee3194d718896c0ad077dd8c043e5e909d9180f387ce42012662a4946d6 \ + --hash=sha256:1cf708e2ac57f3aabc87405f04b86354f66799c8e62c28c5fc5f88b5521b2dbf \ + --hash=sha256:24521fa2890642614558b492b473bee0ac1f8057a7263156b02e8b14c88ce6f5 \ + --hash=sha256:4fee71aa5bc6ed9d5f116327c04273e25ae31a3020386916905767ec4fc5317e \ + --hash=sha256:70024e02197337533eef7b85b068212420f950319cc8c580261963aefc75f811 \ + --hash=sha256:74782fbd4d4f87ff04159e986886931456a1894c61229be9eaf4de6f6e44b99e \ + --hash=sha256:940532b111b1952befd7db542c370887a8611660d2b9becff75d39355303d82d \ + --hash=sha256:cb1f2f5e426dc9f07a7681419fe39cee823bb74f723f36f70399123f439e9b20 \ + --hash=sha256:dbbb2379c19ed6042e8f11f2a2c66d39cceb8aeace421bfc29d085d93eda3689 \ + --hash=sha256:e3a057b7a64f1222b56e47bcff5e4b94c4f61faac04c7c4ecb1985e18caa3994 \ + --hash=sha256:e9f45bd5b92c7974e59bcd2dcc8631a6b6cc380a904725fce7bc08872e691615 \ + # via vcrpy requests==2.20.0 \ --hash=sha256:99dcfdaaeb17caf6e526f32b6a7b780461512ab3f1d992187801694cba42770c \ --hash=sha256:a84b8c9ab6239b578f22d1c21d51b696dcfe004032bb80ea832398d6909d7279 @@ -256,10 +291,35 @@ typed-ast==1.3.4 \ urllib3==1.24.3 \ --hash=sha256:2393a695cd12afedd0dcb26fe5d50d0cf248e5a66f75dbd89a3d4eb333a61af4 \ --hash=sha256:a637e5fae88995b256e3409dc4d52c2e2e0ba32c42a6365fee8bbd2238de3cfb +vcrpy==4.0.2 \ + --hash=sha256:9740c5b1b63626ec55cefb415259a2c77ce00751e97b0f7f214037baaf13c7bf \ + --hash=sha256:c4ddf1b92c8a431901c56a1738a2c797d965165a96348a26f4b2bbc5fa6d36d9 wcwidth==0.1.7 \ --hash=sha256:3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e \ --hash=sha256:f4ebe71925af7b40a864553f761ed559b43544f8f71746c2d756c7fe788ade7c \ # via pytest +wrapt==1.11.2 \ + --hash=sha256:565a021fd19419476b9362b05eeaa094178de64f8361e44468f9e9d7843901e1 \ + # via vcrpy +yarl==1.4.2 \ + --hash=sha256:0c2ab325d33f1b824734b3ef51d4d54a54e0e7a23d13b86974507602334c2cce \ + --hash=sha256:0ca2f395591bbd85ddd50a82eb1fde9c1066fafe888c5c7cc1d810cf03fd3cc6 \ + --hash=sha256:2098a4b4b9d75ee352807a95cdf5f10180db903bc5b7270715c6bbe2551f64ce \ + --hash=sha256:25e66e5e2007c7a39541ca13b559cd8ebc2ad8fe00ea94a2aad28a9b1e44e5ae \ + --hash=sha256:26d7c90cb04dee1665282a5d1a998defc1a9e012fdca0f33396f81508f49696d \ + --hash=sha256:308b98b0c8cd1dfef1a0311dc5e38ae8f9b58349226aa0533f15a16717ad702f \ + --hash=sha256:3ce3d4f7c6b69c4e4f0704b32eca8123b9c58ae91af740481aa57d7857b5e41b \ + --hash=sha256:58cd9c469eced558cd81aa3f484b2924e8897049e06889e8ff2510435b7ef74b \ + --hash=sha256:5b10eb0e7f044cf0b035112446b26a3a2946bca9d7d7edb5e54a2ad2f6652abb \ + --hash=sha256:6faa19d3824c21bcbfdfce5171e193c8b4ddafdf0ac3f129ccf0cdfcb083e462 \ + --hash=sha256:944494be42fa630134bf907714d40207e646fd5a94423c90d5b514f7b0713fea \ + --hash=sha256:a161de7e50224e8e3de6e184707476b5a989037dcb24292b391a3d66ff158e70 \ + --hash=sha256:a4844ebb2be14768f7994f2017f70aca39d658a96c786211be5ddbe1c68794c1 \ + --hash=sha256:c2b509ac3d4b988ae8769901c66345425e361d518aecbe4acbfc2567e416626a \ + --hash=sha256:c9959d49a77b0e07559e579f38b2f3711c2b8716b8410b320bf9713013215a1b \ + --hash=sha256:d8cdee92bc930d8b09d8bd2043cedd544d9c8bd7436a77678dd602467a993080 \ + --hash=sha256:e15199cdb423316e15f108f51249e44eb156ae5dba232cb73be555324a1d49c2 \ + # via vcrpy zipp==0.6.0 \ --hash=sha256:3718b1cbcd963c7d4c5511a8240812904164b7f381b647143a89d3b98f9bcd8e \ --hash=sha256:f06903e9f1f43b12d371004b4ac7b06ab39a44adc747266928ae6debfa7b3335 \ diff --git a/func_tests/test_client.py b/func_tests/test_client.py deleted file mode 100644 index 4895c58a5..000000000 --- a/func_tests/test_client.py +++ /dev/null @@ -1,21 +0,0 @@ -from PyQt5.QtCore import Qt - - -from securedrop_client.gui.main import Window -from securedrop_client.gui.widgets import LoginDialog - - -def test_login(qtbot, mocker): - """ - We see an error if incomplete credentials are supplied to the login dialog. - """ - w = Window() - login_dialog = LoginDialog(w) - login_dialog.error_bar.set_message = mocker.MagicMock() - login_dialog.show() - qtbot.addWidget(login_dialog) - assert login_dialog.error_bar.error_status_bar.text() == "" - qtbot.keyClicks(login_dialog.username_field, "journalist") - qtbot.mouseClick(login_dialog.submit, Qt.LeftButton) - assert login_dialog.error_bar.set_message.call_count == 1 - assert login_dialog.error_bar.isVisible() diff --git a/func_tests/__init__.py b/tests/functional/__init__.py similarity index 100% rename from func_tests/__init__.py rename to tests/functional/__init__.py diff --git a/tests/functional/test_client.py b/tests/functional/test_client.py new file mode 100644 index 000000000..fe523b55b --- /dev/null +++ b/tests/functional/test_client.py @@ -0,0 +1,107 @@ +import os +import tempfile +import json +import pytest + + +from sqlalchemy.orm.exc import NoResultFound + + +from PyQt5.QtCore import Qt + + +from securedrop_client.gui.main import Window +from securedrop_client.logic import Controller +from securedrop_client.config import Config +from securedrop_client.gui.widgets import LoginDialog +from securedrop_client.db import Base, make_session_maker, ReplySendStatus, ReplySendStatusCodes +from securedrop_client.utils import safe_mkdir + + +HOSTNAME = "http://localhost:8081/" +USERNAME = "journalist" +PASSWORD = "correct horse battery staple profanity oil chewy" +OTP = "783682" + + +def get_safe_tempdir(): + return tempfile.TemporaryDirectory() + + +def get_test_context(sdc_home, mocker): + """ + Returns a tuple containing a Window instance and a Controller instance that + have been correctly set up and isolated from any other instances of the + application to be run in the test suite. + """ + gui = Window() # The application's wind + # Create all app assets in a new temp directory and sub-directories. + safe_mkdir(os.path.join(sdc_home.name, "gpg")) + safe_mkdir(os.path.join(sdc_home.name, "data")) + # Configure and create the database. + session_maker = make_session_maker(sdc_home.name) + create_dev_data(sdc_home.name, session_maker) + # Create the controller. + controller = Controller(HOSTNAME, gui, session_maker, sdc_home.name, + False, False) + # Link the gui and controller together. + gui.controller = controller + # Et Voila... + with mocker.patch("securedrop_client.logic.sdclientapi") as mock_api: + return (gui, controller, mock_api) + + +def create_dev_data(sdc_home, session_maker): + """ + Based upon the functionality in the script, create_dev_data.py. This is + used to setup and configure the database and GPG keyring related metadata. + """ + session = session_maker() + Base.metadata.create_all(bind=session.get_bind()) + + with open(os.path.join(sdc_home, Config.CONFIG_NAME), 'w') as f: + f.write(json.dumps({ + 'journalist_key_fingerprint': '65A1B5FF195B56353CC63DFFCC40EF1228271441', + })) + + for reply_send_status in ReplySendStatusCodes: + try: + reply_status = session.query(ReplySendStatus).filter_by( + name=reply_send_status.value).one() + except NoResultFound: + reply_status = ReplySendStatus(reply_send_status.value) + session.add(reply_status) + session.commit() + + +def test_login_ensure_errors_displayed(qtbot, mocker): + """ + We see an error if incomplete credentials are supplied to the login dialog. + """ + w = Window() + login_dialog = LoginDialog(w) + login_dialog.show() + assert login_dialog.error_bar.error_status_bar.text() == "" + qtbot.keyClicks(login_dialog.username_field, "journalist") + qtbot.mouseClick(login_dialog.submit, Qt.LeftButton) + expected = "Please enter a username, password and two-factor code." + actual = login_dialog.error_bar.error_status_bar.text() + assert actual == expected + + +def test_login_as_journalist(qtbot, mocker): + """ + The app is visible if the user logs in with apparently correct credentials. + """ + tempdir = get_safe_tempdir() # Once out of scope, is deleted. + gui, controller, mock_api = get_test_context(tempdir, mocker) + login_dialog = LoginDialog(gui) + login_dialog.setup(controller) + gui.login_dialog = login_dialog + login_dialog.show() + assert login_dialog.error_bar.error_status_bar.text() == "" + qtbot.keyClicks(login_dialog.username_field, USERNAME) + qtbot.keyClicks(login_dialog.password_field, PASSWORD) + qtbot.keyClicks(login_dialog.tfa_field, OTP) + qtbot.mouseClick(login_dialog.submit, Qt.LeftButton) + assert gui.isVisible() From 7612dae11b36e65e69224a0162e9616b4fb0b003 Mon Sep 17 00:00:00 2001 From: "Nicholas H.Tollervey" Date: Mon, 17 Feb 2020 14:00:47 +0000 Subject: [PATCH 03/13] Working functional test, with VCR, xvfb, Makefile and cassettes. --- Makefile | 18 +++++++--- securedrop_client/gui/main.py | 2 +- .../cassettes/test_login_as_journalist.yaml | 35 +++++++++++++++++++ tests/functional/test_client.py | 32 +++++++++-------- tests/gui/test_main.py | 4 +-- 5 files changed, 68 insertions(+), 23 deletions(-) create mode 100644 tests/functional/cassettes/test_login_as_journalist.yaml diff --git a/Makefile b/Makefile index 4303ce3cf..ede3965f6 100644 --- a/Makefile +++ b/Makefile @@ -29,19 +29,27 @@ clean: ## Clean the workspace of generated resources find . -name __pycache__ -print0 | xargs -0 rm -rf TESTS ?= tests +FTESTS ?= tests/functional TESTOPTS ?= -v .PHONY: test test: ## Run the application tests in parallel (for rapid development) - @TEST_CMD="python -m pytest -v -n 4 --cov-config .coveragerc --cov-report html --cov-report term-missing --cov=securedrop_client --cov-fail-under 100 $(TESTOPTS) $(TESTS)" ; \ + @TEST_CMD="python -m pytest -v -n 4 --ignore=$(FTESTS) --cov-config .coveragerc --cov-report html --cov-report term-missing --cov=securedrop_client --cov-fail-under 100 $(TESTOPTS) $(TESTS)" ; \ if command -v xvfb-run > /dev/null; then \ - xvfb-run $$TEST_CMD ; else \ + xvfb-run -a $$TEST_CMD ; else \ $$TEST_CMD ; fi .PHONY: test-random test-random: ## Run the application tests in random order - @TEST_CMD="python -m pytest -v --random-order-bucket=global --cov-config .coveragerc --cov-report html --cov-report term-missing --cov=securedrop_client --cov-fail-under 100 $(TESTOPTS) $(TESTS)" ; \ + @TEST_CMD="python -m pytest -v --ignore=$(FTESTS) --random-order-bucket=global --cov-config .coveragerc --cov-report html --cov-report term-missing --cov=securedrop_client --cov-fail-under 100 $(TESTOPTS) $(TESTS)" ; \ if command -v xvfb-run > /dev/null; then \ - xvfb-run $$TEST_CMD ; else \ + xvfb-run -a $$TEST_CMD ; else \ + $$TEST_CMD ; fi + +.PHONY: test-functional +test-functional : ## Run the functional tests in random order. + @TEST_CMD="python -m pytest -v --random-order-bucket=global $(TESTOPTS) $(FTESTS)" ; \ + if command -v xvfb-run > /dev/null; then \ + xvfb-run -a $$TEST_CMD ; else \ $$TEST_CMD ; fi .PHONY: lint @@ -67,7 +75,7 @@ bandit: ## Run bandit with medium level excluding test-related folders bandit -ll --recursive . --exclude ./tests,./.venv .PHONY: check -check: clean bandit lint mypy test-random ## Run the full CI test suite +check: clean bandit lint mypy test-random test-functional ## Run the full CI test suite .PHONY: update-pip-requirements update-pip-requirements: ## Updates all Python requirements files via pip-compile. diff --git a/securedrop_client/gui/main.py b/securedrop_client/gui/main.py index 7df5d378b..09630a7c2 100644 --- a/securedrop_client/gui/main.py +++ b/securedrop_client/gui/main.py @@ -126,7 +126,7 @@ def show_login(self, error: str = ''): self.login_dialog.reset() if error: self.login_dialog.error(error) - self.login_dialog.exec() + self.login_dialog.show() def show_login_error(self, error): """ diff --git a/tests/functional/cassettes/test_login_as_journalist.yaml b/tests/functional/cassettes/test_login_as_journalist.yaml new file mode 100644 index 000000000..5546939c5 --- /dev/null +++ b/tests/functional/cassettes/test_login_as_journalist.yaml @@ -0,0 +1,35 @@ +interactions: +- request: + body: '{"username": "journalist", "passphrase": "correct horse battery staple + profanity oil chewy", "one_time_code": "493941"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '119' + User-Agent: + - python-requests/2.20.0 + method: POST + uri: http://localhost:8081/api/v1/token + response: + body: + string: "{\n \"expiration\": \"2020-02-17T21:45:20.569829Z\", \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_uuid\": \"1eff0bb5-289b-4105-b3c1-ec93d5704db6\", + \n \"token\": \"eyJhbGciOiJIUzI1NiIsImlhdCI6MTU4MTk0NzEyMCwiZXhwIjoxNTgxOTc1OTIwfQ.eyJpZCI6MX0.4h6pPAy4bl58Yc5Gim1LVdhvTYELvMfIWoZPlBR2ZZI\"\n}\n" + headers: + Content-Length: + - '317' + Content-Type: + - application/json + Date: + - Mon, 17 Feb 2020 13:45:20 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/functional/test_client.py b/tests/functional/test_client.py index fe523b55b..29dcdd7c9 100644 --- a/tests/functional/test_client.py +++ b/tests/functional/test_client.py @@ -21,14 +21,13 @@ HOSTNAME = "http://localhost:8081/" USERNAME = "journalist" PASSWORD = "correct horse battery staple profanity oil chewy" -OTP = "783682" def get_safe_tempdir(): return tempfile.TemporaryDirectory() -def get_test_context(sdc_home, mocker): +def get_test_context(sdc_home, qtbot): """ Returns a tuple containing a Window instance and a Controller instance that have been correctly set up and isolated from any other instances of the @@ -46,9 +45,10 @@ def get_test_context(sdc_home, mocker): False, False) # Link the gui and controller together. gui.controller = controller + # Ensure Qt widgets are properly closed after test run. + qtbot.addWidget(gui) # Et Voila... - with mocker.patch("securedrop_client.logic.sdclientapi") as mock_api: - return (gui, controller, mock_api) + return (gui, controller) def create_dev_data(sdc_home, session_maker): @@ -89,19 +89,21 @@ def test_login_ensure_errors_displayed(qtbot, mocker): assert actual == expected +@pytest.mark.vcr() def test_login_as_journalist(qtbot, mocker): """ The app is visible if the user logs in with apparently correct credentials. """ tempdir = get_safe_tempdir() # Once out of scope, is deleted. - gui, controller, mock_api = get_test_context(tempdir, mocker) - login_dialog = LoginDialog(gui) - login_dialog.setup(controller) - gui.login_dialog = login_dialog - login_dialog.show() - assert login_dialog.error_bar.error_status_bar.text() == "" - qtbot.keyClicks(login_dialog.username_field, USERNAME) - qtbot.keyClicks(login_dialog.password_field, PASSWORD) - qtbot.keyClicks(login_dialog.tfa_field, OTP) - qtbot.mouseClick(login_dialog.submit, Qt.LeftButton) - assert gui.isVisible() + gui, controller = get_test_context(tempdir, qtbot) + gui.setup(controller) + assert gui.login_dialog.error_bar.error_status_bar.text() == "" + qtbot.keyClicks(gui.login_dialog.username_field, USERNAME) + qtbot.keyClicks(gui.login_dialog.password_field, PASSWORD) + qtbot.keyClicks(gui.login_dialog.tfa_field, "493941") + with qtbot.waitSignal(controller.authentication_state, timeout=10000): + qtbot.mouseClick(gui.login_dialog.submit, Qt.LeftButton) + # The main window is visible (indicating a successful login). + assert gui.isVisible() + # The login box isn't visible. + assert gui.login_dialog is None diff --git a/tests/gui/test_main.py b/tests/gui/test_main.py index fd33da021..83746a723 100644 --- a/tests/gui/test_main.py +++ b/tests/gui/test_main.py @@ -109,7 +109,7 @@ def test_show_login(mocker): mock_ld.assert_called_once_with(w) w.login_dialog.reset.assert_called_once_with() - w.login_dialog.exec.assert_called_once_with() + w.login_dialog.show.assert_called_once_with() def test_show_login_with_error_message(mocker): @@ -124,7 +124,7 @@ def test_show_login_with_error_message(mocker): mock_ld.assert_called_once_with(w) w.login_dialog.reset.assert_called_once_with() - w.login_dialog.exec.assert_called_once_with() + w.login_dialog.show.assert_called_once_with() w.login_dialog.error.assert_called_once_with('this-is-an-error-message-to-show-on-login-window') From 2d9802569aec14846de2fc9a4c86e40196fe75ba Mon Sep 17 00:00:00 2001 From: "Nicholas H.Tollervey" Date: Mon, 17 Feb 2020 17:38:06 +0000 Subject: [PATCH 04/13] Added commentary in the code for future maintainers. --- tests/functional/test_client.py | 48 ++++++++++++++++++++++++++++----- 1 file changed, 41 insertions(+), 7 deletions(-) diff --git a/tests/functional/test_client.py b/tests/functional/test_client.py index 29dcdd7c9..4df5a5272 100644 --- a/tests/functional/test_client.py +++ b/tests/functional/test_client.py @@ -1,3 +1,29 @@ +""" +Functional tests for the SecureDrop client application. The tests are based +upon the client testing descriptions here: + +https://github.com/freedomofpress/securedrop-client/wiki/Test-plan#basic-client-testing + +The code is copiously commented and you should look at test_login_as_journalist +for a basic example of how to configure/write/test. + +Use the `qtbot` object to drive the UI. This is a part of the pytest-qt +package whose documentation is here: + +https://pytest-qt.readthedocs.io/en/latest/ + +When writing tests that require the user to log in, on first run of the test +you must make sure the TOTP is correct for the time at which the test is run. +For any further run of the test, this doesn't need to be the case since vcrpy +will replay the original response from the test server. These responses are +stored in the cassettes directory and should be committed to the git +repository. The `vcrpy` module's documentation is here: + +https://vcrpy.readthedocs.io/en/latest/ + +The tests will be run when you `make check` (with everything else) or if you +just `make test-functional`. +""" import os import tempfile import json @@ -24,6 +50,9 @@ def get_safe_tempdir(): + """ + Return the tempdir to be used to isolate each run of the app in a test. + """ return tempfile.TemporaryDirectory() @@ -33,7 +62,8 @@ def get_test_context(sdc_home, qtbot): have been correctly set up and isolated from any other instances of the application to be run in the test suite. """ - gui = Window() # The application's wind + # The application's window. + gui = Window() # Create all app assets in a new temp directory and sub-directories. safe_mkdir(os.path.join(sdc_home.name, "gpg")) safe_mkdir(os.path.join(sdc_home.name, "data")) @@ -58,12 +88,10 @@ def create_dev_data(sdc_home, session_maker): """ session = session_maker() Base.metadata.create_all(bind=session.get_bind()) - with open(os.path.join(sdc_home, Config.CONFIG_NAME), 'w') as f: f.write(json.dumps({ 'journalist_key_fingerprint': '65A1B5FF195B56353CC63DFFCC40EF1228271441', })) - for reply_send_status in ReplySendStatusCodes: try: reply_status = session.query(ReplySendStatus).filter_by( @@ -89,21 +117,27 @@ def test_login_ensure_errors_displayed(qtbot, mocker): assert actual == expected -@pytest.mark.vcr() +@pytest.mark.vcr() # Ensure any API network traffic is recorded/replayed. def test_login_as_journalist(qtbot, mocker): """ The app is visible if the user logs in with apparently correct credentials. """ - tempdir = get_safe_tempdir() # Once out of scope, is deleted. + # Once out of scope, is deleted. + tempdir = get_safe_tempdir() + # Create a clean context. gui, controller = get_test_context(tempdir, qtbot) gui.setup(controller) - assert gui.login_dialog.error_bar.error_status_bar.text() == "" + # Fill in UI with good credentials. qtbot.keyClicks(gui.login_dialog.username_field, USERNAME) qtbot.keyClicks(gui.login_dialog.password_field, PASSWORD) qtbot.keyClicks(gui.login_dialog.tfa_field, "493941") + # The waitSignal context handler is used to allow the API thread to call + # and then (ultimately) emit the expected signal. This pattern will need to + # be used with all API calls. For more information about this method, see: + # https://pytest-qt.readthedocs.io/en/latest/signals.html with qtbot.waitSignal(controller.authentication_state, timeout=10000): qtbot.mouseClick(gui.login_dialog.submit, Qt.LeftButton) # The main window is visible (indicating a successful login). assert gui.isVisible() - # The login box isn't visible. + # The login box no longer exists. assert gui.login_dialog is None From 64d151905492ed802802464a9055be59f9a1d305 Mon Sep 17 00:00:00 2001 From: "Nicholas H.Tollervey" Date: Wed, 19 Feb 2020 10:30:02 +0000 Subject: [PATCH 05/13] Add GPG setup and logout test. --- .../cassettes/test_logout_as_journalist.yaml | 667 ++++++++++++++++++ tests/functional/test_client.py | 63 +- 2 files changed, 726 insertions(+), 4 deletions(-) create mode 100644 tests/functional/cassettes/test_logout_as_journalist.yaml diff --git a/tests/functional/cassettes/test_logout_as_journalist.yaml b/tests/functional/cassettes/test_logout_as_journalist.yaml new file mode 100644 index 000000000..934fe034b --- /dev/null +++ b/tests/functional/cassettes/test_logout_as_journalist.yaml @@ -0,0 +1,667 @@ +interactions: +- request: + body: '{"username": "journalist", "passphrase": "correct horse battery staple + profanity oil chewy", "one_time_code": "053787"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '119' + User-Agent: + - python-requests/2.20.0 + method: POST + uri: http://localhost:8081/api/v1/token + response: + body: + string: "{\n \"expiration\": \"2020-02-18T22:39:51.174595Z\", \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_uuid\": \"5c484001-bff2-469b-8aba-2241166b7d9a\", + \n \"token\": \"eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w\"\n}\n" + headers: + Content-Length: + - '317' + Content-Type: + - application/json + Date: + - Tue, 18 Feb 2020 14:39:51 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources + response: + body: + string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"cleft heartlessness\", \n \"key\": + {\n \"fingerprint\": \"0305C7D5CF26DCC77A5F6E9DA9CF2A3B924A1148\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADEbLBD0FndBYC2roWSPujsfMciIn7tsHA+HeCLrZ3p8mWQX3a8\\nGxmWLaH84CIJ6zy7VkkzuCg6dcbeUOFxK6wwsuEee7Oz1/BhYkE6oYA6v/uMnfEr\\nr3do26jWV+4FUKjUJbCWyBh/uuWAcxRIH3xX6wD9PFCgvgr3h1QMhrIiln6UmaXX\\ny047CwD58r7fcOQUP7WvDJ+Em5szF4kY/fO6IPlnyUGQePWL5oa5/RIAtCXGM/Nz\\n7RhcfHQmvXofal7GhNZFM5W/2ErOKPX0W4nBJgMZEBolb/lOeOpOQrSbUNuducKk\\npIoXkqe9qa8sLWsCWNAcJbuyw6hAb+uGFYvk2+HS97pL7yNMQ09SZHLA4q8Psxw/\\n1g7BFclvRBX+1qtg5h7guXAzgrNRNVj8bDWdy4LfbDxRtz53b8MOAJNaCpv7f6Sf\\nqN+INBVnsGt9aFrdvnkGpSP+NeOqGvA241b/7UT1CyCWo2Ruwh7gpUBqmPfmZwkb\\nqoQdUHxGHLlAaU/c6v466kzLJejX6IJkp8lDj4c9kieTyAJ1qBP/rKeUPIeQQCW8\\n0YN4TNawG9vvdLHmqeSxiIr1NnvVPsCL1ZdLMWcnVMbXICivmbFHbBqB2OSZs4k+\\nDCAKBXUIaTsBvOfSWY/GCfKvtBy5Awc72TW+w24uxd/RRFTps54xiEibvQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8TFhXWkJRT1VYQ1hJRVRJR0gzNVhGVE1MTVU1\\nMklRTUpFQ1M1SUFKUlZZUDQzVkU0SURKM1pYS0ZMQlVHU1o3T1FRTk9URU5aNE1G\\nWkY3QU1ISEFITzJJM0NLUEJSS1FQM1hCUU83QT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEKnPKjuSShFI2G8P/0EqJETVEvI8\\nRUhN4hkWLHMoBtbrNBmBOU48W/hx2lekQJz9/52s6BXtHzZmbg1jhQoUHUZjWGZX\\nCEeC9a/efuaIGRZW4/0KQxBVWlUAQDZCdlx8DHrxyom3gfeRELuSB7D8xd+AXghA\\noHQqgHb7G3rWQZ9zZ3i/ZFoLVrTO4PpgMhi5IcKbmGeSlD8mgwkC4MlRa8kDV/Qo\\n0rvG1pXniz5JVUGAqeYCfnm26maF6mxZGzXuVTqIX9jRuB0GX4LxIXhYKU67ftlG\\nBAjXYhmF18UPEcEvclHfZChq1G6/2Ee2Ny8M67rBtzDeNVZ+UjOLvs53VHE/Hklq\\nI/cEwP8Jujo5YlKQPP7aozD9qIlbXng6uC/gjJPa7Fa0Lzzp8+Y845wG/9zkpOgg\\nPvrCkbF1FxPHffDGmqWuA4TY2VOiqx7ULGOOvI+M6FavcTNX0WLIGumdIFuRR6JK\\n84sCmtpfcrVhs2QQC6J4TXYnQnBBdAf6RtvsliE7I/0fkTEC7oMrdhrKybowglD5\\n1ciV4eP7ZH6EUDnp6VPnop5KKMi5nUbF+sb0ieTPYbzFV1E2lQAzw4G7IILcZyuC\\nd1H7V7alCEe3FGMQQH+3IVqbgsIVxUyN0qjXBgEsnmNupcNLC0gK0zNSg9CTAm2E\\nym7os35LrsFmDsWAVEjbUIZPd96fSBSn\\n=MtU1\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-18T13:26:50.212347Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/remove_star\", + \n \"replies_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/replies\", + \n \"submissions_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/submissions\", + \n \"url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7\", + \n \"uuid\": \"20a5450e-8de4-4372-8b7d-e78847ac9ea7\"\n }, \n {\n + \ \"add_star_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"coarse environment\", \n \"key\": + {\n \"fingerprint\": \"68965CACA90C7085959DDBA3AD0D0EAD95F7626D\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADfc2efBukpIfl+HqY2VRf85OqHj8O77CCik0f6MbgaLLg6U8Eb\\ntrSUzacZAmIHy7kafPSP5GVgHjTTS/uW5w/G1PKPkFtCWpKAmEpTTr4BMA3GGYou\\nwgaRhaBbczai5oM4y7xaszfv7wCKjFPcrs9YWk82D899H/mrYctz7Xjphmynwsys\\n6vDR159f2jZe+vSYGQP3BtOXYk0yFge6OXJMItUTH1oaUb+C0mDeaj8OyEBL0/ex\\nrW4GvA4aIb/Nl5n7RmApXIUVZjVByfJ6STjM355DiQ6FOqQOc+BIOtnzonXhySh2\\nGvTG7EiV9wXqqqrd1jBmxG8sLBX4I7xUHFgTDEn3X0RBFPX3zEqN/Nn1DmY5RCfL\\n5X0A8UQDPwQ4C7LRu+Li15e0i2xyKq+hT2ZMpdt2WSKckotsgzxf+P8g8vCAr8ns\\nWkbSL1N2kfITVuteV/LI/YymkW0YAPR2w4udPjzarDv2uBpac2sV9us2Hm9Jth77\\no9Z8pnfqAgdhq7GP1EEjR7K6ryNsosqunH3lDPWvPIm4IKBfXamm/lI6g0ejKK3W\\n+L3ysr+XJDupszI6OGxpppAx5vb+k7FmTdnT2fp8A8aLZlD23FxdnGO2S54nGZRV\\nZfRBG+LJCzO0q7HjM5EYMk+LhYIfzlRWlbMaF5ShjxCmbNgWCeZbcaiDLQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8SE1HTkFHUlVZMlhTWlpHT0xYR1dPTVU3VUdJ\\nTDRNV1JVVlFJNE9JTzIyN1pOSUdKNkJIVVBXRklCMzJPUU1YTkpISzNONFA0VTNP\\nUVdDTDZJN0E1TEpVUjNJM0VMNENEQ1JNWktLQT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEK0NDq2V92Jtg+0QALn17IejgvgH\\nhgO13Z5sGVnRrFscoF/iwWUGyGo7ARLZgn8ovzoOVLJb0OMg5vHkw40Q0S6lTP2N\\nl1bogook3r4GhhXixjiOvJTkCuNph4FkNPwrD1m8Jgl5zQoL81c7gXkFmuQ+fyTQ\\nRF42Q5Na3343BRqRfuXpKaHAWwSB+pIin99EMaqONM1ZUdq4x27H78StTf/nAScK\\ntFId5J00IYjl00iV4+rxCgpt+5Ao+LxMDS/liWhZ8DtLEhiE1uTBWi9V2cnqOojb\\nVxqvCfVW/PqOIiOrTWwvStxgrb2hiwFqnv0LvNYhEDOXM+6FXwkBFE5m3QZ8vZQg\\nmGhPoIsV/pylNxbHt0c0CuE3wHXHcwntvyYS9QQWPK7Z6LFOh4XfDbcS0qsIPC9j\\nk2MAJyfhIn2woOOX2464jni7OTiIHSLltV5TXwf/KBLsmPT18oEYEIYkNVhJFf7F\\nAo0WUh1aAOcBRP8F+DBgCNhszZRlM+dLnowF1JyR/IAHYKqnOE83rf5vKvR1D76g\\no94jFd75VHRu1mmttQimI8UBHHu6fUST4jXykXlFtIgbPPvjcJbSTen4R3bw42Dy\\nyMu/+KRf6XM0ot+L/fe56Bc/IGGNweipF69BbKzKzcxssrU04O4s+ux6LM9H8mqR\\n8omAo+aoJ1YYn2qv1b2Mj9tyasgL9RE9\\n=B/IE\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-18T13:26:51.359811Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/remove_star\", + \n \"replies_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/replies\", + \n \"submissions_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/submissions\", + \n \"url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88\", + \n \"uuid\": \"41e0394e-9676-4e2e-8285-31445d143e88\"\n }\n ]\n}\n" + headers: + Content-Length: + - '5352' + Content-Type: + - application/json + Date: + - Tue, 18 Feb 2020 14:39:51 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/submissions + response: + body: + string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/submissions/5e992e54-88fb-4e6e-9b6b-637522057cc6/download\", + \n \"filename\": \"1-cleft_heartlessness-msg.gpg\", \n \"is_read\": + true, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7\", + \n \"submission_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/submissions/5e992e54-88fb-4e6e-9b6b-637522057cc6\", + \n \"uuid\": \"5e992e54-88fb-4e6e-9b6b-637522057cc6\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/submissions/0b81f18a-17b2-4b42-a9ee-df2aaf7b5796/download\", + \n \"filename\": \"2-cleft_heartlessness-msg.gpg\", \n \"is_read\": + true, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7\", + \n \"submission_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/submissions/0b81f18a-17b2-4b42-a9ee-df2aaf7b5796\", + \n \"uuid\": \"0b81f18a-17b2-4b42-a9ee-df2aaf7b5796\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/submissions/80903a12-6227-4ace-8639-16e44fa92824/download\", + \n \"filename\": \"1-coarse_environment-msg.gpg\", \n \"is_read\": + true, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88\", + \n \"submission_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/submissions/80903a12-6227-4ace-8639-16e44fa92824\", + \n \"uuid\": \"80903a12-6227-4ace-8639-16e44fa92824\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/submissions/103a307b-6a3c-4e70-94ac-1e181123fcb1/download\", + \n \"filename\": \"2-coarse_environment-msg.gpg\", \n \"is_read\": + true, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88\", + \n \"submission_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/submissions/103a307b-6a3c-4e70-94ac-1e181123fcb1\", + \n \"uuid\": \"103a307b-6a3c-4e70-94ac-1e181123fcb1\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2051' + Content-Type: + - application/json + Date: + - Tue, 18 Feb 2020 14:39:51 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/replies + response: + body: + string: "{\n \"replies\": [\n {\n \"filename\": \"3-cleft_heartlessness-reply.gpg\", + \n \"is_deleted_by_source\": false, \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_username\": + \"journalist\", \n \"journalist_uuid\": \"5c484001-bff2-469b-8aba-2241166b7d9a\", + \n \"reply_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/replies/21aa2fdd-cab0-4fef-8191-271839b633d5\", + \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7\", + \n \"uuid\": \"21aa2fdd-cab0-4fef-8191-271839b633d5\"\n }, \n {\n + \ \"filename\": \"4-cleft_heartlessness-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"5c484001-bff2-469b-8aba-2241166b7d9a\", \n \"reply_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/replies/83821ec5-f837-4dcc-9907-882f8c6b7037\", + \n \"size\": 1219, \n \"source_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7\", + \n \"uuid\": \"83821ec5-f837-4dcc-9907-882f8c6b7037\"\n }, \n {\n + \ \"filename\": \"3-coarse_environment-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"5c484001-bff2-469b-8aba-2241166b7d9a\", \n \"reply_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/replies/3226c5a2-1a30-4ffe-a370-c9bb79338eb2\", + \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88\", + \n \"uuid\": \"3226c5a2-1a30-4ffe-a370-c9bb79338eb2\"\n }, \n {\n + \ \"filename\": \"4-coarse_environment-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"5c484001-bff2-469b-8aba-2241166b7d9a\", \n \"reply_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/replies/4cba613b-1421-471d-9992-d70296438699\", + \n \"size\": 1219, \n \"source_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88\", + \n \"uuid\": \"4cba613b-1421-471d-9992-d70296438699\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2271' + Content-Type: + - application/json + Date: + - Tue, 18 Feb 2020 14:39:51 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/submissions/5e992e54-88fb-4e6e-9b6b-637522057cc6/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ/+LUS7hKcCgbJqU0kPe56SsQcWjUiXQu1QSu7/o55J/mowOIaDviuc7FJL + Baa+n051aX41eE1+ycFpbup1z+kwzolAeG21Irw/aHTKuafheqtidYkPfXthihl9bjPt00wV0R42 + g3ZGLPbsdbyv+oMGs/6akBVWUA6vE2JgICd44gLcdad8NoOwqOu6V/dWsCjPvy+fJq4Kr5xqZK+2 + WXQEz14FsDEduLXdo4Bw1Swl7kPxemhazKcoueEFxzfkBgt9SoncBkeTJi/nBPzomDgdjiJPO6hP + f949ZtlmoyB90E1odMtBekDAeDSKDOsnHv+jvqU5/yKr4SBP7rjCeBZ7DYnSF1l/XRHicXnVVmix + W3B8m/x7rr43wFrPcZ09kNBcj8pyUN9Hx8sR6n/ptsyCXRm4r5wMFuv0Xc1yvhULGzO0hDJsp1s9 + qImzBON3sRkixgWQJYQRq1A+Dv/mIDOEI5H95o9XT+3/4wLRtoZVp2WNFUwxTTJvATZiQf8FawIf + ZwjjjI2kY6w4euWkRN/wKE1GpTMrB2bxobUpPHN+mGTQ0s1fgcRmfQnUhRfVJLpF5gzjL5g4jzZH + 2Bw03RBkFzucyJiYfjWsZ0MW9H60sOEAGdab2wBHJMspk6fuVOzYssfjjbpo3CaEr8S44FRJnZWW + GZ7Kj+6QJpMFjDEPH5nSYgH6PP0eTZ19lQme2A38w1+DZTm2rDoqqLIfcqQIZrU/SOtVF5UrA8C4 + 6yVrInXLanrI79KoKnUU1x4Pf/ardDu6A6XyIpyk7DsxRJMnJFIv/5MjUu7gQeecdwMzueU+YLLO + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=1-cleft_heartlessness-msg.gpg + Content-Length: + - '627' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 18 Feb 2020 14:39:51 GMT + Etag: + - sha256:ded297128ff101951884841548af3427620ba2b2d64865db4295b5de6fce0b4a + Expires: + - Wed, 19 Feb 2020 02:39:51 GMT + Last-Modified: + - Tue, 18 Feb 2020 13:26:50 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/submissions/0b81f18a-17b2-4b42-a9ee-df2aaf7b5796/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ//b5Gvl6t8Sbv3ltnUZDLmP88gZQgrI9XAFLNezbs519VMf6QyhlKxHB4y + XGu7g6E74TFIpqi4RF/5038YkVTz9m/2sYM+uEGkUHu6x12EE8/r1FTWnNMIb9gmxMLvLID8sxK4 + PDK01/KSYW4UKkTXWprDQgRskZ2zAiCh5v+XMGBWRKbD5yjRq+z0BikcXeVcjRefYHfRHQ3tTwjF + 8OMAWhhEkwfUGGTyNz/NCg9BwnXPU6vntKu0eOiR52htSBQ6lMBb2b4B7Q1BaxyYibL3lhZ7nnW2 + 6pEGI9eqaVkviCXnX9Pn8hWN7TKjtUBs0kb4Q6DD6PM9CywKqQIfAaOm93ZZ6fH5Lm8l5gqmD5rn + LcC5AqFlbNu3omxjHGr/0Sq1pOVp3W98gZaVgiXzOprYNARB9OCYntwZ7wS7hMm2Y1lbiZYkiHX4 + t3tLPdcutyY2DO7zN08KDTv5YF6TQ7SwrsH6DLGDJO4eclOiwavvgjLae6bIrJbzFJPcSU4XYlgp + rgzSJvpla6zXbkjCl/QpwaUIljsvTqU3HcAUxVD4iJXOt5CA9M8e/qK86t7Kr+D/SfK6d3yT/A3M + I5IRLvD+/2UMYi0Hei1KEG3rvnc6LKE0ewD5P6CMt82VMRzgVdoz6bap7w69LjsTJsApfI16xauO + 6LdskBdvrDYUNsXUHM7SpQHz0RINklTRYrNeIxOR/A4Ehk8X89nTspjcSbALSKOmYiukuEu0BsUn + KiU2e6wjaLYGyDx4bUczt1tCXXSy1VCX8fJb+bX4z9aemiKjxAtyEmhtRMO1aYF5hdO36MreY6XE + cbETBortfsoGouwL8k/It5WXoMhXmuRH5OUk8az/KgPNTob7FJJR+Rt3SN0+btK5vgFebVwQAwKY + WcCPQBvbS2tYRg== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=2-cleft_heartlessness-msg.gpg + Content-Length: + - '694' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 18 Feb 2020 14:39:51 GMT + Etag: + - sha256:6c1b2046228346dc85d6d17c71d6bc78018a49f23b49e84da8b43f88e391cc58 + Expires: + - Wed, 19 Feb 2020 02:39:51 GMT + Last-Modified: + - Tue, 18 Feb 2020 13:26:50 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/submissions/80903a12-6227-4ace-8639-16e44fa92824/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ/9E6UNNYV9FLEuAhNw+lWpzoe/Owc/A510DycG23sVDMbKJJlso7TJCIKf + mv6ceCkUNWzNilI+LqqZZ+ZiUjR46+zfiDDks7g+w2oYRMZHDL16OqjFIsqD+hUasT71WZ2wckrd + XA+4y7V0JRNzlclvxpTYuxWomF25Y/S/iZACjNIIjuhMbRr6yKSOPGFLRlM1EMoiopxOoY/xIO0n + AoN2+v1Ft3K0xIYX1WtWQK5Kg6y0bZ5r/0FVu/Awn76mtLHRVxRAXL/hpMqnsxJXkPyrJDsoGrmf + r6eYcPuglSpxUmbPumjZ8uvO9hsEg2u8D1knnZKJH/ZbH39JMF7XzkrftB/V9ZRQmUgWwdUzkqf5 + Y117+R6ym15wbaMnXFvBJLK8vtOAo6c4K67GDq4B5BsRq/XDvX4cvYnmkuSvr0NyWiyZWGdkEBHb + UBacB6IFdYflCmO29l+hvEV6B2NwE/amsCqoIVyAJi199/kp4FJRy22TkSx8nXONeh8k5pcqFqrr + hPimLaj8RJy/OBd7y8jT/yh+49Djc31inoEnLhTENAa8xWIiqIBXHKsC8LJQ2L0X4g28H0nZubTb + X6QGJKzdtuDPMNNoy5i+LseTM7t3/pkUuJtFyFfhJVSKqEIpLrywITmRo/uJO8Xaz4lHZokQP5pk + UktSUvFLxiU//1uoVZvSYgEXGksud/irnMK7ty2eEMXD8yWDNSN9Xek2us4N4L0feLB3oM++0ayN + xbhpvmOMIg82TVu33MoKvigI+NqskP2h5kjG+vk5Vd7gbGEVP1Jj4lft3IOiDEbYlkHAH4yM+Zp7 + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=1-coarse_environment-msg.gpg + Content-Length: + - '627' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 18 Feb 2020 14:39:51 GMT + Etag: + - sha256:dfa745b640a7e5231338313ee6c5eeb62e367b4f5e44a9f5e1c0a6f9c3e4745d + Expires: + - Wed, 19 Feb 2020 02:39:51 GMT + Last-Modified: + - Tue, 18 Feb 2020 13:26:51 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/submissions/103a307b-6a3c-4e70-94ac-1e181123fcb1/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ//Sj795+Ks9/e7pTZPpK6jj+vvpVnYg0ovIyEonJS26Hsm9A5cqSay8wdS + TLI9WAw6j+cMTdUoi4PrGsygS+7YSaZZbDYnN4598UaEyx5Feovtxz1qmPt1Mxbyr9VxN4uRdH3d + jpyRlJvL+SF7F5XNEfPhlZlJuegWfV0lMBpHPD5Cq1vl8y/9KxG69VfZfKnuoP1ABiz71Tfhox9V + RLAQHmSL+46HpM8epYvGAViLLncfvSSyD7CpF2HcJYAvjztZSgSQ+SJWLEJqfa3UDwiaDFiToJMb + lIQUCFLlEzTMPlL5m5X4jhx9lDzscq1j90oEvs2zWZzTwZR5NNmd+iCtqw3Yyb8CSa/lxSVoq6yt + R8D2JKH9LNFl7D95SRwdmJa1A582ybnzArzVoLYptMDBzB7SNO2SJ55eCvCjsH7iVfhxZI9QoN62 + H3RjenvVoQqoUdN3gN3QvZ2FN8oGJ6wqY+G6zSnMOqbutzo3JgbBmpzO+GkNLs4oDaAtWsU/P3n9 + JGWZvLohcUaZfzd0hj8hTF8l+wMGhKUOeNMqaC4lj8/Fb98qTnH0RwapH5OI6TpRKK2LwtQRWnSV + AXbAqCiRJzlSlT/12/Z6zcEGyG2Dfov2tOhkJeNstEd9RElGh/wQERoNx2KMsrBuBunKH6HZdl8G + kcy7ZFpwx/1p2LjVayLSpQFBekwtvHh9vrcWQ+Dd4NTYprOOPj/iYUaR0llEVUwwWaHBAi2YPcRE + 5MaYPrRA3L6adVVO4QZip7UfTun9knf5srCk56/On25iv5HtlZ1eq3hHVJPMONbwoNhJYDWsBJmB + jGdakhBFRe3uG91xyJyKEp3ZxdCN4HwSVjVdoW0q+0IqINhoW0X2yCJrxOE1r2H0O9TfPjj3T01C + tdxQZc3+Xbwd+A== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=2-coarse_environment-msg.gpg + Content-Length: + - '694' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 18 Feb 2020 14:39:51 GMT + Etag: + - sha256:ca987f7930f6a4846033bf935230cbccfe8c5b3aae19d89f70c09ce8ab3f7eaa + Expires: + - Wed, 19 Feb 2020 02:39:51 GMT + Last-Modified: + - Tue, 18 Feb 2020 13:26:51 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/replies/21aa2fdd-cab0-4fef-8191-271839b633d5/download + response: + body: + string: !!binary | + hQIMA6nPKjuSShFIAQ//R00P/+LCE+nlDGdIcdsUhmjcS8ruHbIhLMtsZMxL6GEryGx+Y0+PdZGx + 3ihgWp6HkzjsfoOCBfA3ajvjRfr/Aace3I7EarrTBUTBJvU2UTsiiHQbjR4QMW5MQHJU+9gtzOvo + GD0+Xt8hZoKtuaLEyqOe9FZTqhlnXAqTM+tPonqi252DE+cHvvs7oj2KBYQ/slGggusF6Ru0rh4s + jzj69SCtEDxnynsZ/JCXh29Grf6JqlvhfUMIHEKst/Rh0FO9eCohOdRMppaYgAV+wtryoa9OYMIz + aFYKiMN7tOiZw3VLOGf+MuWgW1GCH1L3vopYdAbeI4NfFMP+ptjnvFLEZRGrA0WDIEKUHG+JKS1d + QxvfhU2wsuMi6VBLsXaeFn5Khd1Zdqs16K/XqMNV5Q3CgM9RveMdA7rQ8tu0EeJU3j4UaQmm2OuD + hbW8ck/5oKFArjnw/l2AhEpYhtID9hj1k9//GxUp2g7VPIsCKBlL13ic2jWuU8ZuHXuqR+PVvX+K + jgNPPXa+5GSpiD6v8Ugc+P0gG86VwRF6rT1eC4iCcHcm2gNgzYR2xWnrFortubp5PO+l1FLdlW+V + kWLCV/PUMlkbx8VecoBnyQaT2wKDfg2aFLIX3lPaJwv+sWE7/xXPuwUtC1IV8NzHeliow2Ybg7ij + 1MR70IqO6R/uXfCDHjOFAgwDw+fEwKIgGyoBEACvXwSJwu5A5Gr2CYB8ybzJyvSdLsvwq4JFEbNs + VN9+0i5JAFDV4/Nb5Gb9j9PV8y7oc9uRX6jdFFWWL+K6i1r/27fMDDNruluU3ZjBgDnPqASOPXz5 + gspBXwUrN2/Pews4OI65RkFq8o1KhwE/tweGk/0KiVy5mLuPnAmzeDbRyLb1LXXAoHljGo05wRin + j1aFwaaMY1aJDgUoI174vDrXxwUH70iWszOAZoRq/ndmJj5JSeTGAMBdPxIhI5zmXCCUAJ1EGTSQ + Hgz+XuIL4YUAp/DzxEKrl66nPUe+EuDtVOFGNJacFAZSgZcBGmD0WzYMtkoik+WeSkn3roQyLGAq + 3O9tnOLa47/sn63VqiD5aYEWh0HyBOCrdiyJTBjN39LPyBz+4d6PZI7wVDizIxcMVcl+aQCnZi0M + I1lgCGTLzfBU9eCOAPobQRJurrM14k0XpDluqmtUQllYsCO6ytVArc6S07Z12pbBlKVse8Anw6Oq + BTguI1jZjBauZiAUIt7KHWQKWaDROvrrNS6UhgjeGJb4o1xSFkZ7GK+GxJ5HACceHEXwsD4ERYmL + zZm1T+x9siN3g3L2f2Y0rpWd9TXqdEvumYsHOYmBUg0l36/h9WcFJmbyNGRUGRmFTkiNt/gfFcSD + V6gDfD0NG/2w6V1vLYzTEcJPMnGmBukNzx7eMdJdAceIsPJHfrzqRj1ruv6kCDI/aq/abJjOBGiY + JwMtP6w0RC5Hqx8PR/Zd649GyWi5UPxh/VTIS5zMketMzukexBglznmE676Gyp7BGaKi7BXT2hn2 + gFwrO6FFEgU3 + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=3-cleft_heartlessness-reply.gpg + Content-Length: + - '1149' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 18 Feb 2020 14:39:51 GMT + Etag: + - sha256:cc39a982c904495e8d58081cf0c2285f18cdadb0dd005e053f75bded4053480e + Expires: + - Wed, 19 Feb 2020 02:39:51 GMT + Last-Modified: + - Tue, 18 Feb 2020 13:26:50 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/replies/83821ec5-f837-4dcc-9907-882f8c6b7037/download + response: + body: + string: !!binary | + hQIMA6nPKjuSShFIARAAoCkRMa48iBQUZ7WJMWZZvXCpMts70IaGmrivLZufdPrTQIifc639gN7l + Gsh7foRU8DHUdvZ4mqLw5O6RBCm6NH6sjq3XWGG/zs7WyD8u7oketj4R0r6MaVxwPSqeoRB2Ib2C + p9uxd1MF1u1Z8ntelC/1zaM6kJhHl7DzbEvVAUMKvXW+Fd7KqtYJz8G1HZru4dyafxRwgm45tRRU + dmea7Ipike62pASPuRrhtAnu6v7907aZw4wDMYYBCG/z6sgXDCHjVqWak/D9EE55BNqYuRtsAKBh + ZLe4Vryg70Jo8fpRXKj0vnB2dVetAs/jaQr35MnEyjPLDo09bRPYLMfp9tqW27MCJfoVhp60dvo7 + w3fGev4urUHw5uslV53/w8YtkgdMzrHnC9WX3Cdg9l+g2cOpd0P2PFBmlSfjlZ7/wyZtANN9Pp+C + vnpE/lT5MXTleJxzfeBVmTe+5okvDQ5FWA7AczrElsPzEIYvEEBAxUqgNJ/9oDNuDvkzRc5aojJc + i2vYQveLxfITRBlf6OlqQhVsklZNBSbB0e+jwftojXzIum2pxGNlzJI4x0izwF5u+V0bJEBriEOH + EkpbpJFSnXoP61a+3bIl6y0AMHAHKVzmTffy0SzEQ9yiiltMNoDa4AqDk+mExmgfZ0KsuLx4z2rB + DaSAVUEYfmK8g8dETcqFAgwDw+fEwKIgGyoBD/90kkogYgYubA+2NUK/rZOXC9xPbfJfwUkNvqC8 + WLdeQZXTZ9ob0itVzAenZMsn/yQw2jRSByJm66/OauXp/8Fmh/QwfSwBs8gZf0MEshMNaEvDlxwx + tKiCfC++T+TXTTrlEDrj/NgriFS4iCHodcbOVldKrtNKMQuIvfjf4WnnyHW8Uwv1YTZ9FwR7PQi6 + gaM8BVHrhl33AwNfene9u03P92l0uzfT2qZFZKFnegbxBzrnA/vtN/krOu0Yt0Y3WDPQNM9LoahX + hladR6zBK/PjTdn7/8keuQ2c17Gaiyu/P/loS8yiQeZ8RCw6U8skLjryzug90K52bKltNlnsDUFU + QHD3EV5RwRX6QfvOV8FlklcZkgxBMx6LilplMK4VCIjnTNcUo6T4c99gtWQ9CsxnSV3KGhM79ESw + NVK+SwsRN5vdBmxkT6dwdauDm7LrD2/FdWAEPy0KBGT1jyRp884oTAVdIxTFzk7P6unktEHeQHJO + eAho4lYPDzj1ukx3vcL+s2VgHuosPdnWKnKxFoOiT7FlZILfMBYqp06b+2ITHRNUoueypMjUsf/U + NctRTvCVxCPPP7STw1yCsArmW1Qn8OvmvjUWUQh76n+WqWHHadeZ7Vloo1IH+wm9ZwA0j4wPx1No + T8+2yypumK+gWWyWAFOxr+k7JPn/shk0cu4QSNKjAfVgAJkfHVHFmhCKbPeVBGJZtQC+OeJDtnAw + 9Djhv6KSBs8l0BLp8TEIDl7Dl9UPBabNe2IPXSbfAh5bFgbcc19AZ6eDA02eXK0fVCoyJY9asYyf + coPWMYKwZRQy8UvYqQ18iAP3NRdxRr6fZbTSmS8PTOQlcGtkMfRy00IU1eruBYEST0ZWeLpCdLG3 + iDpRD4bwOwSBE3Z9h1RjTISXOPPcBg== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=4-cleft_heartlessness-reply.gpg + Content-Length: + - '1219' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 18 Feb 2020 14:39:51 GMT + Etag: + - sha256:d988b07e4b129f93e36c61505e4abacd5d7cf230cf75748ec9ac316c2206fa41 + Expires: + - Wed, 19 Feb 2020 02:39:51 GMT + Last-Modified: + - Tue, 18 Feb 2020 13:26:50 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/replies/3226c5a2-1a30-4ffe-a370-c9bb79338eb2/download + response: + body: + string: !!binary | + hQIMA60NDq2V92JtARAAr+tbQYF9WMHuvDNiQKVehKMQ6oUxuqK/BOUdtdXCvmiOJ0+v/x5LlmlS + rZCqi8K1SrGaJ95qKPl1n7TqKAPshxUnOH9fDaFdDGSOuYuniT4XhKpr7WfFPsTmoEEU5HIyz75y + Dkfbljo5AHJHiUsf85lX2oLUZx6jER0SsMB5csX8OKdDiYpxPlre04SnH3hGGnXoZKjDtrJJVgR8 + 0ZaUoxTWqxtvgRXVlPyooXpBs/y+1aQywqwI4EPdzmkdPQkg1bW1mnUpuBX69wf27vdjN64hqDl6 + txccgLJW+F50VJo9WGM8v0p0yIl3K1ei5TON63L5XsDEbh/nL472Ghv2uPvNwITsBkuS7P6vOABf + mkUVaaWWWRLX2BGCwR6lZhZoF+kjfGLvcBhq715kErEaDicule4wWks/xoaxd0VjVwb4CRRRSZWS + zelH5WO5jup+ev5/YSx0H5b/IFHiMAFd1OyP4fiMKKq4M2/+wCpXhvNBmYSmUKKqKGPgmtMm1BZH + ZFRgl/r+1vZyJm0EHyoBQiO7qSZMKgC6ELjROoAhU4QUf+nmnn8Bb6aQ7neks9Ah/0p09OsIz0zh + BoCP6tktpJT6hlDBldWX7A4jc6jmrP9Gn1TL6jzZuCAIZ9tY+B5nk3FnbLMqLziWMRpOQvaWDX0Z + HFzcBxXmTFWtSO1jXvaFAgwDw+fEwKIgGyoBEADY3jMoG6tVgwHRCiKwnOc2FjcVTNiDSK3DcBTd + tFCrx7IlD6Gohkog8gRzLu2KOuhBP2Z2Sv/zRrqSLEgMWoVYVDcz19C6Rtr+VrGxim1oS1RNXD9u + 4qQdPNIG7TuPKAj/V56+BwKM2nGtwk4G9AgBLdbriU9acBX7baib/78wgaT4TCVYhglJ6zOwbSER + lFY6AipmTVeq8ozILACKZTr51u/ezODJtkM2xsA1Rmt4NqIaKmjj63PzK6IgKv7Nlw1kPtdYccMi + JVSVpbz7uKLAZYI68QDrRNQY61pmpFbpnub+NabGs+xHUXdCgdXfEweNZE4YutqBCl6vBX10z4jg + NEOfw6uycAqzCj5RKpIRhOdG1ZrGL0QChGz8vYHchmW+qtswiyyMGJBI3EHIBztehrPm0n9DBrJl + YZOLpao2CXRlGxApcHb37pQxU+g7TPVX0Y9YJ/zvH3qn6IMqc6NyJzC1XV28GzQW9KOpN6mrGlR/ + B5S6Ji7PO+OBiRDbdlCDdPjgCvrJD62YEgoM2Y1w2hYoXFiyMH9jB+gql82GIBkaeHZoEq1MWPGc + HZIPuY2v+4Jx4uwtTGwVJZtD0xzRJ+rNMyVMXL3AFbbFfJl9dpnc+40F2QDP8UJCN4mZ1EgFvfIN + 2hSklPs71DKlOTF1ZECDUWLDzrOHgiuVEtIImtJdAZ/CW7RYn7s8XHTTWh/OhbOCUnclFgxLy91L + y98Fq2lyRKaD28AC4Lp9ZbuPp830tddSt8Ijgx3nNfXP1jRhcKT9cu3MfIZbZGUiOH9tkLF29gaQ + 72c9AnideMpR + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=3-coarse_environment-reply.gpg + Content-Length: + - '1149' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 18 Feb 2020 14:39:51 GMT + Etag: + - sha256:7b04b0903b6f1ef810e56790ed5d7294f3ba714e7c94892e50f3c83eaeec4fbf + Expires: + - Wed, 19 Feb 2020 02:39:51 GMT + Last-Modified: + - Tue, 18 Feb 2020 13:26:51 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/replies/4cba613b-1421-471d-9992-d70296438699/download + response: + body: + string: !!binary | + hQIMA60NDq2V92JtARAAyo7BKzL4Hm6rYcQlXJZSA9V+3Jy9jFgiLyf7/1kKhKQMaXm4LFmWXPcU + /UVBwXSSt8tRjM/HMFDwBrKGFVnfgz5ZNhp7UPTrTWXgfT1ZXQ7RAO6rawMH/9NkMWne/gItSyVJ + YzUqQhq/mwh/s6XaCCLzw40wfkG+zdb3Z6G/ufgtHXY0M3UZSlg5yQEP902RCJQ+jf+E0g+mhf3+ + FI7SeCnT3F3LUo/a0AW0tS6mMaQk8OTLZ6M1idFKbW4PvK6CnCtEQo2qCc0uYZoKXnzU9brH3NMP + tWyCPiKqC8yMLVSJRBU8B8oF0/obXJrQC2y7EftIw0qd7yW0Ek7cLwifhZM1EOyZtSGIMi0xQSWu + 5RoSwC79iS/3KkAMQdEqF1zQNe+BNauXqRonwtwzsxyTNNT8pobfo0QBPPcYc28WrgO341s5o37J + jY1tWrTCEHbBtWO/4vAI2MoilWABcYmIr+2IgG7eHsuWWE5YWyzJx2LGA7F3LJUAP2tkGa+3bd+A + 7vQ9pSxk7+BUADVGlBEdBj/7Tlx9eXBURaqhgiWV9n26PY96bZ+0f28/mjsrRGsqgUTXErR0PC4r + 6hNhUXrZC9gFqakI6GqhaOll7yCiK3M7TM7XDq+9uixSta5ZpyBGbj05ZThmoelxYCzSGocLjBRC + O+BNFtAKD/j5BeqQ2zOFAgwDw+fEwKIgGyoBD/9I28ojmqDxEqLKhV7kSmHSVzgYMaLcXrtuPIYW + xrzkkLGx4knny3DuxTRjuECsOgFR3X9ZD8ZcYlqbjFBu1uY4DMvsolYeX3UB46e0vF7SxRYPC5iz + ZTHWf9nEFvQB0eo/0LusR9876whZTaHRFnwYzwDNPCqoW4M3w23pHEXEruDWjK56HMVcPirrBM6Y + pfpCDYTok1PJKqGwdj4o3U+yj0nJqKxjyXw1uTx12LfZd2Z2M1y2O3WygQC0XPeBgH5gEnB1N8ln + OFyACW0mOTxH0MREmnCXi/FEttNyNAAozOk86SRzlsmzLdOz+/LQPU3yGIAg+3fcSJVkIm1YLdTJ + QNAp1Z9QtSI8sbQrjBB0LTzAdvLBMGK2Oca1ZGKT4qIeglfzjKvAPwa9fvAF9XisScbCpfBRqOfW + 49Jy/AkfCY1XQtmx3GuVjNP2THcLys9Ebao7J/5WOktmMcMOFhenTELdeHNlOUPRkRPkVMi0GXR2 + YbeJ+PinrbrlFG9OdgWtatm4XQJVYchJcu3ntItf+e3VdvI8G4PcftbawHSuEF9Y6zC/dtfh9zi6 + jHoEoqi9BrnUiurWYlfNqXy7JuGeuW7bcPA4IMGBAL1k4yGb/JEBs0vTWxVxTrlnBqoRA9gIrCKe + u5DLJ0+CnE59Q+CBJyR1nROS8n5DVsy5ID4MntKjARRpebv/Wyh0m2os9HzS5Cgw9Ho0LRQ6gT5C + MYRnzdE9sMjktJiN8YoLOoD8VIg54lM/3OYg6VgJzRIjqTzHXWEQbiY+OCWG0v57dh/mB54dvqYn + 0YWbq6j0Oh1kt2SwSfF3hZxMSO/lCPTyg6sPhyC1T2DBdOuSP1JBIcdSScg1DJyEDey1u9ATTtUN + qS+IMSfSKyIcJdj6oPpV5RaJtq7PTg== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=4-coarse_environment-reply.gpg + Content-Length: + - '1219' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 18 Feb 2020 14:39:51 GMT + Etag: + - sha256:960588d4746448959f4de26ac19fc12ec59a45af44ea363eb34ef7e216cb0ca1 + Expires: + - Wed, 19 Feb 2020 02:39:51 GMT + Last-Modified: + - Tue, 18 Feb 2020 13:26:51 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/functional/test_client.py b/tests/functional/test_client.py index 4df5a5272..05eb32e80 100644 --- a/tests/functional/test_client.py +++ b/tests/functional/test_client.py @@ -28,6 +28,7 @@ import tempfile import json import pytest +import subprocess from sqlalchemy.orm.exc import NoResultFound @@ -56,7 +57,7 @@ def get_safe_tempdir(): return tempfile.TemporaryDirectory() -def get_test_context(sdc_home, qtbot): +def get_test_context(sdc_home): """ Returns a tuple containing a Window instance and a Controller instance that have been correctly set up and isolated from any other instances of the @@ -67,6 +68,8 @@ def get_test_context(sdc_home, qtbot): # Create all app assets in a new temp directory and sub-directories. safe_mkdir(os.path.join(sdc_home.name, "gpg")) safe_mkdir(os.path.join(sdc_home.name, "data")) + # Configure test keys. + create_gpg_test_context(sdc_home) # Configure and create the database. session_maker = make_session_maker(sdc_home.name) create_dev_data(sdc_home.name, session_maker) @@ -75,12 +78,46 @@ def get_test_context(sdc_home, qtbot): False, False) # Link the gui and controller together. gui.controller = controller - # Ensure Qt widgets are properly closed after test run. - qtbot.addWidget(gui) # Et Voila... return (gui, controller) +def get_logged_in_test_context(sdc_home, qtbot, totp): + """ + Returns a tuple containing a Window and Controller instance that have been + correctly configured to work together, isolated from other runs of the + test suite and in a logged in state. + """ + gui, controller = get_test_context(sdc_home) + gui.setup(controller) + qtbot.keyClicks(gui.login_dialog.username_field, USERNAME) + qtbot.keyClicks(gui.login_dialog.password_field, PASSWORD) + qtbot.keyClicks(gui.login_dialog.tfa_field, totp) + with qtbot.waitSignal(controller.authentication_state, timeout=10000): + qtbot.mouseClick(gui.login_dialog.submit, Qt.LeftButton) + return (gui, controller) + + +def create_gpg_test_context(sdc_home): + """ + Ensures the correct key is in the $sdc_home/gpg directory. Needs the + gpg command to be installed for this to work. + """ + gpg_home = os.path.join(sdc_home.name, "gpg") + func_test_path = os.path.dirname(os.path.abspath(__file__)) + key_file = os.path.join(func_test_path, "..", "files", + "securedrop.gpg.asc") + cmd = [ + 'gpg', + '--homedir', + gpg_home, + '--allow-secret-key-import', + '--import', + os.path.abspath(key_file), + ] + subprocess.call(cmd) + + def create_dev_data(sdc_home, session_maker): """ Based upon the functionality in the script, create_dev_data.py. This is @@ -125,7 +162,7 @@ def test_login_as_journalist(qtbot, mocker): # Once out of scope, is deleted. tempdir = get_safe_tempdir() # Create a clean context. - gui, controller = get_test_context(tempdir, qtbot) + gui, controller = get_test_context(tempdir) gui.setup(controller) # Fill in UI with good credentials. qtbot.keyClicks(gui.login_dialog.username_field, USERNAME) @@ -141,3 +178,21 @@ def test_login_as_journalist(qtbot, mocker): assert gui.isVisible() # The login box no longer exists. assert gui.login_dialog is None + + +@pytest.mark.vcr() +def test_logout_as_journalist(qtbot, mocker): + """ + A journalist can successfully log out of the application. + """ + totp = "670099" + tempdir = get_safe_tempdir() + gui, controller = get_logged_in_test_context(tempdir, qtbot, totp) + qtbot.wait(100) + with qtbot.waitSignal(controller.authentication_state, timeout=10000): + # The qtbot object cannot interact with QAction items (as used in the + # logout button/menu), so we're forced to programatically trigger it + # rather than pretend some sort of user interaction via the qtbot. + gui.left_pane.user_profile.user_button.menu.logout.trigger() + # The login button is visible - demonstrating the user is logged out. + assert gui.left_pane.user_profile.login_button.isVisible() From 89465705a0f2521bae8802b2f4259212f66d25b7 Mon Sep 17 00:00:00 2001 From: "Nicholas H.Tollervey" Date: Thu, 20 Feb 2020 15:53:46 +0000 Subject: [PATCH 06/13] Big refactor to ensure test isolation. Added test for sending a message. --- Makefile | 20 +- .../cassettes/test_logout_as_journalist.yaml | 642 +------------ .../cassettes/test_send_reply_to_source.yaml | 871 ++++++++++++++++++ tests/functional/test_login.py | 52 ++ tests/functional/test_logout.py | 34 + tests/functional/test_send_reply.py | 48 + tests/functional/{test_client.py => utils.py} | 114 ++- 7 files changed, 1095 insertions(+), 686 deletions(-) create mode 100644 tests/functional/cassettes/test_send_reply_to_source.yaml create mode 100644 tests/functional/test_login.py create mode 100644 tests/functional/test_logout.py create mode 100644 tests/functional/test_send_reply.py rename tests/functional/{test_client.py => utils.py} (62%) diff --git a/Makefile b/Makefile index ede3965f6..71693d95d 100644 --- a/Makefile +++ b/Makefile @@ -45,12 +45,22 @@ test-random: ## Run the application tests in random order xvfb-run -a $$TEST_CMD ; else \ $$TEST_CMD ; fi -.PHONY: test-functional -test-functional : ## Run the functional tests in random order. - @TEST_CMD="python -m pytest -v --random-order-bucket=global $(TESTOPTS) $(FTESTS)" ; \ +.PHONY: test-functional-rest +test-functional-rest : ## Run the non-logout functional tests in random order. + @TEST_CMD_REST="python -m pytest -v --ignore=$(FTESTS)/test_logout.py --random-order-bucket=global $(TESTOPTS) $(FTESTS)" ; \ if command -v xvfb-run > /dev/null; then \ - xvfb-run -a $$TEST_CMD ; else \ - $$TEST_CMD ; fi + xvfb-run -a $$TEST_CMD_REST ; else \ + $$TEST_CMD_REST ; fi ; \ + +.PHONY: test-functional-logout +test-functional-logout : ## Run the functional test for logging out. + @TEST_CMD_LOGOUT="python -m pytest -v $(FTESTS)/test_logout.py" ; \ + if command -v xvfb-run > /dev/null; then \ + xvfb-run -a $$TEST_CMD_LOGOUT ; else \ + $$TEST_CMD_LOGOUT ; fi + +.PHONY: test-functional +test-functional: test-functional-logout test-functional-rest ## Run the functional tests .PHONY: lint lint: ## Run the linters diff --git a/tests/functional/cassettes/test_logout_as_journalist.yaml b/tests/functional/cassettes/test_logout_as_journalist.yaml index 934fe034b..d9cb2bed3 100644 --- a/tests/functional/cassettes/test_logout_as_journalist.yaml +++ b/tests/functional/cassettes/test_logout_as_journalist.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"username": "journalist", "passphrase": "correct horse battery staple - profanity oil chewy", "one_time_code": "053787"}' + profanity oil chewy", "one_time_code": "333598"}' headers: Accept: - '*/*' @@ -17,648 +17,16 @@ interactions: uri: http://localhost:8081/api/v1/token response: body: - string: "{\n \"expiration\": \"2020-02-18T22:39:51.174595Z\", \n \"journalist_first_name\": - null, \n \"journalist_last_name\": null, \n \"journalist_uuid\": \"5c484001-bff2-469b-8aba-2241166b7d9a\", - \n \"token\": \"eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w\"\n}\n" + string: "{\n \"expiration\": \"2020-02-20T22:11:20.428580Z\", \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_uuid\": \"29c7756e-c0f9-4316-b42f-a0af9e20adb0\", + \n \"token\": \"eyJpYXQiOjE1ODIyMDc4ODAsImV4cCI6MTU4MjIzNjY4MCwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.GX36N5A-cyf6bdvalil5_gRa9MnDgIZU_z4NgV8Vzcc\"\n}\n" headers: Content-Length: - '317' Content-Type: - application/json Date: - - Tue, 18 Feb 2020 14:39:51 GMT - Server: - - Werkzeug/0.16.0 Python/3.5.2 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Authorization: - - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w - Connection: - - keep-alive - Content-Type: - - application/json - User-Agent: - - python-requests/2.20.0 - method: GET - uri: http://localhost:8081/api/v1/sources - response: - body: - string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/add_star\", - \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": - false, \n \"journalist_designation\": \"cleft heartlessness\", \n \"key\": - {\n \"fingerprint\": \"0305C7D5CF26DCC77A5F6E9DA9CF2A3B924A1148\", - \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADEbLBD0FndBYC2roWSPujsfMciIn7tsHA+HeCLrZ3p8mWQX3a8\\nGxmWLaH84CIJ6zy7VkkzuCg6dcbeUOFxK6wwsuEee7Oz1/BhYkE6oYA6v/uMnfEr\\nr3do26jWV+4FUKjUJbCWyBh/uuWAcxRIH3xX6wD9PFCgvgr3h1QMhrIiln6UmaXX\\ny047CwD58r7fcOQUP7WvDJ+Em5szF4kY/fO6IPlnyUGQePWL5oa5/RIAtCXGM/Nz\\n7RhcfHQmvXofal7GhNZFM5W/2ErOKPX0W4nBJgMZEBolb/lOeOpOQrSbUNuducKk\\npIoXkqe9qa8sLWsCWNAcJbuyw6hAb+uGFYvk2+HS97pL7yNMQ09SZHLA4q8Psxw/\\n1g7BFclvRBX+1qtg5h7guXAzgrNRNVj8bDWdy4LfbDxRtz53b8MOAJNaCpv7f6Sf\\nqN+INBVnsGt9aFrdvnkGpSP+NeOqGvA241b/7UT1CyCWo2Ruwh7gpUBqmPfmZwkb\\nqoQdUHxGHLlAaU/c6v466kzLJejX6IJkp8lDj4c9kieTyAJ1qBP/rKeUPIeQQCW8\\n0YN4TNawG9vvdLHmqeSxiIr1NnvVPsCL1ZdLMWcnVMbXICivmbFHbBqB2OSZs4k+\\nDCAKBXUIaTsBvOfSWY/GCfKvtBy5Awc72TW+w24uxd/RRFTps54xiEibvQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8TFhXWkJRT1VYQ1hJRVRJR0gzNVhGVE1MTVU1\\nMklRTUpFQ1M1SUFKUlZZUDQzVkU0SURKM1pYS0ZMQlVHU1o3T1FRTk9URU5aNE1G\\nWkY3QU1ISEFITzJJM0NLUEJSS1FQM1hCUU83QT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEKnPKjuSShFI2G8P/0EqJETVEvI8\\nRUhN4hkWLHMoBtbrNBmBOU48W/hx2lekQJz9/52s6BXtHzZmbg1jhQoUHUZjWGZX\\nCEeC9a/efuaIGRZW4/0KQxBVWlUAQDZCdlx8DHrxyom3gfeRELuSB7D8xd+AXghA\\noHQqgHb7G3rWQZ9zZ3i/ZFoLVrTO4PpgMhi5IcKbmGeSlD8mgwkC4MlRa8kDV/Qo\\n0rvG1pXniz5JVUGAqeYCfnm26maF6mxZGzXuVTqIX9jRuB0GX4LxIXhYKU67ftlG\\nBAjXYhmF18UPEcEvclHfZChq1G6/2Ee2Ny8M67rBtzDeNVZ+UjOLvs53VHE/Hklq\\nI/cEwP8Jujo5YlKQPP7aozD9qIlbXng6uC/gjJPa7Fa0Lzzp8+Y845wG/9zkpOgg\\nPvrCkbF1FxPHffDGmqWuA4TY2VOiqx7ULGOOvI+M6FavcTNX0WLIGumdIFuRR6JK\\n84sCmtpfcrVhs2QQC6J4TXYnQnBBdAf6RtvsliE7I/0fkTEC7oMrdhrKybowglD5\\n1ciV4eP7ZH6EUDnp6VPnop5KKMi5nUbF+sb0ieTPYbzFV1E2lQAzw4G7IILcZyuC\\nd1H7V7alCEe3FGMQQH+3IVqbgsIVxUyN0qjXBgEsnmNupcNLC0gK0zNSg9CTAm2E\\nym7os35LrsFmDsWAVEjbUIZPd96fSBSn\\n=MtU1\\n-----END - PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": - \"2020-02-18T13:26:50.212347Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": - 2, \n \"remove_star_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/remove_star\", - \n \"replies_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/replies\", - \n \"submissions_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/submissions\", - \n \"url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7\", - \n \"uuid\": \"20a5450e-8de4-4372-8b7d-e78847ac9ea7\"\n }, \n {\n - \ \"add_star_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/add_star\", - \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": - false, \n \"journalist_designation\": \"coarse environment\", \n \"key\": - {\n \"fingerprint\": \"68965CACA90C7085959DDBA3AD0D0EAD95F7626D\", - \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADfc2efBukpIfl+HqY2VRf85OqHj8O77CCik0f6MbgaLLg6U8Eb\\ntrSUzacZAmIHy7kafPSP5GVgHjTTS/uW5w/G1PKPkFtCWpKAmEpTTr4BMA3GGYou\\nwgaRhaBbczai5oM4y7xaszfv7wCKjFPcrs9YWk82D899H/mrYctz7Xjphmynwsys\\n6vDR159f2jZe+vSYGQP3BtOXYk0yFge6OXJMItUTH1oaUb+C0mDeaj8OyEBL0/ex\\nrW4GvA4aIb/Nl5n7RmApXIUVZjVByfJ6STjM355DiQ6FOqQOc+BIOtnzonXhySh2\\nGvTG7EiV9wXqqqrd1jBmxG8sLBX4I7xUHFgTDEn3X0RBFPX3zEqN/Nn1DmY5RCfL\\n5X0A8UQDPwQ4C7LRu+Li15e0i2xyKq+hT2ZMpdt2WSKckotsgzxf+P8g8vCAr8ns\\nWkbSL1N2kfITVuteV/LI/YymkW0YAPR2w4udPjzarDv2uBpac2sV9us2Hm9Jth77\\no9Z8pnfqAgdhq7GP1EEjR7K6ryNsosqunH3lDPWvPIm4IKBfXamm/lI6g0ejKK3W\\n+L3ysr+XJDupszI6OGxpppAx5vb+k7FmTdnT2fp8A8aLZlD23FxdnGO2S54nGZRV\\nZfRBG+LJCzO0q7HjM5EYMk+LhYIfzlRWlbMaF5ShjxCmbNgWCeZbcaiDLQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8SE1HTkFHUlVZMlhTWlpHT0xYR1dPTVU3VUdJ\\nTDRNV1JVVlFJNE9JTzIyN1pOSUdKNkJIVVBXRklCMzJPUU1YTkpISzNONFA0VTNP\\nUVdDTDZJN0E1TEpVUjNJM0VMNENEQ1JNWktLQT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEK0NDq2V92Jtg+0QALn17IejgvgH\\nhgO13Z5sGVnRrFscoF/iwWUGyGo7ARLZgn8ovzoOVLJb0OMg5vHkw40Q0S6lTP2N\\nl1bogook3r4GhhXixjiOvJTkCuNph4FkNPwrD1m8Jgl5zQoL81c7gXkFmuQ+fyTQ\\nRF42Q5Na3343BRqRfuXpKaHAWwSB+pIin99EMaqONM1ZUdq4x27H78StTf/nAScK\\ntFId5J00IYjl00iV4+rxCgpt+5Ao+LxMDS/liWhZ8DtLEhiE1uTBWi9V2cnqOojb\\nVxqvCfVW/PqOIiOrTWwvStxgrb2hiwFqnv0LvNYhEDOXM+6FXwkBFE5m3QZ8vZQg\\nmGhPoIsV/pylNxbHt0c0CuE3wHXHcwntvyYS9QQWPK7Z6LFOh4XfDbcS0qsIPC9j\\nk2MAJyfhIn2woOOX2464jni7OTiIHSLltV5TXwf/KBLsmPT18oEYEIYkNVhJFf7F\\nAo0WUh1aAOcBRP8F+DBgCNhszZRlM+dLnowF1JyR/IAHYKqnOE83rf5vKvR1D76g\\no94jFd75VHRu1mmttQimI8UBHHu6fUST4jXykXlFtIgbPPvjcJbSTen4R3bw42Dy\\nyMu/+KRf6XM0ot+L/fe56Bc/IGGNweipF69BbKzKzcxssrU04O4s+ux6LM9H8mqR\\n8omAo+aoJ1YYn2qv1b2Mj9tyasgL9RE9\\n=B/IE\\n-----END - PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": - \"2020-02-18T13:26:51.359811Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": - 2, \n \"remove_star_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/remove_star\", - \n \"replies_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/replies\", - \n \"submissions_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/submissions\", - \n \"url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88\", - \n \"uuid\": \"41e0394e-9676-4e2e-8285-31445d143e88\"\n }\n ]\n}\n" - headers: - Content-Length: - - '5352' - Content-Type: - - application/json - Date: - - Tue, 18 Feb 2020 14:39:51 GMT - Server: - - Werkzeug/0.16.0 Python/3.5.2 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Authorization: - - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w - Connection: - - keep-alive - Content-Type: - - application/json - User-Agent: - - python-requests/2.20.0 - method: GET - uri: http://localhost:8081/api/v1/submissions - response: - body: - string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/submissions/5e992e54-88fb-4e6e-9b6b-637522057cc6/download\", - \n \"filename\": \"1-cleft_heartlessness-msg.gpg\", \n \"is_read\": - true, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7\", - \n \"submission_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/submissions/5e992e54-88fb-4e6e-9b6b-637522057cc6\", - \n \"uuid\": \"5e992e54-88fb-4e6e-9b6b-637522057cc6\"\n }, \n {\n - \ \"download_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/submissions/0b81f18a-17b2-4b42-a9ee-df2aaf7b5796/download\", - \n \"filename\": \"2-cleft_heartlessness-msg.gpg\", \n \"is_read\": - true, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7\", - \n \"submission_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/submissions/0b81f18a-17b2-4b42-a9ee-df2aaf7b5796\", - \n \"uuid\": \"0b81f18a-17b2-4b42-a9ee-df2aaf7b5796\"\n }, \n {\n - \ \"download_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/submissions/80903a12-6227-4ace-8639-16e44fa92824/download\", - \n \"filename\": \"1-coarse_environment-msg.gpg\", \n \"is_read\": - true, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88\", - \n \"submission_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/submissions/80903a12-6227-4ace-8639-16e44fa92824\", - \n \"uuid\": \"80903a12-6227-4ace-8639-16e44fa92824\"\n }, \n {\n - \ \"download_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/submissions/103a307b-6a3c-4e70-94ac-1e181123fcb1/download\", - \n \"filename\": \"2-coarse_environment-msg.gpg\", \n \"is_read\": - true, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88\", - \n \"submission_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/submissions/103a307b-6a3c-4e70-94ac-1e181123fcb1\", - \n \"uuid\": \"103a307b-6a3c-4e70-94ac-1e181123fcb1\"\n }\n ]\n}\n" - headers: - Content-Length: - - '2051' - Content-Type: - - application/json - Date: - - Tue, 18 Feb 2020 14:39:51 GMT - Server: - - Werkzeug/0.16.0 Python/3.5.2 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Authorization: - - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w - Connection: - - keep-alive - Content-Type: - - application/json - User-Agent: - - python-requests/2.20.0 - method: GET - uri: http://localhost:8081/api/v1/replies - response: - body: - string: "{\n \"replies\": [\n {\n \"filename\": \"3-cleft_heartlessness-reply.gpg\", - \n \"is_deleted_by_source\": false, \n \"journalist_first_name\": - null, \n \"journalist_last_name\": null, \n \"journalist_username\": - \"journalist\", \n \"journalist_uuid\": \"5c484001-bff2-469b-8aba-2241166b7d9a\", - \n \"reply_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/replies/21aa2fdd-cab0-4fef-8191-271839b633d5\", - \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7\", - \n \"uuid\": \"21aa2fdd-cab0-4fef-8191-271839b633d5\"\n }, \n {\n - \ \"filename\": \"4-cleft_heartlessness-reply.gpg\", \n \"is_deleted_by_source\": - false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": - null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": - \"5c484001-bff2-469b-8aba-2241166b7d9a\", \n \"reply_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/replies/83821ec5-f837-4dcc-9907-882f8c6b7037\", - \n \"size\": 1219, \n \"source_url\": \"/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7\", - \n \"uuid\": \"83821ec5-f837-4dcc-9907-882f8c6b7037\"\n }, \n {\n - \ \"filename\": \"3-coarse_environment-reply.gpg\", \n \"is_deleted_by_source\": - false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": - null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": - \"5c484001-bff2-469b-8aba-2241166b7d9a\", \n \"reply_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/replies/3226c5a2-1a30-4ffe-a370-c9bb79338eb2\", - \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88\", - \n \"uuid\": \"3226c5a2-1a30-4ffe-a370-c9bb79338eb2\"\n }, \n {\n - \ \"filename\": \"4-coarse_environment-reply.gpg\", \n \"is_deleted_by_source\": - false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": - null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": - \"5c484001-bff2-469b-8aba-2241166b7d9a\", \n \"reply_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/replies/4cba613b-1421-471d-9992-d70296438699\", - \n \"size\": 1219, \n \"source_url\": \"/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88\", - \n \"uuid\": \"4cba613b-1421-471d-9992-d70296438699\"\n }\n ]\n}\n" - headers: - Content-Length: - - '2271' - Content-Type: - - application/json - Date: - - Tue, 18 Feb 2020 14:39:51 GMT - Server: - - Werkzeug/0.16.0 Python/3.5.2 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Authorization: - - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w - Connection: - - keep-alive - Content-Type: - - application/json - User-Agent: - - python-requests/2.20.0 - method: GET - uri: http://localhost:8081/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/submissions/5e992e54-88fb-4e6e-9b6b-637522057cc6/download - response: - body: - string: !!binary | - hQIMA8PnxMCiIBsqAQ/+LUS7hKcCgbJqU0kPe56SsQcWjUiXQu1QSu7/o55J/mowOIaDviuc7FJL - Baa+n051aX41eE1+ycFpbup1z+kwzolAeG21Irw/aHTKuafheqtidYkPfXthihl9bjPt00wV0R42 - g3ZGLPbsdbyv+oMGs/6akBVWUA6vE2JgICd44gLcdad8NoOwqOu6V/dWsCjPvy+fJq4Kr5xqZK+2 - WXQEz14FsDEduLXdo4Bw1Swl7kPxemhazKcoueEFxzfkBgt9SoncBkeTJi/nBPzomDgdjiJPO6hP - f949ZtlmoyB90E1odMtBekDAeDSKDOsnHv+jvqU5/yKr4SBP7rjCeBZ7DYnSF1l/XRHicXnVVmix - W3B8m/x7rr43wFrPcZ09kNBcj8pyUN9Hx8sR6n/ptsyCXRm4r5wMFuv0Xc1yvhULGzO0hDJsp1s9 - qImzBON3sRkixgWQJYQRq1A+Dv/mIDOEI5H95o9XT+3/4wLRtoZVp2WNFUwxTTJvATZiQf8FawIf - ZwjjjI2kY6w4euWkRN/wKE1GpTMrB2bxobUpPHN+mGTQ0s1fgcRmfQnUhRfVJLpF5gzjL5g4jzZH - 2Bw03RBkFzucyJiYfjWsZ0MW9H60sOEAGdab2wBHJMspk6fuVOzYssfjjbpo3CaEr8S44FRJnZWW - GZ7Kj+6QJpMFjDEPH5nSYgH6PP0eTZ19lQme2A38w1+DZTm2rDoqqLIfcqQIZrU/SOtVF5UrA8C4 - 6yVrInXLanrI79KoKnUU1x4Pf/ardDu6A6XyIpyk7DsxRJMnJFIv/5MjUu7gQeecdwMzueU+YLLO - headers: - Cache-Control: - - public, max-age=43200 - Content-Disposition: - - attachment; filename=1-cleft_heartlessness-msg.gpg - Content-Length: - - '627' - Content-Type: - - application/pgp-encrypted - Date: - - Tue, 18 Feb 2020 14:39:51 GMT - Etag: - - sha256:ded297128ff101951884841548af3427620ba2b2d64865db4295b5de6fce0b4a - Expires: - - Wed, 19 Feb 2020 02:39:51 GMT - Last-Modified: - - Tue, 18 Feb 2020 13:26:50 GMT - Server: - - Werkzeug/0.16.0 Python/3.5.2 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Authorization: - - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w - Connection: - - keep-alive - Content-Type: - - application/json - User-Agent: - - python-requests/2.20.0 - method: GET - uri: http://localhost:8081/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/submissions/0b81f18a-17b2-4b42-a9ee-df2aaf7b5796/download - response: - body: - string: !!binary | - hQIMA8PnxMCiIBsqAQ//b5Gvl6t8Sbv3ltnUZDLmP88gZQgrI9XAFLNezbs519VMf6QyhlKxHB4y - XGu7g6E74TFIpqi4RF/5038YkVTz9m/2sYM+uEGkUHu6x12EE8/r1FTWnNMIb9gmxMLvLID8sxK4 - PDK01/KSYW4UKkTXWprDQgRskZ2zAiCh5v+XMGBWRKbD5yjRq+z0BikcXeVcjRefYHfRHQ3tTwjF - 8OMAWhhEkwfUGGTyNz/NCg9BwnXPU6vntKu0eOiR52htSBQ6lMBb2b4B7Q1BaxyYibL3lhZ7nnW2 - 6pEGI9eqaVkviCXnX9Pn8hWN7TKjtUBs0kb4Q6DD6PM9CywKqQIfAaOm93ZZ6fH5Lm8l5gqmD5rn - LcC5AqFlbNu3omxjHGr/0Sq1pOVp3W98gZaVgiXzOprYNARB9OCYntwZ7wS7hMm2Y1lbiZYkiHX4 - t3tLPdcutyY2DO7zN08KDTv5YF6TQ7SwrsH6DLGDJO4eclOiwavvgjLae6bIrJbzFJPcSU4XYlgp - rgzSJvpla6zXbkjCl/QpwaUIljsvTqU3HcAUxVD4iJXOt5CA9M8e/qK86t7Kr+D/SfK6d3yT/A3M - I5IRLvD+/2UMYi0Hei1KEG3rvnc6LKE0ewD5P6CMt82VMRzgVdoz6bap7w69LjsTJsApfI16xauO - 6LdskBdvrDYUNsXUHM7SpQHz0RINklTRYrNeIxOR/A4Ehk8X89nTspjcSbALSKOmYiukuEu0BsUn - KiU2e6wjaLYGyDx4bUczt1tCXXSy1VCX8fJb+bX4z9aemiKjxAtyEmhtRMO1aYF5hdO36MreY6XE - cbETBortfsoGouwL8k/It5WXoMhXmuRH5OUk8az/KgPNTob7FJJR+Rt3SN0+btK5vgFebVwQAwKY - WcCPQBvbS2tYRg== - headers: - Cache-Control: - - public, max-age=43200 - Content-Disposition: - - attachment; filename=2-cleft_heartlessness-msg.gpg - Content-Length: - - '694' - Content-Type: - - application/pgp-encrypted - Date: - - Tue, 18 Feb 2020 14:39:51 GMT - Etag: - - sha256:6c1b2046228346dc85d6d17c71d6bc78018a49f23b49e84da8b43f88e391cc58 - Expires: - - Wed, 19 Feb 2020 02:39:51 GMT - Last-Modified: - - Tue, 18 Feb 2020 13:26:50 GMT - Server: - - Werkzeug/0.16.0 Python/3.5.2 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Authorization: - - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w - Connection: - - keep-alive - Content-Type: - - application/json - User-Agent: - - python-requests/2.20.0 - method: GET - uri: http://localhost:8081/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/submissions/80903a12-6227-4ace-8639-16e44fa92824/download - response: - body: - string: !!binary | - hQIMA8PnxMCiIBsqAQ/9E6UNNYV9FLEuAhNw+lWpzoe/Owc/A510DycG23sVDMbKJJlso7TJCIKf - mv6ceCkUNWzNilI+LqqZZ+ZiUjR46+zfiDDks7g+w2oYRMZHDL16OqjFIsqD+hUasT71WZ2wckrd - XA+4y7V0JRNzlclvxpTYuxWomF25Y/S/iZACjNIIjuhMbRr6yKSOPGFLRlM1EMoiopxOoY/xIO0n - AoN2+v1Ft3K0xIYX1WtWQK5Kg6y0bZ5r/0FVu/Awn76mtLHRVxRAXL/hpMqnsxJXkPyrJDsoGrmf - r6eYcPuglSpxUmbPumjZ8uvO9hsEg2u8D1knnZKJH/ZbH39JMF7XzkrftB/V9ZRQmUgWwdUzkqf5 - Y117+R6ym15wbaMnXFvBJLK8vtOAo6c4K67GDq4B5BsRq/XDvX4cvYnmkuSvr0NyWiyZWGdkEBHb - UBacB6IFdYflCmO29l+hvEV6B2NwE/amsCqoIVyAJi199/kp4FJRy22TkSx8nXONeh8k5pcqFqrr - hPimLaj8RJy/OBd7y8jT/yh+49Djc31inoEnLhTENAa8xWIiqIBXHKsC8LJQ2L0X4g28H0nZubTb - X6QGJKzdtuDPMNNoy5i+LseTM7t3/pkUuJtFyFfhJVSKqEIpLrywITmRo/uJO8Xaz4lHZokQP5pk - UktSUvFLxiU//1uoVZvSYgEXGksud/irnMK7ty2eEMXD8yWDNSN9Xek2us4N4L0feLB3oM++0ayN - xbhpvmOMIg82TVu33MoKvigI+NqskP2h5kjG+vk5Vd7gbGEVP1Jj4lft3IOiDEbYlkHAH4yM+Zp7 - headers: - Cache-Control: - - public, max-age=43200 - Content-Disposition: - - attachment; filename=1-coarse_environment-msg.gpg - Content-Length: - - '627' - Content-Type: - - application/pgp-encrypted - Date: - - Tue, 18 Feb 2020 14:39:51 GMT - Etag: - - sha256:dfa745b640a7e5231338313ee6c5eeb62e367b4f5e44a9f5e1c0a6f9c3e4745d - Expires: - - Wed, 19 Feb 2020 02:39:51 GMT - Last-Modified: - - Tue, 18 Feb 2020 13:26:51 GMT - Server: - - Werkzeug/0.16.0 Python/3.5.2 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Authorization: - - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w - Connection: - - keep-alive - Content-Type: - - application/json - User-Agent: - - python-requests/2.20.0 - method: GET - uri: http://localhost:8081/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/submissions/103a307b-6a3c-4e70-94ac-1e181123fcb1/download - response: - body: - string: !!binary | - hQIMA8PnxMCiIBsqAQ//Sj795+Ks9/e7pTZPpK6jj+vvpVnYg0ovIyEonJS26Hsm9A5cqSay8wdS - TLI9WAw6j+cMTdUoi4PrGsygS+7YSaZZbDYnN4598UaEyx5Feovtxz1qmPt1Mxbyr9VxN4uRdH3d - jpyRlJvL+SF7F5XNEfPhlZlJuegWfV0lMBpHPD5Cq1vl8y/9KxG69VfZfKnuoP1ABiz71Tfhox9V - RLAQHmSL+46HpM8epYvGAViLLncfvSSyD7CpF2HcJYAvjztZSgSQ+SJWLEJqfa3UDwiaDFiToJMb - lIQUCFLlEzTMPlL5m5X4jhx9lDzscq1j90oEvs2zWZzTwZR5NNmd+iCtqw3Yyb8CSa/lxSVoq6yt - R8D2JKH9LNFl7D95SRwdmJa1A582ybnzArzVoLYptMDBzB7SNO2SJ55eCvCjsH7iVfhxZI9QoN62 - H3RjenvVoQqoUdN3gN3QvZ2FN8oGJ6wqY+G6zSnMOqbutzo3JgbBmpzO+GkNLs4oDaAtWsU/P3n9 - JGWZvLohcUaZfzd0hj8hTF8l+wMGhKUOeNMqaC4lj8/Fb98qTnH0RwapH5OI6TpRKK2LwtQRWnSV - AXbAqCiRJzlSlT/12/Z6zcEGyG2Dfov2tOhkJeNstEd9RElGh/wQERoNx2KMsrBuBunKH6HZdl8G - kcy7ZFpwx/1p2LjVayLSpQFBekwtvHh9vrcWQ+Dd4NTYprOOPj/iYUaR0llEVUwwWaHBAi2YPcRE - 5MaYPrRA3L6adVVO4QZip7UfTun9knf5srCk56/On25iv5HtlZ1eq3hHVJPMONbwoNhJYDWsBJmB - jGdakhBFRe3uG91xyJyKEp3ZxdCN4HwSVjVdoW0q+0IqINhoW0X2yCJrxOE1r2H0O9TfPjj3T01C - tdxQZc3+Xbwd+A== - headers: - Cache-Control: - - public, max-age=43200 - Content-Disposition: - - attachment; filename=2-coarse_environment-msg.gpg - Content-Length: - - '694' - Content-Type: - - application/pgp-encrypted - Date: - - Tue, 18 Feb 2020 14:39:51 GMT - Etag: - - sha256:ca987f7930f6a4846033bf935230cbccfe8c5b3aae19d89f70c09ce8ab3f7eaa - Expires: - - Wed, 19 Feb 2020 02:39:51 GMT - Last-Modified: - - Tue, 18 Feb 2020 13:26:51 GMT - Server: - - Werkzeug/0.16.0 Python/3.5.2 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Authorization: - - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w - Connection: - - keep-alive - Content-Type: - - application/json - User-Agent: - - python-requests/2.20.0 - method: GET - uri: http://localhost:8081/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/replies/21aa2fdd-cab0-4fef-8191-271839b633d5/download - response: - body: - string: !!binary | - hQIMA6nPKjuSShFIAQ//R00P/+LCE+nlDGdIcdsUhmjcS8ruHbIhLMtsZMxL6GEryGx+Y0+PdZGx - 3ihgWp6HkzjsfoOCBfA3ajvjRfr/Aace3I7EarrTBUTBJvU2UTsiiHQbjR4QMW5MQHJU+9gtzOvo - GD0+Xt8hZoKtuaLEyqOe9FZTqhlnXAqTM+tPonqi252DE+cHvvs7oj2KBYQ/slGggusF6Ru0rh4s - jzj69SCtEDxnynsZ/JCXh29Grf6JqlvhfUMIHEKst/Rh0FO9eCohOdRMppaYgAV+wtryoa9OYMIz - aFYKiMN7tOiZw3VLOGf+MuWgW1GCH1L3vopYdAbeI4NfFMP+ptjnvFLEZRGrA0WDIEKUHG+JKS1d - QxvfhU2wsuMi6VBLsXaeFn5Khd1Zdqs16K/XqMNV5Q3CgM9RveMdA7rQ8tu0EeJU3j4UaQmm2OuD - hbW8ck/5oKFArjnw/l2AhEpYhtID9hj1k9//GxUp2g7VPIsCKBlL13ic2jWuU8ZuHXuqR+PVvX+K - jgNPPXa+5GSpiD6v8Ugc+P0gG86VwRF6rT1eC4iCcHcm2gNgzYR2xWnrFortubp5PO+l1FLdlW+V - kWLCV/PUMlkbx8VecoBnyQaT2wKDfg2aFLIX3lPaJwv+sWE7/xXPuwUtC1IV8NzHeliow2Ybg7ij - 1MR70IqO6R/uXfCDHjOFAgwDw+fEwKIgGyoBEACvXwSJwu5A5Gr2CYB8ybzJyvSdLsvwq4JFEbNs - VN9+0i5JAFDV4/Nb5Gb9j9PV8y7oc9uRX6jdFFWWL+K6i1r/27fMDDNruluU3ZjBgDnPqASOPXz5 - gspBXwUrN2/Pews4OI65RkFq8o1KhwE/tweGk/0KiVy5mLuPnAmzeDbRyLb1LXXAoHljGo05wRin - j1aFwaaMY1aJDgUoI174vDrXxwUH70iWszOAZoRq/ndmJj5JSeTGAMBdPxIhI5zmXCCUAJ1EGTSQ - Hgz+XuIL4YUAp/DzxEKrl66nPUe+EuDtVOFGNJacFAZSgZcBGmD0WzYMtkoik+WeSkn3roQyLGAq - 3O9tnOLa47/sn63VqiD5aYEWh0HyBOCrdiyJTBjN39LPyBz+4d6PZI7wVDizIxcMVcl+aQCnZi0M - I1lgCGTLzfBU9eCOAPobQRJurrM14k0XpDluqmtUQllYsCO6ytVArc6S07Z12pbBlKVse8Anw6Oq - BTguI1jZjBauZiAUIt7KHWQKWaDROvrrNS6UhgjeGJb4o1xSFkZ7GK+GxJ5HACceHEXwsD4ERYmL - zZm1T+x9siN3g3L2f2Y0rpWd9TXqdEvumYsHOYmBUg0l36/h9WcFJmbyNGRUGRmFTkiNt/gfFcSD - V6gDfD0NG/2w6V1vLYzTEcJPMnGmBukNzx7eMdJdAceIsPJHfrzqRj1ruv6kCDI/aq/abJjOBGiY - JwMtP6w0RC5Hqx8PR/Zd649GyWi5UPxh/VTIS5zMketMzukexBglznmE676Gyp7BGaKi7BXT2hn2 - gFwrO6FFEgU3 - headers: - Cache-Control: - - public, max-age=43200 - Content-Disposition: - - attachment; filename=3-cleft_heartlessness-reply.gpg - Content-Length: - - '1149' - Content-Type: - - application/pgp-encrypted - Date: - - Tue, 18 Feb 2020 14:39:51 GMT - Etag: - - sha256:cc39a982c904495e8d58081cf0c2285f18cdadb0dd005e053f75bded4053480e - Expires: - - Wed, 19 Feb 2020 02:39:51 GMT - Last-Modified: - - Tue, 18 Feb 2020 13:26:50 GMT - Server: - - Werkzeug/0.16.0 Python/3.5.2 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Authorization: - - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w - Connection: - - keep-alive - Content-Type: - - application/json - User-Agent: - - python-requests/2.20.0 - method: GET - uri: http://localhost:8081/api/v1/sources/20a5450e-8de4-4372-8b7d-e78847ac9ea7/replies/83821ec5-f837-4dcc-9907-882f8c6b7037/download - response: - body: - string: !!binary | - hQIMA6nPKjuSShFIARAAoCkRMa48iBQUZ7WJMWZZvXCpMts70IaGmrivLZufdPrTQIifc639gN7l - Gsh7foRU8DHUdvZ4mqLw5O6RBCm6NH6sjq3XWGG/zs7WyD8u7oketj4R0r6MaVxwPSqeoRB2Ib2C - p9uxd1MF1u1Z8ntelC/1zaM6kJhHl7DzbEvVAUMKvXW+Fd7KqtYJz8G1HZru4dyafxRwgm45tRRU - dmea7Ipike62pASPuRrhtAnu6v7907aZw4wDMYYBCG/z6sgXDCHjVqWak/D9EE55BNqYuRtsAKBh - ZLe4Vryg70Jo8fpRXKj0vnB2dVetAs/jaQr35MnEyjPLDo09bRPYLMfp9tqW27MCJfoVhp60dvo7 - w3fGev4urUHw5uslV53/w8YtkgdMzrHnC9WX3Cdg9l+g2cOpd0P2PFBmlSfjlZ7/wyZtANN9Pp+C - vnpE/lT5MXTleJxzfeBVmTe+5okvDQ5FWA7AczrElsPzEIYvEEBAxUqgNJ/9oDNuDvkzRc5aojJc - i2vYQveLxfITRBlf6OlqQhVsklZNBSbB0e+jwftojXzIum2pxGNlzJI4x0izwF5u+V0bJEBriEOH - EkpbpJFSnXoP61a+3bIl6y0AMHAHKVzmTffy0SzEQ9yiiltMNoDa4AqDk+mExmgfZ0KsuLx4z2rB - DaSAVUEYfmK8g8dETcqFAgwDw+fEwKIgGyoBD/90kkogYgYubA+2NUK/rZOXC9xPbfJfwUkNvqC8 - WLdeQZXTZ9ob0itVzAenZMsn/yQw2jRSByJm66/OauXp/8Fmh/QwfSwBs8gZf0MEshMNaEvDlxwx - tKiCfC++T+TXTTrlEDrj/NgriFS4iCHodcbOVldKrtNKMQuIvfjf4WnnyHW8Uwv1YTZ9FwR7PQi6 - gaM8BVHrhl33AwNfene9u03P92l0uzfT2qZFZKFnegbxBzrnA/vtN/krOu0Yt0Y3WDPQNM9LoahX - hladR6zBK/PjTdn7/8keuQ2c17Gaiyu/P/loS8yiQeZ8RCw6U8skLjryzug90K52bKltNlnsDUFU - QHD3EV5RwRX6QfvOV8FlklcZkgxBMx6LilplMK4VCIjnTNcUo6T4c99gtWQ9CsxnSV3KGhM79ESw - NVK+SwsRN5vdBmxkT6dwdauDm7LrD2/FdWAEPy0KBGT1jyRp884oTAVdIxTFzk7P6unktEHeQHJO - eAho4lYPDzj1ukx3vcL+s2VgHuosPdnWKnKxFoOiT7FlZILfMBYqp06b+2ITHRNUoueypMjUsf/U - NctRTvCVxCPPP7STw1yCsArmW1Qn8OvmvjUWUQh76n+WqWHHadeZ7Vloo1IH+wm9ZwA0j4wPx1No - T8+2yypumK+gWWyWAFOxr+k7JPn/shk0cu4QSNKjAfVgAJkfHVHFmhCKbPeVBGJZtQC+OeJDtnAw - 9Djhv6KSBs8l0BLp8TEIDl7Dl9UPBabNe2IPXSbfAh5bFgbcc19AZ6eDA02eXK0fVCoyJY9asYyf - coPWMYKwZRQy8UvYqQ18iAP3NRdxRr6fZbTSmS8PTOQlcGtkMfRy00IU1eruBYEST0ZWeLpCdLG3 - iDpRD4bwOwSBE3Z9h1RjTISXOPPcBg== - headers: - Cache-Control: - - public, max-age=43200 - Content-Disposition: - - attachment; filename=4-cleft_heartlessness-reply.gpg - Content-Length: - - '1219' - Content-Type: - - application/pgp-encrypted - Date: - - Tue, 18 Feb 2020 14:39:51 GMT - Etag: - - sha256:d988b07e4b129f93e36c61505e4abacd5d7cf230cf75748ec9ac316c2206fa41 - Expires: - - Wed, 19 Feb 2020 02:39:51 GMT - Last-Modified: - - Tue, 18 Feb 2020 13:26:50 GMT - Server: - - Werkzeug/0.16.0 Python/3.5.2 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Authorization: - - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w - Connection: - - keep-alive - Content-Type: - - application/json - User-Agent: - - python-requests/2.20.0 - method: GET - uri: http://localhost:8081/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/replies/3226c5a2-1a30-4ffe-a370-c9bb79338eb2/download - response: - body: - string: !!binary | - hQIMA60NDq2V92JtARAAr+tbQYF9WMHuvDNiQKVehKMQ6oUxuqK/BOUdtdXCvmiOJ0+v/x5LlmlS - rZCqi8K1SrGaJ95qKPl1n7TqKAPshxUnOH9fDaFdDGSOuYuniT4XhKpr7WfFPsTmoEEU5HIyz75y - Dkfbljo5AHJHiUsf85lX2oLUZx6jER0SsMB5csX8OKdDiYpxPlre04SnH3hGGnXoZKjDtrJJVgR8 - 0ZaUoxTWqxtvgRXVlPyooXpBs/y+1aQywqwI4EPdzmkdPQkg1bW1mnUpuBX69wf27vdjN64hqDl6 - txccgLJW+F50VJo9WGM8v0p0yIl3K1ei5TON63L5XsDEbh/nL472Ghv2uPvNwITsBkuS7P6vOABf - mkUVaaWWWRLX2BGCwR6lZhZoF+kjfGLvcBhq715kErEaDicule4wWks/xoaxd0VjVwb4CRRRSZWS - zelH5WO5jup+ev5/YSx0H5b/IFHiMAFd1OyP4fiMKKq4M2/+wCpXhvNBmYSmUKKqKGPgmtMm1BZH - ZFRgl/r+1vZyJm0EHyoBQiO7qSZMKgC6ELjROoAhU4QUf+nmnn8Bb6aQ7neks9Ah/0p09OsIz0zh - BoCP6tktpJT6hlDBldWX7A4jc6jmrP9Gn1TL6jzZuCAIZ9tY+B5nk3FnbLMqLziWMRpOQvaWDX0Z - HFzcBxXmTFWtSO1jXvaFAgwDw+fEwKIgGyoBEADY3jMoG6tVgwHRCiKwnOc2FjcVTNiDSK3DcBTd - tFCrx7IlD6Gohkog8gRzLu2KOuhBP2Z2Sv/zRrqSLEgMWoVYVDcz19C6Rtr+VrGxim1oS1RNXD9u - 4qQdPNIG7TuPKAj/V56+BwKM2nGtwk4G9AgBLdbriU9acBX7baib/78wgaT4TCVYhglJ6zOwbSER - lFY6AipmTVeq8ozILACKZTr51u/ezODJtkM2xsA1Rmt4NqIaKmjj63PzK6IgKv7Nlw1kPtdYccMi - JVSVpbz7uKLAZYI68QDrRNQY61pmpFbpnub+NabGs+xHUXdCgdXfEweNZE4YutqBCl6vBX10z4jg - NEOfw6uycAqzCj5RKpIRhOdG1ZrGL0QChGz8vYHchmW+qtswiyyMGJBI3EHIBztehrPm0n9DBrJl - YZOLpao2CXRlGxApcHb37pQxU+g7TPVX0Y9YJ/zvH3qn6IMqc6NyJzC1XV28GzQW9KOpN6mrGlR/ - B5S6Ji7PO+OBiRDbdlCDdPjgCvrJD62YEgoM2Y1w2hYoXFiyMH9jB+gql82GIBkaeHZoEq1MWPGc - HZIPuY2v+4Jx4uwtTGwVJZtD0xzRJ+rNMyVMXL3AFbbFfJl9dpnc+40F2QDP8UJCN4mZ1EgFvfIN - 2hSklPs71DKlOTF1ZECDUWLDzrOHgiuVEtIImtJdAZ/CW7RYn7s8XHTTWh/OhbOCUnclFgxLy91L - y98Fq2lyRKaD28AC4Lp9ZbuPp830tddSt8Ijgx3nNfXP1jRhcKT9cu3MfIZbZGUiOH9tkLF29gaQ - 72c9AnideMpR - headers: - Cache-Control: - - public, max-age=43200 - Content-Disposition: - - attachment; filename=3-coarse_environment-reply.gpg - Content-Length: - - '1149' - Content-Type: - - application/pgp-encrypted - Date: - - Tue, 18 Feb 2020 14:39:51 GMT - Etag: - - sha256:7b04b0903b6f1ef810e56790ed5d7294f3ba714e7c94892e50f3c83eaeec4fbf - Expires: - - Wed, 19 Feb 2020 02:39:51 GMT - Last-Modified: - - Tue, 18 Feb 2020 13:26:51 GMT - Server: - - Werkzeug/0.16.0 Python/3.5.2 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - Authorization: - - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjA2NTU5MSwiaWF0IjoxNTgyMDM2NzkxfQ.eyJpZCI6MX0.fGhTay9W9MoMLqWVTirYL1E1DBmVKvTFH2fA1I5sb9w - Connection: - - keep-alive - Content-Type: - - application/json - User-Agent: - - python-requests/2.20.0 - method: GET - uri: http://localhost:8081/api/v1/sources/41e0394e-9676-4e2e-8285-31445d143e88/replies/4cba613b-1421-471d-9992-d70296438699/download - response: - body: - string: !!binary | - hQIMA60NDq2V92JtARAAyo7BKzL4Hm6rYcQlXJZSA9V+3Jy9jFgiLyf7/1kKhKQMaXm4LFmWXPcU - /UVBwXSSt8tRjM/HMFDwBrKGFVnfgz5ZNhp7UPTrTWXgfT1ZXQ7RAO6rawMH/9NkMWne/gItSyVJ - YzUqQhq/mwh/s6XaCCLzw40wfkG+zdb3Z6G/ufgtHXY0M3UZSlg5yQEP902RCJQ+jf+E0g+mhf3+ - FI7SeCnT3F3LUo/a0AW0tS6mMaQk8OTLZ6M1idFKbW4PvK6CnCtEQo2qCc0uYZoKXnzU9brH3NMP - tWyCPiKqC8yMLVSJRBU8B8oF0/obXJrQC2y7EftIw0qd7yW0Ek7cLwifhZM1EOyZtSGIMi0xQSWu - 5RoSwC79iS/3KkAMQdEqF1zQNe+BNauXqRonwtwzsxyTNNT8pobfo0QBPPcYc28WrgO341s5o37J - jY1tWrTCEHbBtWO/4vAI2MoilWABcYmIr+2IgG7eHsuWWE5YWyzJx2LGA7F3LJUAP2tkGa+3bd+A - 7vQ9pSxk7+BUADVGlBEdBj/7Tlx9eXBURaqhgiWV9n26PY96bZ+0f28/mjsrRGsqgUTXErR0PC4r - 6hNhUXrZC9gFqakI6GqhaOll7yCiK3M7TM7XDq+9uixSta5ZpyBGbj05ZThmoelxYCzSGocLjBRC - O+BNFtAKD/j5BeqQ2zOFAgwDw+fEwKIgGyoBD/9I28ojmqDxEqLKhV7kSmHSVzgYMaLcXrtuPIYW - xrzkkLGx4knny3DuxTRjuECsOgFR3X9ZD8ZcYlqbjFBu1uY4DMvsolYeX3UB46e0vF7SxRYPC5iz - ZTHWf9nEFvQB0eo/0LusR9876whZTaHRFnwYzwDNPCqoW4M3w23pHEXEruDWjK56HMVcPirrBM6Y - pfpCDYTok1PJKqGwdj4o3U+yj0nJqKxjyXw1uTx12LfZd2Z2M1y2O3WygQC0XPeBgH5gEnB1N8ln - OFyACW0mOTxH0MREmnCXi/FEttNyNAAozOk86SRzlsmzLdOz+/LQPU3yGIAg+3fcSJVkIm1YLdTJ - QNAp1Z9QtSI8sbQrjBB0LTzAdvLBMGK2Oca1ZGKT4qIeglfzjKvAPwa9fvAF9XisScbCpfBRqOfW - 49Jy/AkfCY1XQtmx3GuVjNP2THcLys9Ebao7J/5WOktmMcMOFhenTELdeHNlOUPRkRPkVMi0GXR2 - YbeJ+PinrbrlFG9OdgWtatm4XQJVYchJcu3ntItf+e3VdvI8G4PcftbawHSuEF9Y6zC/dtfh9zi6 - jHoEoqi9BrnUiurWYlfNqXy7JuGeuW7bcPA4IMGBAL1k4yGb/JEBs0vTWxVxTrlnBqoRA9gIrCKe - u5DLJ0+CnE59Q+CBJyR1nROS8n5DVsy5ID4MntKjARRpebv/Wyh0m2os9HzS5Cgw9Ho0LRQ6gT5C - MYRnzdE9sMjktJiN8YoLOoD8VIg54lM/3OYg6VgJzRIjqTzHXWEQbiY+OCWG0v57dh/mB54dvqYn - 0YWbq6j0Oh1kt2SwSfF3hZxMSO/lCPTyg6sPhyC1T2DBdOuSP1JBIcdSScg1DJyEDey1u9ATTtUN - qS+IMSfSKyIcJdj6oPpV5RaJtq7PTg== - headers: - Cache-Control: - - public, max-age=43200 - Content-Disposition: - - attachment; filename=4-coarse_environment-reply.gpg - Content-Length: - - '1219' - Content-Type: - - application/pgp-encrypted - Date: - - Tue, 18 Feb 2020 14:39:51 GMT - Etag: - - sha256:960588d4746448959f4de26ac19fc12ec59a45af44ea363eb34ef7e216cb0ca1 - Expires: - - Wed, 19 Feb 2020 02:39:51 GMT - Last-Modified: - - Tue, 18 Feb 2020 13:26:51 GMT + - Thu, 20 Feb 2020 14:11:20 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: diff --git a/tests/functional/cassettes/test_send_reply_to_source.yaml b/tests/functional/cassettes/test_send_reply_to_source.yaml new file mode 100644 index 000000000..a9d7495ce --- /dev/null +++ b/tests/functional/cassettes/test_send_reply_to_source.yaml @@ -0,0 +1,871 @@ +interactions: +- request: + body: '{"username": "journalist", "passphrase": "correct horse battery staple + profanity oil chewy", "one_time_code": "778326"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '119' + User-Agent: + - python-requests/2.20.0 + method: POST + uri: http://localhost:8081/api/v1/token + response: + body: + string: "{\n \"expiration\": \"2020-02-20T20:50:52.324333Z\", \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_uuid\": \"29c7756e-c0f9-4316-b42f-a0af9e20adb0\", + \n \"token\": \"eyJpYXQiOjE1ODIyMDMwNTIsImV4cCI6MTU4MjIzMTg1MiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.grUQ8qUhNeW56YokeHxBjFLQCr4RazDNjoXnFmeXIQE\"\n}\n" + headers: + Content-Length: + - '317' + Content-Type: + - application/json + Date: + - Thu, 20 Feb 2020 12:50:52 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODIyMDMwNTIsImV4cCI6MTU4MjIzMTg1MiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.grUQ8qUhNeW56YokeHxBjFLQCr4RazDNjoXnFmeXIQE + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources + response: + body: + string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"grazed linguine\", \n \"key\": + {\n \"fingerprint\": \"D5A5E8ACCC20947FD2CECD0ED2AB46E2665C079D\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADWyggMKi5XAVj2I6Qvz9ZOcUSWdBteooAh9PUIry/RkuFjCXAT\\nHgNPsmc5Tb+YH9uUepo76Ykaq2XYCtY0Khika3zbpHScb+hBy1p7dnOH1IqZyAco\\n1OruxjFJ0woawSGNSAAufCajcvFUwj1sZ+sXlo0lis69ariX2xlLtMEktSCL6xps\\nRQPumY6m66JNmtdgIggoGQTF0JbJ0kics86pPoFJhpfTjSri/amTaqHUd9cAG1fw\\nvPLRmJMqBIM2wmX0tLU0Dyjf+I404CKEJ1hxI8M3mAk5LNvFRwe4Q3y2UyHq7IHF\\nkmJEKoTQQPKcJ3/IfKIFVbs2XUQNje2X/wn9pqEXtldseIfpyXLZwm9swVPzV1IW\\nMiX9adxvkrentuS/2oGm/W4Lj7tKQy6p5BzbGWrz7C+WZYzs5UwyyMJi4zYq57JP\\nzdzBAhwI1E269gDAWN3TTYXMS/bc4xm6YF16NkV0yCYcZdAe5QgJu9XezHq+2dHP\\naX2C40i8K+Kh64PjVsQ3uWUZxmdJW/dGm8ij+vwfQh0xgNBWw2F5kjzapLApQHAC\\nNDk18hbxK6LnjLQFhc3vMBvoG22IUoeQ11ac1LYW8tv0+o0iEJCSfdYgVVhQQ9Do\\npaErbtr1izpp5WkdhQMqFoEwTCep2OWx8oIM3Pwn4a8KoUbVbPAn2qu6UwARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8TFFXM1EySkczTlNRWFZIWkdGVEhKSkRJUUlX\\nTlZKVEVKSDRMWVRCSVVGTllGUUdHVkhKN0MzRFMyREs0NVQ2WlNPMkNWWkJNUVYy\\nRkpLRFJBQTRDWlFRSjZVNEZQRlhPUFpOSzNVWT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJENKrRuJmXAedKE8QAIcisxZoyr7h\\ne1YSeIHmp8TTrJsSChOiFbE31V1mLVSz+mC8OdoulK+2VhNVjhcndbugxcKeYCDL\\n/qpxRVgoe5GWJRCU7t8xZZ0JU4gwySF/VPD9053zlufevK0u71/8AJMVYuGzOJcp\\nFd3LDmoKszjFjGzZIs1BSUAeNobz4yXL0FVLxznCqyRlWm2C9C3Qa3NUTbJ5xYk0\\nZVTR0CKN6uXj8h8gYfPOiAjR6pqKnxrSVN1YjcpxhfuVn/o20HfwtZyDfggHlWZQ\\nb1xnQkU+aLo1aE0LSL/+9P9nUEN569B1cY595W/LY73pkB1hpMhz3q+NQ2t8aU7y\\nfy3oQ9V30J969JJmLYLyquFJ8lqnQEUVhm8+7GscR30dhM5APrbm4zWYozvZYNYX\\nRGd37pGTDQInzK95R3Gp/H0Q4W0cgY3J3YobVj88xp73QN5c1IydZaJFXgN4CxPU\\nsQXHHX8ojEPky6NPwR9McrGPD/iXWOg4L3OesvsOQtzconmqglcJKeVjgzPjuND2\\nAzFXW3axcJMMP81nV2H6IhxD2HUNMO031pLHkguNM8hXsT9lufMf+TtntmRV0BjT\\nPPSFOeZ1C0cnwHKKf1Lw/+LtJ9NtQfHsRY5JWQRpTA0ZoxUkGIZ+/jrj+X49Cg3Y\\nGljpUt7ZJRj65tCweBzvOG0ddWoyvlpF\\n=e5cm\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-19T11:15:57.715037Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/remove_star\", + \n \"replies_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/replies\", + \n \"submissions_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/submissions\", + \n \"url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518\", + \n \"uuid\": \"bff205a0-5bc7-485b-91e0-60d7d7f58518\"\n }, \n {\n + \ \"add_star_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"seminal term\", \n \"key\": + {\n \"fingerprint\": \"1EC38D5687D95E3875A7730CE6355383CB19CA45\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADBJnihA9t8s0v5e/RKAxEHZ/WUNYpdC4wig3ctIzZyAg+FF3hz\\nNj0tlsKUlbuS5xoPYFPMmSR3Xe+20fPhBWzQPdcJgQk5Wzz4fyYXHb6TPB2R/st3\\neapZZsiGvBsfYMBeuHnLVcpA/9XRrKck6enWwy1ZcLv746AL2I7vfDjleK53uwZe\\nxfpJ5ySGtTzuBP6TPQBU7J2AJvoS29LlJL7EE4g8o/b7OnMvDzr0/h28THayJ0tv\\nD8/1kICBX3Cvl25VglMYtHhWo5w+L4x0xpku819AAbolabxgr+Wj94rZzRk4HwBF\\nizXLObRiA0BjPmTQ1eOPdn/QZ8vb6ztxNIs4KCwWdSPVBUDOiLh9AZZU+Q10DCHL\\nhAhUEqjn94boxiEVXEtCvla+tHwWWp29VokmiWn0tpChH+Bm2extpA0l4wyW5nXp\\nn36F7/2Pya854LTg9vsoiJJdkBQTFNMOWfkjsC4OIT+biKtC0sUvk4Skfo0we5Nw\\nqog4QF6bNeVPKWPlO8AirEod7j34/msbuxJn+Gn1gBgK/n1hnc7BJAFEm9MoQDsn\\n8UyPfvn1b0DC0ZbjWidepK5K+M4p8gsWidmtngSWTR6D2FRnFmVgaw+vJDW1xdgF\\nFYixkVzN5ndTm8UhqXkX8JdrdlLAydHvZBenxS6J5fUpNdZuFsX9BnFacQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8VTRQTkVIVFlEMjJJQkJSTEtBRUtSTUpMSUZa\\nU0xRMzdTVDMyREwzUUhYWDVBUzNDSU1VQVVOSFpHRzIyMllFM1QyTE5SV1dOTVRY\\nVUlSSE9FN1I1TVRCNlJOVk01STJIN1RLT0xHQT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEOY1U4PLGcpFwFoP/3rGMN6eWTfp\\nq0Mhio4AGG2NzFs81WA/zPVNIe0nHDdAQ/Isy3MLPplusAFlydZFsKeavvZ4L82k\\nuan5csj8Ndvq2lk3jQGi+UzBnOVRPOdGwUMl9GqAjMy1D9x95oV+NHeD7nuRMWBj\\nEwkCbf5XG3AVu3Em2EnubnmeIJ8wZezrTBomThGA7WAUPmhHuToD1JDqMAZCtklj\\nkS2nXoaLU82qf4j7fAceE3xEAeWz/eERoJl+aqhf7vU2H7Q3K+VAPSTjPZi0EQpB\\nY1tC3ey14eJGW8OLAWtOvjACYOvbqbTxDdyMyRnDtKtiZI4Bp7KaKy39OYQ97KKd\\nc7D9Z1Ar35DwyTZB4h6LdY6jB6AiHgJlUOc3SQ8bSwTuWg8oX0xWKG9ZKi7HZJwA\\n5Agvs6rXy/HuYxkFIGHvwurNHU2pal/z1WVUrygIn79kjzxP4xH+S1QREpaxXc/f\\n2H4/UM7uXVCGJ1l35Wiq6xXb5OS1M68294LwNXaIGQ9Y+3fc5aQ+140pBJ9L1WPm\\nGrsjP+I3sBGGHVnJl/XeuRpWN6I1PF1E03fKmnwsh2eIjpcysnCZzUYPZNDb6/WU\\nuVRpiKr+13U4XeidGdKWXxpv89AudJTyWUQZKU+Wf0I3CKhmdfF14MkInHAKLFvz\\noUAGSIHErylK9A6Ex2CAL5QVYeUndefr\\n=lsDl\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-19T11:16:01.848017Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/remove_star\", + \n \"replies_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/replies\", + \n \"submissions_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/submissions\", + \n \"url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b\", + \n \"uuid\": \"045a6336-4d19-408a-a814-2c2a4785c22b\"\n }\n ]\n}\n" + headers: + Content-Length: + - '5342' + Content-Type: + - application/json + Date: + - Thu, 20 Feb 2020 12:50:52 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODIyMDMwNTIsImV4cCI6MTU4MjIzMTg1MiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.grUQ8qUhNeW56YokeHxBjFLQCr4RazDNjoXnFmeXIQE + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/submissions + response: + body: + string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/submissions/bee651ad-58be-4443-9755-0d4a3485d24c/download\", + \n \"filename\": \"1-grazed_linguine-msg.gpg\", \n \"is_read\": + true, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518\", + \n \"submission_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/submissions/bee651ad-58be-4443-9755-0d4a3485d24c\", + \n \"uuid\": \"bee651ad-58be-4443-9755-0d4a3485d24c\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/submissions/e4f23d10-ec5d-409c-a196-09d1c2e75150/download\", + \n \"filename\": \"2-grazed_linguine-msg.gpg\", \n \"is_read\": + true, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518\", + \n \"submission_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/submissions/e4f23d10-ec5d-409c-a196-09d1c2e75150\", + \n \"uuid\": \"e4f23d10-ec5d-409c-a196-09d1c2e75150\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/submissions/11e66975-6287-4b00-864f-cbd41fb11081/download\", + \n \"filename\": \"1-seminal_term-msg.gpg\", \n \"is_read\": true, + \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b\", + \n \"submission_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/submissions/11e66975-6287-4b00-864f-cbd41fb11081\", + \n \"uuid\": \"11e66975-6287-4b00-864f-cbd41fb11081\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/submissions/c27dbac4-9276-4fcf-8239-89f9aad15874/download\", + \n \"filename\": \"2-seminal_term-msg.gpg\", \n \"is_read\": true, + \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b\", + \n \"submission_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/submissions/c27dbac4-9276-4fcf-8239-89f9aad15874\", + \n \"uuid\": \"c27dbac4-9276-4fcf-8239-89f9aad15874\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2031' + Content-Type: + - application/json + Date: + - Thu, 20 Feb 2020 12:50:52 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODIyMDMwNTIsImV4cCI6MTU4MjIzMTg1MiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.grUQ8qUhNeW56YokeHxBjFLQCr4RazDNjoXnFmeXIQE + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/replies + response: + body: + string: "{\n \"replies\": [\n {\n \"filename\": \"3-grazed_linguine-reply.gpg\", + \n \"is_deleted_by_source\": false, \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_username\": + \"journalist\", \n \"journalist_uuid\": \"29c7756e-c0f9-4316-b42f-a0af9e20adb0\", + \n \"reply_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/replies/d2697e01-b654-4957-bd9c-966440c3aa58\", + \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518\", + \n \"uuid\": \"d2697e01-b654-4957-bd9c-966440c3aa58\"\n }, \n {\n + \ \"filename\": \"4-grazed_linguine-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"29c7756e-c0f9-4316-b42f-a0af9e20adb0\", \n \"reply_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/replies/50b4c321-a505-4653-9872-e6fd36bd2841\", + \n \"size\": 1219, \n \"source_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518\", + \n \"uuid\": \"50b4c321-a505-4653-9872-e6fd36bd2841\"\n }, \n {\n + \ \"filename\": \"3-seminal_term-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"29c7756e-c0f9-4316-b42f-a0af9e20adb0\", \n \"reply_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/replies/76106a83-3ab4-4d31-aada-47bb6f019d7d\", + \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b\", + \n \"uuid\": \"76106a83-3ab4-4d31-aada-47bb6f019d7d\"\n }, \n {\n + \ \"filename\": \"4-seminal_term-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"29c7756e-c0f9-4316-b42f-a0af9e20adb0\", \n \"reply_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/replies/d425b739-99e7-4a21-8a6b-0e90673c184d\", + \n \"size\": 1219, \n \"source_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b\", + \n \"uuid\": \"d425b739-99e7-4a21-8a6b-0e90673c184d\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2251' + Content-Type: + - application/json + Date: + - Thu, 20 Feb 2020 12:50:52 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODIyMDMwNTIsImV4cCI6MTU4MjIzMTg1MiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.grUQ8qUhNeW56YokeHxBjFLQCr4RazDNjoXnFmeXIQE + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/submissions/bee651ad-58be-4443-9755-0d4a3485d24c/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ/+PyGqWStuehfZTYvc/puVL26Hyh/O5jHVNPXG/yg6xIeaJc06BbPDItb3 + cAYonW6WO73BhkB/1rMJeRcz8PplpDhORYImbjvsbUMIQPyF01Qu2HaDLPZmCLem87sPy+742gXp + P5wscyVga02c9u9nj5PWsTvAFbHtrMFZbftI385BRtRwpWtvmBFadOlFKGKRn6Ne1+4sDjgs8Tsm + NA+59Ow6OlXMn1WG8ebzZ+7ZiTSamt47++2zvxDNnEgPH/DhdpI5f3YM5WgAMqAqtvkMWNVTLavb + TEshpWr0E2i+haO3fFi6GQ/dr2zh7yIlxQLhxOoURfuMeHYpkDLrGlCjz5TcgscFFxR//9/584l/ + wEj5z8DcgoewEGPuXaP2sVYyz6OMKylr0r8SfHTCEsLr11rc/4Fl0hQ/tYd0U7nCKm2agPTl5dKS + w4m51F/P8JIMRQBiTp0rIn8zrX5dJG7/c5+L3L6ag8vohWaBRn9N1SAW7Ph3zKGYqYtlqbhA8w1E + IuBNC/LtCK9rVdM4TKBgGPshAixJMCtPOgl7SGSEWn8k1eAX1io+2v12qVh1sq4wRXBUtF+Y55p8 + XsP8Mh2B4eoEKRuWiTEZc+AFLJcSRAODWbhEPfujOeYyhG5isJqHXNWiH0mR0Sm7eUjxVK0xDZg4 + DNNHpcCyJNmKXlifILDSYgG8re/X1YVL1bFe55rEfYbJ7DHw3QsGFn53BsXJYWy4PVn0CEGCrjVW + UYFngKMMgBlEkiUkpdNz8qnLbs2kHxPkQRosUtKekmxGNviXIsK0X+Q4cNTM+7OOD5lvL/J/UWEP + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=1-grazed_linguine-msg.gpg + Content-Length: + - '627' + Content-Type: + - application/pgp-encrypted + Date: + - Thu, 20 Feb 2020 12:50:52 GMT + Etag: + - sha256:8fcf4cbdf1886a1ad833dc29da55ce77eea532028680ccc0edb4e8082ca4b061 + Expires: + - Fri, 21 Feb 2020 00:50:52 GMT + Last-Modified: + - Wed, 19 Feb 2020 11:15:57 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODIyMDMwNTIsImV4cCI6MTU4MjIzMTg1MiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.grUQ8qUhNeW56YokeHxBjFLQCr4RazDNjoXnFmeXIQE + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/submissions/e4f23d10-ec5d-409c-a196-09d1c2e75150/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqARAAp/IHyZFF9xTOLwnkPLzLkVeqyHihTM5Ips86aYfWLUvVn5NKDJi+pBzq + u0YYKu7e76y0+Pfo+cJoNEFI3fYCS8bsTUGwBjEuzi9d68aO5zpN3MC7em9ZwrVirmjo/nfNKHit + LZi3CY7R3r84qH+QYjnLhWAvRlAgrNUM7epcdp0bM5uh0a5BX4AqCIj6B7ythRlUdThA/ItOlhoV + swAunzBlb8TuFKVh0MpI/cz1tbUxC6NZvNerzBNjfR9HK6EquvPiQjh3M00oCfTop/xI7lJdnj/1 + g+UpIuZQQUQDahy+OpwBu78c7sArkslGGZ2QlmU2aHyJPkYKycrgiHbHxd6NnqIW9k3prfjq8aaQ + clpIciikGD0hyhxVjaUCLXcQ/g0/kC2TZcwHZwURdTIIfodFxJ/bKMsP2x7c81ij9xOK6nUzuvKW + fQiUE0Urtr/b3xiwMTu99eHw+T+4GTZMmj+KQKbKjPzlkCx2hlEYt7+f4wZ+5tUpXaMKrxg9qOwZ + qsY0MqdZzn705qVzoA09fgWRQnoUman7Cc/9fnkqWkWikPFy3VMXU4PfFrqIbd+uUaSpth3DaSOJ + 4vmrmjuh9aJFgwjcvlINZgBpTv0qUdAFlYNHY/6cNZfc5Xwnq1RKFJ5p2tDNQUPxh7G4DaKGkp20 + rTAAYA0MEeEsW0I6mpzSpQGj1N2fJYXSyVzZgcdJYYL2J7Z15q5Trz/vWFDEK2p6UdIKRYKfw0Nj + buzkF35LTWTrBcH7zomUTKCCrid2q486v7IeMz1x+CcNsqoGdrmpAhwOOw4YKbBHrSxMrrSeZxrG + yYD+QuD732naQC9s/fomY4t923z/Z2E4nsDKzJPo4ejfUko4n88JIWG/rNlWkwsqDibVjcckvpTK + tN9+rOTdtgwchQ== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=2-grazed_linguine-msg.gpg + Content-Length: + - '694' + Content-Type: + - application/pgp-encrypted + Date: + - Thu, 20 Feb 2020 12:50:52 GMT + Etag: + - sha256:f3a7b2a06f859bb0c4c686189e64fd5d99abf23871294c92eac3fa39dea717c7 + Expires: + - Fri, 21 Feb 2020 00:50:52 GMT + Last-Modified: + - Wed, 19 Feb 2020 11:15:57 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODIyMDMwNTIsImV4cCI6MTU4MjIzMTg1MiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.grUQ8qUhNeW56YokeHxBjFLQCr4RazDNjoXnFmeXIQE + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/submissions/11e66975-6287-4b00-864f-cbd41fb11081/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqARAAxCgVcdDkpiIUr3kL7yHwcJRGo/BxXamxCaEsiWisxyYpGSSWQ87w2uDd + QmBLsjxv4H0p/dyP7rJ/jA3Fz+/8rwQd+/SfJhFq0lafJHT6vg/qOOzHmrab3ZXWZ/hXWVomcpqE + KhuUHLCxLY4zYnRk2czc0qQHER+Nm1fTADGnrpLDKz64X68F9PS7fP/auVemExJL101Xm6J4MaS0 + RZ0dngFHrUikMNjIFF4mqlt/kVLFUKtfvWbgk4+COfJ+8iSK7iO7OZiRBOOLcetHR8jg5EPcbyf4 + /5RffANCxsyVJirdwQt+scCVb9lQmIzu33qXTLFZnWkUGnxyZWrbYrI9w9yAjRUBatVz6RBMIRsU + elW9EZd4EOaEBnMFwiDF2GGctdCqjIUM4d2DwEJHC4alyZglyy8iwuQdvwCrAAOM8dZJ2U78MqBC + HQhtXa+6Rw4tS3EfwnJr0ofN5c6tQ2lVvNw4nIV3h2oYr6c6hHf3mkJdKhTh9PC5G5PMVtHIC3sf + MJBfXboFLRzOPciAhqcOOpLKOubMUpISOLziXtQnLAfeHvjujVnt8sT4r/UlVC4A65F0L82RFj+P + 8bPSvE33OSTG+8XyE68DlPJfOTmxnhvo5BtiSTYksL9/vDtTxq6MZWXDIRLOb48p9eaQ6qVlUtzZ + nEKxhjii+jZACe2EZvTSYgGZ42e96NxICWdLRTSDaWjtK+yy3E8Y95SjIB2gOUh2zJI/mUf1OgU7 + as/oIJIzNuDsJGAPYn19zAfanR4aiqM1g7sZAvkCCA9GxVAmDup7xHD/hBqof+Kr1gBLog7gV9fP + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=1-seminal_term-msg.gpg + Content-Length: + - '627' + Content-Type: + - application/pgp-encrypted + Date: + - Thu, 20 Feb 2020 12:50:53 GMT + Etag: + - sha256:ea4fcdd203587f1f73ccf5148c61110218cf769390f717f59202bbbcdf9bad40 + Expires: + - Fri, 21 Feb 2020 00:50:53 GMT + Last-Modified: + - Wed, 19 Feb 2020 11:16:01 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODIyMDMwNTIsImV4cCI6MTU4MjIzMTg1MiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.grUQ8qUhNeW56YokeHxBjFLQCr4RazDNjoXnFmeXIQE + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/submissions/c27dbac4-9276-4fcf-8239-89f9aad15874/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ//bXQpyrA/F1I8EBEN9FHd/HxLj4BBk/1/G8EsdPfF3iXo3q8EVJYK/62H + RTlhqPwFleAakn+QprJEiuGtYzpdaV8dIKQozB+cnkC6CtxNu1AaErGZ6B3aCCpGT930hVjPvX9z + YLaJbJFOoHQGPuBXtXZdPCKQQvRDPJ7zCmZJqjFF6zHp2bm2vQ3QgSGiDgH5IiWWF6NAlKjBlPLN + E7W23SajRCgRvQBShf1ThLhB1OnszkUqEUmPPPDhiK5C6GvJeIEF3/1KmYpzAZQW+yjrgFOrCy00 + Azd94xhCjZqmjOTfGJqn9m7JW6bpjZHcF+azxZSG0TF5AHh2+SvS8lxCAryVcHLNpUTc7O6dzxvx + NnYEF3YiGyzlTxNQceblx4zsNsye/iYWPTajETVabmXOQb19ISycndCHL4EQgq5seySScqPT/vRS + 5m4SHL2dX3RrevCVD+HrXijDXG/6EGAzjpSNVhzOQTEwbEsPZ3c93YF0e6Pb2IKZshCmLGR1lQDO + 3N1oLsdYuL0SlxuC6P1+MYUi2t+Y3fqVnapNXYW3Yq1Gs47TdrybiehqmqHhP0ZVfxoB3NoxRSYf + tlyCn0hcmzsbmGqVwVU3Xq3E6FxhB2RRlX/EjWeIR0qbO37M9tyweLwWC0dMYwoyvY1CEI9JsPnM + 9DnQG+i/jhhZBjcTfNnSpQE5MtId/k1O4l/UeDPy386sqbrmjhZaRCOPD1vRvOLp6f0rCBUqGolP + /rdW2wDKTOzStUw9bZsHfi9Mk9ElrX5vdg2vAfIb9OZr4l5IrgQlFY7Z09o4kqOK51F9AAqwzzVx + 23yEfN8LtM8LvDVCudwLno7hp7nFHbpv8Xq0not9m9oeq8HIwx2xShEcR/D+2USCFwydT9WAdlY3 + UVF4i7Bw/4dVuQ== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=2-seminal_term-msg.gpg + Content-Length: + - '694' + Content-Type: + - application/pgp-encrypted + Date: + - Thu, 20 Feb 2020 12:50:53 GMT + Etag: + - sha256:7e5088b7b66cda2b6ad8402eaba2644b3321c7356f6a9a77573b5fb63b0726e8 + Expires: + - Fri, 21 Feb 2020 00:50:53 GMT + Last-Modified: + - Wed, 19 Feb 2020 11:16:01 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODIyMDMwNTIsImV4cCI6MTU4MjIzMTg1MiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.grUQ8qUhNeW56YokeHxBjFLQCr4RazDNjoXnFmeXIQE + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/replies/d2697e01-b654-4957-bd9c-966440c3aa58/download + response: + body: + string: !!binary | + hQIMA9KrRuJmXAedARAAgAWtVNm58vFFBt14GLmXdQlglqsU22upvavkcokAt/BkMqEtWiMb3USI + FJ36Cta/UQgl00guSPY0TPdzhlwTmKocJzyT7wZv1IoRb1SRK9PWre4h4C5S8Qw28pHRbkHD7XEW + WQwRfurvMAw5TBiUTT1KXxRlgT/Uog57seEAV7jgV44Nbunhr4JOLMDf8f97USg69TkVQXVK9s+L + wPfq620AsQVhFrUpBtb7L0DJK4jnblJNalx4RK/762as+5EM99tC2wIZjLFVRevcBIFCQq+wwIhY + kGrXwAcRNuspVPxZOAodmMcqF5Geg6zlODHKLt+p5fCDCQjZE3zy2b6QXrikCmV0nn/5hF5WjRBN + f3Ba46EwEqYPQmwRgxmkTAwsBBXcikcpv2nG4SVUq8mzrZ1y/Zy+N1zJ46c21kdzKnHhXAqaPyGm + FW7gzr0uUjmgPeGlsYzvKOqJ4CZcguxi4ExSyWuZtzFrNE92ygFkJ3uRF7ZK+HxVTyEJ1CYoi0uq + u0U6BITuHbhiuPx5MftXFRE1y9KzbSWeN/2EsD8aXVPloAgRHC6NfRMdDAqRu3fUIy/I42zwS9lL + QQcR/TdHzCpbi9Sv43BQNbuUf1pl+W5BMveR3FfugZ4Fco8TZe0zimIZChy1OiFYwBN3LPcn59dk + lUEM0i3pppY8yfPVA6qFAgwDw+fEwKIgGyoBD/9s9PhboiKyJU/yaymhvON2lX7O0SiNgaT0ecYL + UyDrFEm0f5j5H1sr1uCi3dwT77Yt4rFe0fRiEjIEGkwWzyrodfxMQps+GQwYQc6OeUXXebPITcmz + rZ1VEjxggP93l7x9Ii3jMhisrTPjI7MLTuT8FmYnpVjxsxVIvxXWx51tzwvYRc8KG81Pi5VM8vPO + 8ZPyD1nuoTmE1hts32A/e+6MSZ1zT1Z57qvujxo+h6f1BjPtWT9DOzTGsdiwaTOn5McpIlxm0o67 + BESSWvY7RnGs6f+xpCHfof2o7iQDPqz5ZVW1ycXvhUKsE6+fk2U9lsDG1sa7/AjRLjAMbMq3OY2m + qOZBdYrPsqGj2i3dGZfTMej6RrucDY04e9Qf9Z/kRLi5Bfee4+s5uvRtS2QhSF2ta2zYCsemie2b + i2alUGyu5KbH1wcqQqscdZA6gDn2lX4WtyVJqM6p4sQhn/kda9If9TIEM6/NJ5mB+Q7lc20yfUlW + 3CeKSGJJf33hYodp2UIycOUp5zJaJ8IRhPoxLHc39vZ0STSvyiHBUKsarovALPBnN14ydQPTTgbT + Coo9cL0vELGPJj3Z4EZubHwKqYkH8E0leQo82WwmQLna2hw9bbQ28Xj2gli0aNoqrPiDU5llP2ji + fhXJYEB2qDbAVSPzTzGwaLc4eshLCnhaDsDILNJdAVTns9VAmdwrHzJfhpOHuD9xdH4I7fK39Y6+ + Y75zJQOCe9NAbtDWiJ87j1DuFVBKzkoixiyX5L4MVt+sIEKyBeyhuqU5o1Jg7/ulYZabLs0i573U + SQGTRsSyGhN4 + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=3-grazed_linguine-reply.gpg + Content-Length: + - '1149' + Content-Type: + - application/pgp-encrypted + Date: + - Thu, 20 Feb 2020 12:50:53 GMT + Etag: + - sha256:27af2a8bf748651fcbd903a906d543485a8c291b273f437aa5740a51085cc5e1 + Expires: + - Fri, 21 Feb 2020 00:50:53 GMT + Last-Modified: + - Wed, 19 Feb 2020 11:15:57 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODIyMDMwNTIsImV4cCI6MTU4MjIzMTg1MiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.grUQ8qUhNeW56YokeHxBjFLQCr4RazDNjoXnFmeXIQE + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/replies/50b4c321-a505-4653-9872-e6fd36bd2841/download + response: + body: + string: !!binary | + hQIMA9KrRuJmXAedAQ//Rp43ucDdxYg4B14MLDY5KmIM0Hcbp984zFvgp1UKW8C/kKb4fRW5ydAW + f8y6Z/pOgXhSMa2ogqRTWHRiXzRqhEZ+uWCF9jYezaM4KwDaTWJpzT5XjoNxdX4UMKIFAewHPJkE + wd5OJ+1taK2AtQIQT6WRPy85aIsvfUAtlW0dG/tWnU6Zc2Ru9/q3qkKOx5eBGvbeA4LfAJSmZYg2 + jD679vR2LmbN1Par4kJGQC/uwiljNXBz2add3A5udNTUhD46k9/HDoKbN8BvTbJOBCzGatIzEWOU + LwgFrbQR2UBWcR9qHeTrZe9Sd7ILpEBshjoIQxaAYjqx8291SHe7U2nif93IA5S/w4vYXps4K6Ca + DJfX2+qHCdeEyI+WMW49ZpISjoYeGyllnt1CHngLo9d0VXNpGwekZaD7voByBjBfNooU7kjufi/U + gtiEWBJtyskeO9NZwjdrKBg4HIHDM1Va68e5ozZ/OS8XICLyDXjbEoc+XEwtZfLhrxmsZA0Gszxi + 4f2XiXrdAWUwonTMv8s1uB9KXrRHbk7sbk2n0CP5dxiYmxfOvuskUDo9ixaCDUyV11Q6LNew7ksJ + VLQMFUBOt9tcuoOM93aaurdICA2UervVjAx9Is9s4P0sFM8/Xc461HSNAxpHzrrhRVEZWfEXOOQG + AqkvpJr/dC4C21H+VGKFAgwDw+fEwKIgGyoBD/0fIx/D74EQcDX5/dR6K6u5XUUHpz3m8zzbK2fr + El4vQtt6MZ6oPdtssaP3OKVON7VxDQ0+pnSZgHQVMN40ZTolr9HzcB1WEcTdVuahT2ioAs0gct2l + LMStR0C9R8kV05Bw0qDW9/eyDWRFE6YW8xxmiueMupIXTlXR7EDBRW+ypCxkZXwIEI9nDLZDaW35 + FyoOZmwRsn0Py9u8tkj4tTRHwwNOuZIK5ALeQBV8eW7A/Gwt4Krr8DeV4K+4WQaigjWEcHYBYzT9 + gQDzlBbf1SLeIjYmPp9WS29EviPxEv/GfN3lPptoWpfjBTwaI7wctrUWplWVi4X2FIwqcN7UEXeH + bu7TW4k1xa3iKQBLfd8imRyF6wELB2JoXyxL4NSsYIlvwjDr5mxdhDLQLoUC6vGGRiOleZGhzEfV + 8z7joF/XGuIbq/pjtn8Ft4G62dUDK46NfSDutCz697zS+uHNYckp2hHdnyE9FF9H/lekNEpFmodN + 1F+YCG1D/ki2xfR1RHi12tsj5s+NjZYYo2ybgVe8Dx9Id/Hac20dxnD82fu4MfVpm90H6dUMKqc5 + QRI/NLwuzKXsDuHVaw/r7p6d/FTQyRvDZsZ2/DPxtpRdNW/4nPriXL/ZB1feAIxweHIw0nToCkgn + KSxS+fX4cvfGiCSK3K5F+0RAOPhfz/QW+bkyWtKjAfCWBCzh0UuYLDBKjhEgatBaOrGLdtExT6Bc + pB87oOyw+rO3Dglt4zWprK9lwpvuL8zUyJ0g0KX5xdrdLAgt+A2iABuxiUSLcQjP0BOb4h/N1dyE + jdtHRag1Caop3P5WeH9Yy/+D/0XFg33yal5eP2NHAuVrjbVLnXQFgvu0tu6RB/sNvDmchncxcwNp + MPy1fuB/90aSAKcyL7J01vg/YB4DRg== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=4-grazed_linguine-reply.gpg + Content-Length: + - '1219' + Content-Type: + - application/pgp-encrypted + Date: + - Thu, 20 Feb 2020 12:50:53 GMT + Etag: + - sha256:851f00d93ed66c21ed9c71d1581949b1dd11132b25d9e92f1af506d7a85eca84 + Expires: + - Fri, 21 Feb 2020 00:50:53 GMT + Last-Modified: + - Wed, 19 Feb 2020 11:15:57 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODIyMDMwNTIsImV4cCI6MTU4MjIzMTg1MiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.grUQ8qUhNeW56YokeHxBjFLQCr4RazDNjoXnFmeXIQE + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/replies/76106a83-3ab4-4d31-aada-47bb6f019d7d/download + response: + body: + string: !!binary | + hQIMA+Y1U4PLGcpFAQ/+MeJvnZAnpR1gdrfWvAAs6XMGUT+gRIcUAzfAptLagTLVjpuICS42xyHv + UDanZTgzPMA+OdIjCJ9+lmMidJr5i/s6HkcLuVUHvz3RJlKS7JZuxIJBfv2W6Ga4j1TQVnj4FSyM + 0uIVXgKTho05EhBrePFho6IYnFMrSYFQ26nHyZxnxqml2XpWPCqVNtAZLzNKBywgTFefdBVPhvOi + 3EZXkHqkB4f1xhyGKDFBQmX5mE3gE/2CpxJ0VJgqs5ROfVXiuV3mV5i1URfbVNAQsZPKmvcn8fYP + bHXPcLU66afYcIoUYraAT9RtSR66tInRb9Y5ow5R2xFiz+9WA8NstUZo/owQT3R0hIrzIQ7rdPTq + sxgp3mBPz+XrTn9AtkKgb8URwTfjBd+pPM6/XeAGfaU1nIdsg+Ah3cpZNjB+k1S5gHeIZkajqUMZ + dhhQ1A9xpRuuJizyq1b42me9eRizv1Ayeq97BwRMZ5Fsd12QLnBmkNPSHpGikkvTy1+jYn/sI8rs + CeKtkEVtmrTK3eT0Z17UWDAn9D4VERQ+czgTe2q+O14VrWfyEi7q9Z3dB5ThQvafG3LKGX9lfILm + 6ghTgn/nZpc4QZBkvRhiXcgUANZPuLsoTc/a7Oz9zYCBvZgYFUOm6JIO8LF34y499Mhpfbwf2nEp + RqHaa9lN/J/l+3JdnumFAgwDw+fEwKIgGyoBEACOqO5uDhhFdnp4f6Gdf1tvbNjctxAeRsUA9zv5 + l7tserSuxQxfOijn9X48xdx4pSPo0px2SEJ/uNVSK4Ng+AP/a2B1MX/xVqB65wOfQ+nyJbnwzrIG + 0/ojMMOgFz/iN6BqdPZqlnyvfdEb5pCFQ1dbXs9cihtp/Cq+/y2oXO5wsa4Qql9NWzQWVVEHDL+F + 7SaZAZbHA3kqlRrX2k2LPZUWybheHfk2+BgWe0AHii2PxLZ9kgz0kvfdyXtnoq73VfK3QOilspAQ + Y3xo9YHIf6hwkUBFAWbQeHdVesbTqMzzAZKCSgGDAnrM+aPmCMF314jbLltP7GX6DINM8dkUJsfl + pugbGW0vq0gne3Gao5ul7v501JHeuPCqwYAgxxxiTU4kxZOfY3ztGZA6zuwDRkVIKM2hxT8UXP/H + xwUcCqqyyTIhD+XKLGmrvOIgyxp6SMMtwleOWIafCgYWmGwY4r7SwVikYdCY2guKsQvWi54CbxrS + zRo/G7pVIyTfS+m31WxSt35Vr82jfODT8qsVYo4xAKEMaHUe2UOxtrN6f5WV4sFTQUtGjPSnMWl2 + 8RfhSiQswg6mh8S3gYWkx0BRbTkMv4KMwhjG+5SGWnXbfKfVk7QPR6tbHPxOhfassCoodcrs367/ + FGSA3xBrys3b9LH4tcB10WqgKBU19Q8wtjJlGdJdAbuMR1A1vsl+X/RX1krDKghqgW311mOXIroV + RPDDozIHwWJfLazL//hMns56PPRd0W1brBLwVU2/LZc1bPDtx3R0M8BLp7bjcycKAbvwsTH/xX2J + lNNozPnJ8lWf + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=3-seminal_term-reply.gpg + Content-Length: + - '1149' + Content-Type: + - application/pgp-encrypted + Date: + - Thu, 20 Feb 2020 12:50:53 GMT + Etag: + - sha256:8f6a5fd3a49d993532119806c3aa1028621552c5141016542b6aad86ea227b73 + Expires: + - Fri, 21 Feb 2020 00:50:53 GMT + Last-Modified: + - Wed, 19 Feb 2020 11:16:01 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODIyMDMwNTIsImV4cCI6MTU4MjIzMTg1MiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.grUQ8qUhNeW56YokeHxBjFLQCr4RazDNjoXnFmeXIQE + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/replies/d425b739-99e7-4a21-8a6b-0e90673c184d/download + response: + body: + string: !!binary | + hQIMA+Y1U4PLGcpFAQ//Xn5VvUxyNSD5PtDcqjmzLtbnmSFfYj52oqMK/F2CdaqC+2R+UkqCCU0P + gjrxslXZ4CCXwTNU/Dt6J9GMQzMdGWb/8vz+pceXJ6rah3wepakpFG9Q1sA6TGIaVocrNtlhUddP + 9a7hRPZQriSuoToTOhh2vETxlZf7fBNPbdOn2U3fZ3chSUgIHKB3cW5Il1Bk/xHyISBaiw05wfML + hlW1rvIZetTQeR87Y6Y7/+nWJ7iJFEc+zWSP0FxUu2gss4ub0IZHa7phMQZaJJdmNyp2+UCGdFu7 + ZySdMYrwRsp65cqk/0s+M2mf6KDUXYmicAXuSbusAZ2YDc1phGnpXt49HpcBa9f6Cqildtcqzgu5 + 06esXMLJ86z283rGNGB3l1IoUHtTMKB8TLck3NTq6haLXh5IiktA1oMgKRLssLuVHXI5uEhsd6oD + tPsuUXUqFFS1Zwbk3HZPhv4XJUnxDuPlCz2cwmLiPqjTcjkqmvk/MQTRafhxKZulAwcsDT3rRaQQ + DLJpvIeThraJJTCh3k/+R+EC8c1IMh5zJWmHiqhlPeb0FsMR3Je0WNB3+ZTyquvZ+ZbUlLxD7WEu + uGBVmppvgtiOFwsX+lZ7T+xQIBsiavXx8ZazRd+2T+e9aZBjCbd9rrd62aLuxu72dZ0Og/ygyWVg + VTDset0jHefoH0lJyOSFAgwDw+fEwKIgGyoBEADWodVqwa3jHaKdQu5RxFZv2h8ykhqerLLmgHGp + ymLjNQP/qTI82992z6/XvfhyPpur6v8TzPQqBaYVqyoxghc2F7kmdhyHDyySxm60hw0A9QMFaKRF + 8IxJp0scyJnetWGMgeiIW3iAp9OGLwkGPOKs/Ekoph/umushrwvNqv7kidxsN1xra4t1/ekseaN8 + hZ4B5g1+RBgYqUJiDY6MdVcW1J7mkcWH9mXxA3oCOqg+l9E1jOu5cAzQ/wsOxMVycI8G+jyo4Maq + eLrWuh2gSd3PHAz8fUwiwdq0D71ITWJmH9FqFSB0hjFkE58+0HVEbxV4IVn6o2sMyIZr3W45+/A0 + 2GETyKiAQEP4b+dYTf4jhrD/EN6EcUcl4Jdg3ZId13fazmkrnbGRDRuJ0Q6VUOtmNGIXZ9zsOggj + Crz5B5m+kk6fDFzQmTr5G7rh/Vru4X7iVZCjjg0vD0JIVgNLSIUusKYb8f4kD0rT3J8B9JCExpOV + 96Q1WySElLf/+OeDQp7AkTSfzPkilgPQ2EJXPG7orCm3dRXlSInSh/e8gZEUkgx6DGijXXWZOXeX + PoMCySU2RjDy5KaSv+2XbMIBTbYSvNBawtVi9MS5vkhIBcNk2zK1XVKO54N/xCkyiulfhdy7UhlQ + D+u3iiblqeWXDlsmL4ywqVOHJ8PMQNPiJMnQrdKjAdin3ZE4VRy7ugFfx9ackB7BevzkkFTqZ3fN + Ac9L5KBwhxzXROo0kRI25M6ukXUQNujMHv9NR/G9/7Ay5Q5am4SA96ThMF6qFDk7RadQ4Fs+l9iT + lhVrvDsVj80ue4Qf8pTo6vjXmiAQvG5wkscE52XV5bdu/G951qVsWPsI5OmMkItUBgu/sae/3VBf + sZkWaK1zyq5IjcC0DFrJYdSa9vuWeQ== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=4-seminal_term-reply.gpg + Content-Length: + - '1219' + Content-Type: + - application/pgp-encrypted + Date: + - Thu, 20 Feb 2020 12:50:53 GMT + Etag: + - sha256:da6ee971bcb2d9c56b082766489e230f413309dfa5d5b244304492f2329a921b + Expires: + - Fri, 21 Feb 2020 00:50:53 GMT + Last-Modified: + - Wed, 19 Feb 2020 11:16:01 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: '{"reply": "-----BEGIN PGP MESSAGE-----\n\nhQIMA+Y1U4PLGcpFAQ/8CwNXyY+0Fjng4ttYqAA0ZY37dAx3kRwbCmj6jRgO61bu\nwiIWRe1aXgaXBtQarACvPdj1CH+Uq/EEAC26OKHmHVSzvypDV6FUuMa32Wfq22Wj\nT6q6Q8PVunfvACt6FmZZEIeR378AsnSLD9JqhsKniUiDzHDbf+PMPdjnRPfVXT+s\nXz8VsV17hxD/xOT9DUrgemVPGsMiEC4dpMKK6h0Mknm8Unr6N9aUvpy8vRQa9l+A\nVqQCqJ4+2UKg9YfYSKZG1MdsZIaqAk3crb4/8UjBwPSSofQRF4bNrBnpkH1a6anw\n1M94LRYLdYTKUszzUakRYbk5lHFzGzmuqD2VpbLRHc0Sya2IxJqc+ypQD2wiytqt\nUBs54htHRq6eAWmVLGfZbPGWoe11/wwxOCLwQ8Wm38IgTJpUs9PX3XFd8pLJfUDF\nygeEZbZI2Nsao2HMKa/gPpFlJvGrkisRUu4GgX/nHUO6iByvJNSPu8qu8m9dh1JO\nkmw1Iy9L+rFhks12lQPUj77UfZZat58PgA+7HDZwN2MUwDJG2UCcKMYiYlIPFxgK\nGepefsfAyVJr2neCCG41CpVgJRZvjSN/oeduICESSlZ2TdDSSCvVKfyF16DloJwg\nGzVLc38VWl2+dXinqHu2FzAyp7wZd3SxkUVpVQkah7Sc12emSAC269sJMqjNOu6F\nAgwDw+fEwKIgGyoBD/0dVjpsUSRCVHhnYlG1zh/AQWxFyxxElRUe+dELVdQ4i0fL\nLXj4rjcTy8go7YvzBVe9xsPBGkrjxTJ6e4P0lF9uNzBkxYHy1jrTlUVh+8/9zzCQ\nE0cvn3T50k4jRL1clyfm4CGCbUhPnFUes5JRWB5SsbtRqsgIJdjxd0n+A0KKYMZ1\nVt7VJ/aFQJF6z4/UnGFgj9Noeff7FEnqbrKGhKP81YKRC6Q/Kouwcq6JecQhngWt\n+7+TAiJ92XyzZmN4LWfkR56uXMTcZh/cZphp0o5F3idK37szbyFS5cYD6QIHWA+Y\nBEJ+mMowabYNvNQytvPyW6rGGtnbgLojGP1mA6JXSKO0jwXYCXDy+L9Ce8BTscgO\n6fpKTCK66dyf6p00UaRIw1lNc4vw/VMXg3r8n54ni94Hfe6iE+1kWxSPhIkLb8I/\ngKJLtawO5K4lOUYLD5yATYrzB1msRnjc8VtqaGqiPyT5Sx22e1CaCXAkxWXP7Ekm\nX5qcmcDfNqwRwrCbreBYtkV6szlTzedHIg2k2eHmAfAUGVKa+353GEhZ6ckyz57Q\nLnaQISxTa8lrhkbb1JI6tjlYZs/b9dDIubFVJgP+edAPxq1Yu/oAP+ynkqGU2Qr1\nF7hOy7iNcwRFjqRhODKRVIUXHSka2IBW8GEu/7rwAqpGDlcHvMPc2tRGMnhDR9JT\nAb53ueOnDCt1Gt8g6r5T5StkNWJ0nAR2kuPjDEZpFPCyHkeP2E8wm2E1omBO2RNv\nLaaZqiSP98aMdlnOHH7GP4I1F09XnJc22UCJj/YrN50j+x8=\n=1rud\n-----END + PGP MESSAGE-----\n", "uuid": "77f9d2d2-d72b-4308-bcb2-30fce5ae7a42"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODIyMDMwNTIsImV4cCI6MTU4MjIzMTg1MiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.grUQ8qUhNeW56YokeHxBjFLQCr4RazDNjoXnFmeXIQE + Connection: + - keep-alive + Content-Length: + - '1694' + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: POST + uri: http://localhost:8081/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/replies + response: + body: + string: "{\n \"filename\": \"5-seminal_term-reply.gpg\", \n \"message\": \"Your + reply has been stored\", \n \"uuid\": \"77f9d2d2-d72b-4308-bcb2-30fce5ae7a42\"\n}\n" + headers: + Content-Length: + - '140' + Content-Type: + - application/json + Date: + - Thu, 20 Feb 2020 12:51:02 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 201 + message: CREATED +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODIyMDMwNTIsImV4cCI6MTU4MjIzMTg1MiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.grUQ8qUhNeW56YokeHxBjFLQCr4RazDNjoXnFmeXIQE + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources + response: + body: + string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"grazed linguine\", \n \"key\": + {\n \"fingerprint\": \"D5A5E8ACCC20947FD2CECD0ED2AB46E2665C079D\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADWyggMKi5XAVj2I6Qvz9ZOcUSWdBteooAh9PUIry/RkuFjCXAT\\nHgNPsmc5Tb+YH9uUepo76Ykaq2XYCtY0Khika3zbpHScb+hBy1p7dnOH1IqZyAco\\n1OruxjFJ0woawSGNSAAufCajcvFUwj1sZ+sXlo0lis69ariX2xlLtMEktSCL6xps\\nRQPumY6m66JNmtdgIggoGQTF0JbJ0kics86pPoFJhpfTjSri/amTaqHUd9cAG1fw\\nvPLRmJMqBIM2wmX0tLU0Dyjf+I404CKEJ1hxI8M3mAk5LNvFRwe4Q3y2UyHq7IHF\\nkmJEKoTQQPKcJ3/IfKIFVbs2XUQNje2X/wn9pqEXtldseIfpyXLZwm9swVPzV1IW\\nMiX9adxvkrentuS/2oGm/W4Lj7tKQy6p5BzbGWrz7C+WZYzs5UwyyMJi4zYq57JP\\nzdzBAhwI1E269gDAWN3TTYXMS/bc4xm6YF16NkV0yCYcZdAe5QgJu9XezHq+2dHP\\naX2C40i8K+Kh64PjVsQ3uWUZxmdJW/dGm8ij+vwfQh0xgNBWw2F5kjzapLApQHAC\\nNDk18hbxK6LnjLQFhc3vMBvoG22IUoeQ11ac1LYW8tv0+o0iEJCSfdYgVVhQQ9Do\\npaErbtr1izpp5WkdhQMqFoEwTCep2OWx8oIM3Pwn4a8KoUbVbPAn2qu6UwARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8TFFXM1EySkczTlNRWFZIWkdGVEhKSkRJUUlX\\nTlZKVEVKSDRMWVRCSVVGTllGUUdHVkhKN0MzRFMyREs0NVQ2WlNPMkNWWkJNUVYy\\nRkpLRFJBQTRDWlFRSjZVNEZQRlhPUFpOSzNVWT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJENKrRuJmXAedKE8QAIcisxZoyr7h\\ne1YSeIHmp8TTrJsSChOiFbE31V1mLVSz+mC8OdoulK+2VhNVjhcndbugxcKeYCDL\\n/qpxRVgoe5GWJRCU7t8xZZ0JU4gwySF/VPD9053zlufevK0u71/8AJMVYuGzOJcp\\nFd3LDmoKszjFjGzZIs1BSUAeNobz4yXL0FVLxznCqyRlWm2C9C3Qa3NUTbJ5xYk0\\nZVTR0CKN6uXj8h8gYfPOiAjR6pqKnxrSVN1YjcpxhfuVn/o20HfwtZyDfggHlWZQ\\nb1xnQkU+aLo1aE0LSL/+9P9nUEN569B1cY595W/LY73pkB1hpMhz3q+NQ2t8aU7y\\nfy3oQ9V30J969JJmLYLyquFJ8lqnQEUVhm8+7GscR30dhM5APrbm4zWYozvZYNYX\\nRGd37pGTDQInzK95R3Gp/H0Q4W0cgY3J3YobVj88xp73QN5c1IydZaJFXgN4CxPU\\nsQXHHX8ojEPky6NPwR9McrGPD/iXWOg4L3OesvsOQtzconmqglcJKeVjgzPjuND2\\nAzFXW3axcJMMP81nV2H6IhxD2HUNMO031pLHkguNM8hXsT9lufMf+TtntmRV0BjT\\nPPSFOeZ1C0cnwHKKf1Lw/+LtJ9NtQfHsRY5JWQRpTA0ZoxUkGIZ+/jrj+X49Cg3Y\\nGljpUt7ZJRj65tCweBzvOG0ddWoyvlpF\\n=e5cm\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-19T11:15:57.715037Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/remove_star\", + \n \"replies_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/replies\", + \n \"submissions_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/submissions\", + \n \"url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518\", + \n \"uuid\": \"bff205a0-5bc7-485b-91e0-60d7d7f58518\"\n }, \n {\n + \ \"add_star_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/add_star\", + \n \"interaction_count\": 5, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"seminal term\", \n \"key\": + {\n \"fingerprint\": \"1EC38D5687D95E3875A7730CE6355383CB19CA45\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADBJnihA9t8s0v5e/RKAxEHZ/WUNYpdC4wig3ctIzZyAg+FF3hz\\nNj0tlsKUlbuS5xoPYFPMmSR3Xe+20fPhBWzQPdcJgQk5Wzz4fyYXHb6TPB2R/st3\\neapZZsiGvBsfYMBeuHnLVcpA/9XRrKck6enWwy1ZcLv746AL2I7vfDjleK53uwZe\\nxfpJ5ySGtTzuBP6TPQBU7J2AJvoS29LlJL7EE4g8o/b7OnMvDzr0/h28THayJ0tv\\nD8/1kICBX3Cvl25VglMYtHhWo5w+L4x0xpku819AAbolabxgr+Wj94rZzRk4HwBF\\nizXLObRiA0BjPmTQ1eOPdn/QZ8vb6ztxNIs4KCwWdSPVBUDOiLh9AZZU+Q10DCHL\\nhAhUEqjn94boxiEVXEtCvla+tHwWWp29VokmiWn0tpChH+Bm2extpA0l4wyW5nXp\\nn36F7/2Pya854LTg9vsoiJJdkBQTFNMOWfkjsC4OIT+biKtC0sUvk4Skfo0we5Nw\\nqog4QF6bNeVPKWPlO8AirEod7j34/msbuxJn+Gn1gBgK/n1hnc7BJAFEm9MoQDsn\\n8UyPfvn1b0DC0ZbjWidepK5K+M4p8gsWidmtngSWTR6D2FRnFmVgaw+vJDW1xdgF\\nFYixkVzN5ndTm8UhqXkX8JdrdlLAydHvZBenxS6J5fUpNdZuFsX9BnFacQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8VTRQTkVIVFlEMjJJQkJSTEtBRUtSTUpMSUZa\\nU0xRMzdTVDMyREwzUUhYWDVBUzNDSU1VQVVOSFpHRzIyMllFM1QyTE5SV1dOTVRY\\nVUlSSE9FN1I1TVRCNlJOVk01STJIN1RLT0xHQT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEOY1U4PLGcpFwFoP/3rGMN6eWTfp\\nq0Mhio4AGG2NzFs81WA/zPVNIe0nHDdAQ/Isy3MLPplusAFlydZFsKeavvZ4L82k\\nuan5csj8Ndvq2lk3jQGi+UzBnOVRPOdGwUMl9GqAjMy1D9x95oV+NHeD7nuRMWBj\\nEwkCbf5XG3AVu3Em2EnubnmeIJ8wZezrTBomThGA7WAUPmhHuToD1JDqMAZCtklj\\nkS2nXoaLU82qf4j7fAceE3xEAeWz/eERoJl+aqhf7vU2H7Q3K+VAPSTjPZi0EQpB\\nY1tC3ey14eJGW8OLAWtOvjACYOvbqbTxDdyMyRnDtKtiZI4Bp7KaKy39OYQ97KKd\\nc7D9Z1Ar35DwyTZB4h6LdY6jB6AiHgJlUOc3SQ8bSwTuWg8oX0xWKG9ZKi7HZJwA\\n5Agvs6rXy/HuYxkFIGHvwurNHU2pal/z1WVUrygIn79kjzxP4xH+S1QREpaxXc/f\\n2H4/UM7uXVCGJ1l35Wiq6xXb5OS1M68294LwNXaIGQ9Y+3fc5aQ+140pBJ9L1WPm\\nGrsjP+I3sBGGHVnJl/XeuRpWN6I1PF1E03fKmnwsh2eIjpcysnCZzUYPZNDb6/WU\\nuVRpiKr+13U4XeidGdKWXxpv89AudJTyWUQZKU+Wf0I3CKhmdfF14MkInHAKLFvz\\noUAGSIHErylK9A6Ex2CAL5QVYeUndefr\\n=lsDl\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-19T11:16:01.848017Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/remove_star\", + \n \"replies_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/replies\", + \n \"submissions_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/submissions\", + \n \"url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b\", + \n \"uuid\": \"045a6336-4d19-408a-a814-2c2a4785c22b\"\n }\n ]\n}\n" + headers: + Content-Length: + - '5342' + Content-Type: + - application/json + Date: + - Thu, 20 Feb 2020 12:51:07 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODIyMDMwNTIsImV4cCI6MTU4MjIzMTg1MiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.grUQ8qUhNeW56YokeHxBjFLQCr4RazDNjoXnFmeXIQE + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/submissions + response: + body: + string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/submissions/bee651ad-58be-4443-9755-0d4a3485d24c/download\", + \n \"filename\": \"1-grazed_linguine-msg.gpg\", \n \"is_read\": + true, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518\", + \n \"submission_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/submissions/bee651ad-58be-4443-9755-0d4a3485d24c\", + \n \"uuid\": \"bee651ad-58be-4443-9755-0d4a3485d24c\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/submissions/e4f23d10-ec5d-409c-a196-09d1c2e75150/download\", + \n \"filename\": \"2-grazed_linguine-msg.gpg\", \n \"is_read\": + true, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518\", + \n \"submission_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/submissions/e4f23d10-ec5d-409c-a196-09d1c2e75150\", + \n \"uuid\": \"e4f23d10-ec5d-409c-a196-09d1c2e75150\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/submissions/11e66975-6287-4b00-864f-cbd41fb11081/download\", + \n \"filename\": \"1-seminal_term-msg.gpg\", \n \"is_read\": true, + \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b\", + \n \"submission_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/submissions/11e66975-6287-4b00-864f-cbd41fb11081\", + \n \"uuid\": \"11e66975-6287-4b00-864f-cbd41fb11081\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/submissions/c27dbac4-9276-4fcf-8239-89f9aad15874/download\", + \n \"filename\": \"2-seminal_term-msg.gpg\", \n \"is_read\": true, + \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b\", + \n \"submission_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/submissions/c27dbac4-9276-4fcf-8239-89f9aad15874\", + \n \"uuid\": \"c27dbac4-9276-4fcf-8239-89f9aad15874\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2031' + Content-Type: + - application/json + Date: + - Thu, 20 Feb 2020 12:51:07 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODIyMDMwNTIsImV4cCI6MTU4MjIzMTg1MiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.grUQ8qUhNeW56YokeHxBjFLQCr4RazDNjoXnFmeXIQE + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/replies + response: + body: + string: "{\n \"replies\": [\n {\n \"filename\": \"3-grazed_linguine-reply.gpg\", + \n \"is_deleted_by_source\": false, \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_username\": + \"journalist\", \n \"journalist_uuid\": \"29c7756e-c0f9-4316-b42f-a0af9e20adb0\", + \n \"reply_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/replies/d2697e01-b654-4957-bd9c-966440c3aa58\", + \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518\", + \n \"uuid\": \"d2697e01-b654-4957-bd9c-966440c3aa58\"\n }, \n {\n + \ \"filename\": \"4-grazed_linguine-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"29c7756e-c0f9-4316-b42f-a0af9e20adb0\", \n \"reply_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518/replies/50b4c321-a505-4653-9872-e6fd36bd2841\", + \n \"size\": 1219, \n \"source_url\": \"/api/v1/sources/bff205a0-5bc7-485b-91e0-60d7d7f58518\", + \n \"uuid\": \"50b4c321-a505-4653-9872-e6fd36bd2841\"\n }, \n {\n + \ \"filename\": \"3-seminal_term-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"29c7756e-c0f9-4316-b42f-a0af9e20adb0\", \n \"reply_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/replies/76106a83-3ab4-4d31-aada-47bb6f019d7d\", + \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b\", + \n \"uuid\": \"76106a83-3ab4-4d31-aada-47bb6f019d7d\"\n }, \n {\n + \ \"filename\": \"4-seminal_term-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"29c7756e-c0f9-4316-b42f-a0af9e20adb0\", \n \"reply_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/replies/d425b739-99e7-4a21-8a6b-0e90673c184d\", + \n \"size\": 1219, \n \"source_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b\", + \n \"uuid\": \"d425b739-99e7-4a21-8a6b-0e90673c184d\"\n }, \n {\n + \ \"filename\": \"5-seminal_term-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"29c7756e-c0f9-4316-b42f-a0af9e20adb0\", \n \"reply_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b/replies/77f9d2d2-d72b-4308-bcb2-30fce5ae7a42\", + \n \"size\": 1605, \n \"source_url\": \"/api/v1/sources/045a6336-4d19-408a-a814-2c2a4785c22b\", + \n \"uuid\": \"77f9d2d2-d72b-4308-bcb2-30fce5ae7a42\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2807' + Content-Type: + - application/json + Date: + - Thu, 20 Feb 2020 12:51:07 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/functional/test_login.py b/tests/functional/test_login.py new file mode 100644 index 000000000..9a109ec10 --- /dev/null +++ b/tests/functional/test_login.py @@ -0,0 +1,52 @@ +""" +Functional tests for logging into the SecureDrop client application. The tests +are based upon the client testing descriptions here: + +https://github.com/freedomofpress/securedrop-client/wiki/Test-plan#basic-client-testing +""" +import pytest +from PyQt5.QtCore import Qt +from .utils import get_safe_tempdir, get_test_context, USERNAME, PASSWORD +from securedrop_client.gui.main import Window +from securedrop_client.gui.widgets import LoginDialog + + +def test_login_ensure_errors_displayed(qtbot, mocker): + """ + We see an error if incomplete credentials are supplied to the login dialog. + """ + w = Window() + login_dialog = LoginDialog(w) + login_dialog.show() + assert login_dialog.error_bar.error_status_bar.text() == "" + qtbot.keyClicks(login_dialog.username_field, "journalist") + qtbot.mouseClick(login_dialog.submit, Qt.LeftButton) + expected = "Please enter a username, password and two-factor code." + actual = login_dialog.error_bar.error_status_bar.text() + assert actual == expected + + +@pytest.mark.vcr() # Ensure any API network traffic is recorded/replayed. +def test_login_as_journalist(qtbot, mocker): + """ + The app is visible if the user logs in with apparently correct credentials. + """ + # Once out of scope, is deleted. + tempdir = get_safe_tempdir() + # Create a clean context. + gui, controller = get_test_context(tempdir) + gui.setup(controller) + # Fill in UI with good credentials. + qtbot.keyClicks(gui.login_dialog.username_field, USERNAME) + qtbot.keyClicks(gui.login_dialog.password_field, PASSWORD) + qtbot.keyClicks(gui.login_dialog.tfa_field, "493941") + # The waitSignal context handler is used to allow the API thread to call + # and then (ultimately) emit the expected signal. This pattern will need to + # be used with all API calls. For more information about this method, see: + # https://pytest-qt.readthedocs.io/en/latest/signals.html + with qtbot.waitSignal(controller.authentication_state, timeout=10000): + qtbot.mouseClick(gui.login_dialog.submit, Qt.LeftButton) + # The main window is visible (indicating a successful login). + assert gui.isVisible() + # The login box no longer exists. + assert gui.login_dialog is None diff --git a/tests/functional/test_logout.py b/tests/functional/test_logout.py new file mode 100644 index 000000000..374830295 --- /dev/null +++ b/tests/functional/test_logout.py @@ -0,0 +1,34 @@ +""" +Functional test for logging out of the SecureDrop client application. The test +is based upon the client testing descriptions here: + +https://github.com/freedomofpress/securedrop-client/wiki/Test-plan#basic-client-testing +""" +import pytest +from .utils import get_safe_tempdir, get_logged_in_test_context + + +@pytest.mark.vcr() +def test_logout_as_journalist(qtbot, mocker): + """ + WARNING: THIS TEST CAUSES SUBSEQUENT TESTS TO CRASH WITH A CORE DUMP! + + As a result it should be run in isolation (see the test-functional section + of the Makefile for details). Why does it crash? I suspect shared state + leaking via the qtbot instance passed into tests. + + A journalist can successfully log out of the application. + """ + totp = "333598" + tempdir = get_safe_tempdir() + gui, controller = get_logged_in_test_context(tempdir, qtbot, totp) + + def check_login_button(): + assert gui.left_pane.user_profile.login_button.isVisible() + + # The qtbot object cannot interact with QAction items (as used in the + # logout button/menu), so we're forced to programatically trigger it + # rather than pretend some sort of user interaction via the qtbot. + gui.left_pane.user_profile.user_button.menu.logout.trigger() + # Wait until the logout button is pressed. + qtbot.waitUntil(check_login_button, timeout=10000) diff --git a/tests/functional/test_send_reply.py b/tests/functional/test_send_reply.py new file mode 100644 index 000000000..cd61c71bb --- /dev/null +++ b/tests/functional/test_send_reply.py @@ -0,0 +1,48 @@ +""" +Functional tests for sending messages in the SecureDrop client application. The +tests are based upon the client testing descriptions here: + +https://github.com/freedomofpress/securedrop-client/wiki/Test-plan#basic-client-testing +""" +import pytest +from PyQt5.QtCore import Qt +from .utils import get_safe_tempdir, get_logged_in_test_context + + +@pytest.mark.vcr() +def test_send_reply_to_source(qtbot, mocker): + """ + It's possible to send a reply to a source and see it show up in the + conversation window. + """ + totp = "778326" + tempdir = get_safe_tempdir() + gui, controller = get_logged_in_test_context(tempdir, qtbot, totp) + qtbot.wait(1000) + + def check_for_sources(): + assert len(list(gui.main_view.source_list.source_widgets.keys())) + + qtbot.waitUntil(check_for_sources, timeout=10000) + source_ids = list(gui.main_view.source_list.source_widgets.keys()) + first_source_id = source_ids[0] + first_source_widget = gui.main_view.source_list.source_widgets[first_source_id] + qtbot.mouseClick(first_source_widget, Qt.LeftButton) + # Type something into the reply box and click the send button. + message = "Hello, world!" + conversation = gui.main_view.view_layout.itemAt(0).widget() + # Focus on reply box text entry. + qtbot.mouseClick(conversation.reply_box.text_edit, Qt.LeftButton) + # Type in a message to the reply box. + qtbot.keyClicks(conversation.reply_box.text_edit, message) + qtbot.wait(1000) + # Wait until the result of the click on the send button has caused the + # reply_sent signal to trigger. + with qtbot.waitSignal(conversation.reply_box.reply_sent): + qtbot.mouseClick(conversation.reply_box.send_button, Qt.LeftButton) + qtbot.wait(1000) + # Ensure the last widget in the conversation view contains the text we + # just typed. + last_msg_id = list(conversation.conversation_view.current_messages.keys())[-1] + last_msg = conversation.conversation_view.current_messages[last_msg_id] + assert last_msg.message.text() == message diff --git a/tests/functional/test_client.py b/tests/functional/utils.py similarity index 62% rename from tests/functional/test_client.py rename to tests/functional/utils.py index 05eb32e80..4504b80fc 100644 --- a/tests/functional/test_client.py +++ b/tests/functional/utils.py @@ -1,11 +1,12 @@ """ -Functional tests for the SecureDrop client application. The tests are based -upon the client testing descriptions here: +Utility functions for setting up and configuring isolated headless functional +tests of the SecureDrop client app's user interface. -https://github.com/freedomofpress/securedrop-client/wiki/Test-plan#basic-client-testing - -The code is copiously commented and you should look at test_login_as_journalist -for a basic example of how to configure/write/test. +The code is copiously commented and you should look at the existing tests for +basic examples of how to configure/write/test. Some of the tests appear to get +into a state that reliably causes subsequent tests a crash. Such tests have +been isolated and are clearly marked. The Makefile is used to ensure we +exercise them in a completely new process. Use the `qtbot` object to drive the UI. This is a part of the pytest-qt package whose documentation is here: @@ -26,22 +27,16 @@ """ import os import tempfile -import json import pytest import subprocess -from sqlalchemy.orm.exc import NoResultFound - - from PyQt5.QtCore import Qt from securedrop_client.gui.main import Window from securedrop_client.logic import Controller -from securedrop_client.config import Config from securedrop_client.gui.widgets import LoginDialog -from securedrop_client.db import Base, make_session_maker, ReplySendStatus, ReplySendStatusCodes from securedrop_client.utils import safe_mkdir @@ -63,6 +58,7 @@ def get_test_context(sdc_home): have been correctly set up and isolated from any other instances of the application to be run in the test suite. """ + from securedrop_client.db import make_session_maker # The application's window. gui = Window() # Create all app assets in a new temp directory and sub-directories. @@ -93,8 +89,12 @@ def get_logged_in_test_context(sdc_home, qtbot, totp): qtbot.keyClicks(gui.login_dialog.username_field, USERNAME) qtbot.keyClicks(gui.login_dialog.password_field, PASSWORD) qtbot.keyClicks(gui.login_dialog.tfa_field, totp) - with qtbot.waitSignal(controller.authentication_state, timeout=10000): - qtbot.mouseClick(gui.login_dialog.submit, Qt.LeftButton) + qtbot.mouseClick(gui.login_dialog.submit, Qt.LeftButton) + + def wait_for_login(): + assert gui.login_dialog is None + + qtbot.waitUntil(wait_for_login, timeout=10000) return (gui, controller) @@ -115,28 +115,33 @@ def create_gpg_test_context(sdc_home): '--import', os.path.abspath(key_file), ] - subprocess.call(cmd) + result = subprocess.run(cmd) + if result.returncode != 0: + raise RuntimeError( + "Unable to import test GPG key. STDOUT: {} STDERR: {}".format( + result.stdout, result.stderr + ) + ) def create_dev_data(sdc_home, session_maker): """ - Based upon the functionality in the script, create_dev_data.py. This is - used to setup and configure the database and GPG keyring related metadata. - """ - session = session_maker() - Base.metadata.create_all(bind=session.get_bind()) - with open(os.path.join(sdc_home, Config.CONFIG_NAME), 'w') as f: - f.write(json.dumps({ - 'journalist_key_fingerprint': '65A1B5FF195B56353CC63DFFCC40EF1228271441', - })) - for reply_send_status in ReplySendStatusCodes: - try: - reply_status = session.query(ReplySendStatus).filter_by( - name=reply_send_status.value).one() - except NoResultFound: - reply_status = ReplySendStatus(reply_send_status.value) - session.add(reply_status) - session.commit() + Run the script, "create_dev_data.py". This is used to setup and configure + the database and GPG keyring related metadata. + """ + func_test_path = os.path.dirname(os.path.abspath(__file__)) + script_path = os.path.join(func_test_path, "..", "..", "create_dev_data.py") + cmd = [ + script_path, + sdc_home, + ] + result = subprocess.run(cmd) + if result.returncode != 0: + raise RuntimeError( + "Unable to configure database. STDOUT: {} STDERR: {}".format( + result.stdout, result.stderr + ) + ) def test_login_ensure_errors_displayed(qtbot, mocker): @@ -170,7 +175,7 @@ def test_login_as_journalist(qtbot, mocker): qtbot.keyClicks(gui.login_dialog.tfa_field, "493941") # The waitSignal context handler is used to allow the API thread to call # and then (ultimately) emit the expected signal. This pattern will need to - # be used with all API calls. For more information about this method, see: + # be used with some API calls. For more information about this method, see: # https://pytest-qt.readthedocs.io/en/latest/signals.html with qtbot.waitSignal(controller.authentication_state, timeout=10000): qtbot.mouseClick(gui.login_dialog.submit, Qt.LeftButton) @@ -181,18 +186,39 @@ def test_login_as_journalist(qtbot, mocker): @pytest.mark.vcr() -def test_logout_as_journalist(qtbot, mocker): +def test_send_reply_to_source(qtbot, mocker): """ - A journalist can successfully log out of the application. + It's possible to send a reply to a source and see it show up in the + conversation window. """ - totp = "670099" + totp = "778326" tempdir = get_safe_tempdir() gui, controller = get_logged_in_test_context(tempdir, qtbot, totp) - qtbot.wait(100) - with qtbot.waitSignal(controller.authentication_state, timeout=10000): - # The qtbot object cannot interact with QAction items (as used in the - # logout button/menu), so we're forced to programatically trigger it - # rather than pretend some sort of user interaction via the qtbot. - gui.left_pane.user_profile.user_button.menu.logout.trigger() - # The login button is visible - demonstrating the user is logged out. - assert gui.left_pane.user_profile.login_button.isVisible() + qtbot.wait(1000) + + def check_for_sources(): + assert len(list(gui.main_view.source_list.source_widgets.keys())) + + qtbot.waitUntil(check_for_sources, timeout=10000) + source_ids = list(gui.main_view.source_list.source_widgets.keys()) + first_source_id = source_ids[0] + first_source_widget = gui.main_view.source_list.source_widgets[first_source_id] + qtbot.mouseClick(first_source_widget, Qt.LeftButton) + # Type something into the reply box and click the send button. + message = "Hello, world!" + conversation = gui.main_view.view_layout.itemAt(0).widget() + # Focus on reply box text entry. + qtbot.mouseClick(conversation.reply_box.text_edit, Qt.LeftButton) + # Type in a message to the reply box. + qtbot.keyClicks(conversation.reply_box.text_edit, message) + qtbot.wait(1000) + # Wait until the result of the click on the send button has caused the + # reply_sent signal to trigger. + with qtbot.waitSignal(conversation.reply_box.reply_sent): + qtbot.mouseClick(conversation.reply_box.send_button, Qt.LeftButton) + qtbot.wait(1000) + # Ensure the last widget in the conversation view contains the text we + # just typed. + last_msg_id = list(conversation.conversation_view.current_messages.keys())[-1] + last_msg = conversation.conversation_view.current_messages[last_msg_id] + assert last_msg.message.text() == message From 12b8c1ccf3e105d5858823b7c6cec134bbae70f6 Mon Sep 17 00:00:00 2001 From: "Nicholas H.Tollervey" Date: Thu, 20 Feb 2020 16:02:36 +0000 Subject: [PATCH 07/13] Remove tests refactored into their own files. --- tests/functional/utils.py | 80 --------------------------------------- 1 file changed, 80 deletions(-) diff --git a/tests/functional/utils.py b/tests/functional/utils.py index 4504b80fc..48338f7b0 100644 --- a/tests/functional/utils.py +++ b/tests/functional/utils.py @@ -142,83 +142,3 @@ def create_dev_data(sdc_home, session_maker): result.stdout, result.stderr ) ) - - -def test_login_ensure_errors_displayed(qtbot, mocker): - """ - We see an error if incomplete credentials are supplied to the login dialog. - """ - w = Window() - login_dialog = LoginDialog(w) - login_dialog.show() - assert login_dialog.error_bar.error_status_bar.text() == "" - qtbot.keyClicks(login_dialog.username_field, "journalist") - qtbot.mouseClick(login_dialog.submit, Qt.LeftButton) - expected = "Please enter a username, password and two-factor code." - actual = login_dialog.error_bar.error_status_bar.text() - assert actual == expected - - -@pytest.mark.vcr() # Ensure any API network traffic is recorded/replayed. -def test_login_as_journalist(qtbot, mocker): - """ - The app is visible if the user logs in with apparently correct credentials. - """ - # Once out of scope, is deleted. - tempdir = get_safe_tempdir() - # Create a clean context. - gui, controller = get_test_context(tempdir) - gui.setup(controller) - # Fill in UI with good credentials. - qtbot.keyClicks(gui.login_dialog.username_field, USERNAME) - qtbot.keyClicks(gui.login_dialog.password_field, PASSWORD) - qtbot.keyClicks(gui.login_dialog.tfa_field, "493941") - # The waitSignal context handler is used to allow the API thread to call - # and then (ultimately) emit the expected signal. This pattern will need to - # be used with some API calls. For more information about this method, see: - # https://pytest-qt.readthedocs.io/en/latest/signals.html - with qtbot.waitSignal(controller.authentication_state, timeout=10000): - qtbot.mouseClick(gui.login_dialog.submit, Qt.LeftButton) - # The main window is visible (indicating a successful login). - assert gui.isVisible() - # The login box no longer exists. - assert gui.login_dialog is None - - -@pytest.mark.vcr() -def test_send_reply_to_source(qtbot, mocker): - """ - It's possible to send a reply to a source and see it show up in the - conversation window. - """ - totp = "778326" - tempdir = get_safe_tempdir() - gui, controller = get_logged_in_test_context(tempdir, qtbot, totp) - qtbot.wait(1000) - - def check_for_sources(): - assert len(list(gui.main_view.source_list.source_widgets.keys())) - - qtbot.waitUntil(check_for_sources, timeout=10000) - source_ids = list(gui.main_view.source_list.source_widgets.keys()) - first_source_id = source_ids[0] - first_source_widget = gui.main_view.source_list.source_widgets[first_source_id] - qtbot.mouseClick(first_source_widget, Qt.LeftButton) - # Type something into the reply box and click the send button. - message = "Hello, world!" - conversation = gui.main_view.view_layout.itemAt(0).widget() - # Focus on reply box text entry. - qtbot.mouseClick(conversation.reply_box.text_edit, Qt.LeftButton) - # Type in a message to the reply box. - qtbot.keyClicks(conversation.reply_box.text_edit, message) - qtbot.wait(1000) - # Wait until the result of the click on the send button has caused the - # reply_sent signal to trigger. - with qtbot.waitSignal(conversation.reply_box.reply_sent): - qtbot.mouseClick(conversation.reply_box.send_button, Qt.LeftButton) - qtbot.wait(1000) - # Ensure the last widget in the conversation view contains the text we - # just typed. - last_msg_id = list(conversation.conversation_view.current_messages.keys())[-1] - last_msg = conversation.conversation_view.current_messages[last_msg_id] - assert last_msg.message.text() == message From 440f78f049f3541b859196ed9da72a4ddb9a1a42 Mon Sep 17 00:00:00 2001 From: "Nicholas H.Tollervey" Date: Thu, 20 Feb 2020 16:08:22 +0000 Subject: [PATCH 08/13] Code cleanup after refactoring. --- tests/functional/utils.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/tests/functional/utils.py b/tests/functional/utils.py index 48338f7b0..55378a87a 100644 --- a/tests/functional/utils.py +++ b/tests/functional/utils.py @@ -27,7 +27,6 @@ """ import os import tempfile -import pytest import subprocess @@ -36,8 +35,8 @@ from securedrop_client.gui.main import Window from securedrop_client.logic import Controller -from securedrop_client.gui.widgets import LoginDialog from securedrop_client.utils import safe_mkdir +from securedrop_client.db import make_session_maker HOSTNAME = "http://localhost:8081/" @@ -58,7 +57,6 @@ def get_test_context(sdc_home): have been correctly set up and isolated from any other instances of the application to be run in the test suite. """ - from securedrop_client.db import make_session_maker # The application's window. gui = Window() # Create all app assets in a new temp directory and sub-directories. @@ -68,7 +66,7 @@ def get_test_context(sdc_home): create_gpg_test_context(sdc_home) # Configure and create the database. session_maker = make_session_maker(sdc_home.name) - create_dev_data(sdc_home.name, session_maker) + create_dev_data(sdc_home.name) # Create the controller. controller = Controller(HOSTNAME, gui, session_maker, sdc_home.name, False, False) @@ -124,7 +122,7 @@ def create_gpg_test_context(sdc_home): ) -def create_dev_data(sdc_home, session_maker): +def create_dev_data(sdc_home): """ Run the script, "create_dev_data.py". This is used to setup and configure the database and GPG keyring related metadata. From c528fba0609560150a81544fdc17f7d18864a557 Mon Sep 17 00:00:00 2001 From: "Nicholas H.Tollervey" Date: Mon, 24 Feb 2020 16:44:16 +0000 Subject: [PATCH 09/13] Further isolation of tests. Add tests for source deletion, receiving messages, starring and unstarring. --- Makefile | 17 +- test-functional.sh | 15 + .../test_delete_source_and_their_docs.yaml | 701 +++++++++++++ .../test_receive_message_from_source.yaml | 981 ++++++++++++++++++ .../cassettes/test_star_source.yaml | 703 +++++++++++++ .../cassettes/test_unstar_source.yaml | 639 ++++++++++++ tests/functional/test_delete_source.py | 43 + tests/functional/test_receive_message.py | 45 + tests/functional/test_star_source.py | 37 + tests/functional/test_unstar_source.py | 37 + 10 files changed, 3203 insertions(+), 15 deletions(-) create mode 100755 test-functional.sh create mode 100644 tests/functional/cassettes/test_delete_source_and_their_docs.yaml create mode 100644 tests/functional/cassettes/test_receive_message_from_source.yaml create mode 100644 tests/functional/cassettes/test_star_source.yaml create mode 100644 tests/functional/cassettes/test_unstar_source.yaml create mode 100644 tests/functional/test_delete_source.py create mode 100644 tests/functional/test_receive_message.py create mode 100644 tests/functional/test_star_source.py create mode 100644 tests/functional/test_unstar_source.py diff --git a/Makefile b/Makefile index 71693d95d..6222b2f4d 100644 --- a/Makefile +++ b/Makefile @@ -45,22 +45,9 @@ test-random: ## Run the application tests in random order xvfb-run -a $$TEST_CMD ; else \ $$TEST_CMD ; fi -.PHONY: test-functional-rest -test-functional-rest : ## Run the non-logout functional tests in random order. - @TEST_CMD_REST="python -m pytest -v --ignore=$(FTESTS)/test_logout.py --random-order-bucket=global $(TESTOPTS) $(FTESTS)" ; \ - if command -v xvfb-run > /dev/null; then \ - xvfb-run -a $$TEST_CMD_REST ; else \ - $$TEST_CMD_REST ; fi ; \ - -.PHONY: test-functional-logout -test-functional-logout : ## Run the functional test for logging out. - @TEST_CMD_LOGOUT="python -m pytest -v $(FTESTS)/test_logout.py" ; \ - if command -v xvfb-run > /dev/null; then \ - xvfb-run -a $$TEST_CMD_LOGOUT ; else \ - $$TEST_CMD_LOGOUT ; fi - .PHONY: test-functional -test-functional: test-functional-logout test-functional-rest ## Run the functional tests +test-functional: ## Run the functional tests + ./test-functional.sh .PHONY: lint lint: ## Run the linters diff --git a/test-functional.sh b/test-functional.sh new file mode 100755 index 000000000..ecca3df2d --- /dev/null +++ b/test-functional.sh @@ -0,0 +1,15 @@ +# A script to run each functional test module (randomly ordered) in their own +# pytest process. Why? Because not all random combinations of these tests +# result in a passing suite (instead you get a core dump). + +ls tests/functional/test_*.py |sort -R |tail -$N |while read file; do + TEST_CMD="python -m pytest -v --random-order-bucket=global $file" ; \ + echo $TEST_CMD + if command -v xvfb-run > /dev/null; then \ + xvfb-run -a $TEST_CMD ; else \ + $TEST_CMD ; fi + if test $? -ne 0 + then + exit 1 + fi +done diff --git a/tests/functional/cassettes/test_delete_source_and_their_docs.yaml b/tests/functional/cassettes/test_delete_source_and_their_docs.yaml new file mode 100644 index 000000000..88ee27d94 --- /dev/null +++ b/tests/functional/cassettes/test_delete_source_and_their_docs.yaml @@ -0,0 +1,701 @@ +interactions: +- request: + body: '{"username": "journalist", "passphrase": "correct horse battery staple + profanity oil chewy", "one_time_code": "192894"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '119' + User-Agent: + - python-requests/2.20.0 + method: POST + uri: http://localhost:8081/api/v1/token + response: + body: + string: "{\n \"expiration\": \"2020-02-24T23:48:46.785477Z\", \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_uuid\": \"60d48dfe-aa6a-4611-bb40-f59b376ad92c\", + \n \"token\": \"eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c\"\n}\n" + headers: + Content-Length: + - '317' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 15:48:46 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources + response: + body: + string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"tete-a-tete formalism\", \n \"key\": + {\n \"fingerprint\": \"6E388941AD0F8550856C575B036B58F8BF0BB044\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADMbVg7EtThp8J+Jla89/uqcwQRF9q7TEaUjPB8U4ZaASgiXZYt\\nokSIml6ZBpVV6ihoVrQsIQrCzufgqiIy82HmAYkHrKj89pjQftHCsK/GcIwEUNRT\\nVhAhVGXzo0JnaCWTQBv9rEqvDtW8FOFTPsK3DsGy0Wggkf0Qidca4NREXjPzC5b9\\n+oWlSji1VvGx8tIYDgfiI5sR9r7fKzp2pT/K64/ruBKyakUIQa3DSzATtqBjHGkR\\nb7MWjClrP6NZTANM5QvFnM2xRmaf17OTAfkbMIjfWiCqluVJWMGyRhcaC/be5X+e\\n7CdiRqfHCvQK01n6q5vW8SxixnDEdAK8CygoUJ0x1u/uTg9eUNVWzFv0OWnzXybI\\nOPQQuFBNY4Bv8P1dHDYaSI3MyPgx9wJlO5+6AQMsg5yRb7CFx3rOcy8OfHx6DnE4\\nZVWPSmlB9UDDNr2NMdqXZVoi/O6MgvgfPxVFURoes6ClDiZdnL9t2QYA0YJoe45G\\n/uox3kyxWeLdyM6Zuad7HCjFTq6hWp3sL0TMlCgx85YN4/fCnWpsh702rvezd2IN\\n0oV6mG4KwIjmqJzRn9LcZlbZCdpUTMv/YrVy8iszmcLg/1udhHVkNqNXQN8hHePR\\noo738QRmKo49+w4164Yl442G1rn6lGR/+asXZOFL7lJQLLgi+2K09ptGzQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8NFRJMklUTlhGTFdLUFpBUldUNUwzUUhBWFNI\\nSVZNTko2Q0VRV0gyNkpaRFpCQzdCNllLTVdYSDRORUVVUzdGUFVUTjQ3SkszN01O\\nRE1DUFpDTDJMN0VUQ0VCTURMR1E1STROVUhGST0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEANrWPi/C7BEK14P/1BpEFbe6m+m\\ncI2v+HB1bgjhFf+Wp+E9P2SouuWwGnyt2sS0qmoqlR2Vqfc9OR+phUZlTQKeBfru\\nmZbv38kglL5GMJx3IvsqG3cxxDUztsgNf9X+MgqXJZltkpXtAuiWpTpb7Ed1ATLY\\ntHJ+VjMbnUjNIdDQeZCdRp5rBATJpiTbmXJStt5pGv23wORljGoqoYlkjFI1RpjM\\nWfPG6yBtOx/OZvhQbc5hL8MYZYHJIhj1PKguu562lQB+ds8MmBdZZkq6N//4xquy\\n2GIk4vB9A9weqPf9f5cI7TRe3kZTDSbgVs2Ob1Pn/n5JPP5ZAsMp1ZNEYg5Sy3iM\\nURHCO7ncKZMSRw9uCGi+J0TJztdvDOj8aiv8i501XK5atckJXyjZB7+S0gJDBvfk\\nFa5XTb2TeswudJ4xmh+mtVOo91u8/qKcAu2YRWoe0bfqPDScO2SnQeMdZuyp/8qS\\nsdhcDIYXGsDrZlqsoJalqpL8K7osEH5P+XjgCpOjnMZvvkqPBXSdCtMdaMCsAq8x\\neBHKVsUWjMo4wiZwLp2tLv0M18naU/LQHJCxOZgVI+4uAm0ifRUc5sdNc5Z3pQo5\\np2pkwYXQRrSY/TRkg7+pRVbkJfNgXMieOQV2sHv3P6IbzWxz5FvYBcK9yIAL4MuF\\nF/8+1exB/Qta1SrtMU+m2ZsqzKT8xgnF\\n=WVQG\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-24T15:48:28.943565Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/remove_star\", + \n \"replies_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/replies\", + \n \"submissions_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/submissions\", + \n \"url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90\", + \n \"uuid\": \"fb800891-09a8-4482-94c9-b516c5960b90\"\n }, \n {\n + \ \"add_star_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"ocular schlemiel\", \n \"key\": + {\n \"fingerprint\": \"FF99DCAB6EA86405E679DDF4D78128141FDA6686\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEACvOY2OX8Bv3QqEVFytdPYDYFlKdSvCAbvwd8NPdCQsRJRCr8n4\\nKzVRhTY5DDDWGij3On8YCGG+fZPxcTmC3TRUVtPdits0v8tOEmy8huqxxzpyEHdr\\nZE05mLh05wef3RmIecf13y7+LwjhjnFaIts1ccha1/AupI8FG9o1QIomqcFia4dm\\nJC52OF4kzKSfEe8qom0a2RUZtoLSdar3fMETKj7K/lMQVhxu1SlXD9DQ/pmp/mwG\\nwgoVuDoePqQiPTQJBNCMqaa6sP7T+VYGjal0hM+7X6kmSIC8KDF4oGKJLSoBKRvN\\n+yCstV+x557l29TJ+SU7TtU753np/ZbSJUszMFwH4wxe4r3O9F18LASPyLRNDmLu\\ntZH4s6O2bHA3IcdIna2qnCIEEjhtD7O+8JDsYu4cOenQ4V+vR+Gd/ASLBEUHfA60\\n0VH3X6amHIHdFJ9eU0EfOPqVpFqftflx3TdJInr8Hk1tg7LCl0d0pbNi/BaYZfN+\\nJW6VFZHBeC43YSFLGwm8OjvYUA8xvpxlAAV7H0rxUoE4ceIuY2bC1Cz19cywhhe/\\nK0DL2sqLyLMGkf9Wytc/GgW02IMcjFqZ3SweNAAbJB3aoXZ9Mspszqyy+TED7g/C\\n0PduSMdUVL+gp0BkQLjvwvyL/wINwREbj2KkaKYIsLQRIQ2fMB8fwjUw2wARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8VllIWkJBSFlPMktFSkpYQjVIUzdFQ0dYSlNJ\\nR1E0WVlEVFJMUVRUR1ZTUDZUT1NLSE1LQUtCQVdJTlVWUjJFMzdXRlNCQVYzVUxH\\nUEdXSVYyVUJIT0pHUE9LRUI1RU02MjZOT05KUT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJENeBKBQf2maGSUcP/R7Vwujou0S5\\npbqYAQ90WoVhKZVTUOHQygIpN8F4Br7s6HM05f594Y37FKbQeD7n2uACFaxepWlb\\nyj4QMhpPZjjShSzh8Nm6zwcb+UUQHMyKGFr5S8hETmQUoR8IZJMAkQrXMyRbtNRZ\\ns6lhLKAkUKjHJ2mAFyUXsy+GMhONtL/2XITFKGTbUOfUXmeqVn3aXXRFzK6GtU4U\\nNNsaziFKZZ5uGH8wscQMS8QyJk9fNuksivNSXeoqoazy1PVey8rQIVpcZgx3bk/c\\nRdr1Cm3C0AmMget8jpekZxN7MFY0majfdMJjQCaRcaCGJiO5Tm3ART3Bdwp7R5jH\\nYHqf2LL3QMRRwPOAIajmwc/pk0wrNulewbNdafkmzrmC5y74YIogF0eS5gGuNQ4o\\nIIrFKg3G/wWlb7IzMSVVHL9Q14FifrSbZGMMTTtUOcVoXdphuBN1ZST6wWYj2wfH\\nZ/NJimQAnxQRHX+T3tfFciiCeF46c1YRt8yiDmyVO/PdDjmVLH1r1R/JtBuSS6bf\\nXV7Ag+WaW4ytdoG5z05aYTClZEJTBVgSSw5HdyK/3RsEugMaQz75Tx2fhcQT/gsy\\nU9lklEbHiluX4EBKMCk5OF4K1T0kB5xGWB3X54bgnf3P2qMEMcUsthPX3fwnvHdR\\n9y96BA6BHHcynRVJle7pnodlcYq81Bml\\n=7jra\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-24T15:48:30.633815Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/remove_star\", + \n \"replies_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/replies\", + \n \"submissions_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/submissions\", + \n \"url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c\", + \n \"uuid\": \"2145abc6-367f-4d32-807b-06c5b2a42f3c\"\n }\n ]\n}\n" + headers: + Content-Length: + - '5352' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 15:48:46 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/submissions + response: + body: + string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/submissions/e933e257-596a-4392-841a-c63cfc3c4783/download\", + \n \"filename\": \"1-tete-a-tete_formalism-msg.gpg\", \n \"is_read\": + false, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90\", + \n \"submission_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/submissions/e933e257-596a-4392-841a-c63cfc3c4783\", + \n \"uuid\": \"e933e257-596a-4392-841a-c63cfc3c4783\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/submissions/6636292d-4f78-41ac-9664-b599447d2f0a/download\", + \n \"filename\": \"2-tete-a-tete_formalism-msg.gpg\", \n \"is_read\": + false, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90\", + \n \"submission_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/submissions/6636292d-4f78-41ac-9664-b599447d2f0a\", + \n \"uuid\": \"6636292d-4f78-41ac-9664-b599447d2f0a\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/submissions/a69433ee-f291-425f-8758-493e8d42e91a/download\", + \n \"filename\": \"1-ocular_schlemiel-msg.gpg\", \n \"is_read\": + false, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c\", + \n \"submission_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/submissions/a69433ee-f291-425f-8758-493e8d42e91a\", + \n \"uuid\": \"a69433ee-f291-425f-8758-493e8d42e91a\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/submissions/0a6936e6-df09-447d-885f-a3525fa1c361/download\", + \n \"filename\": \"2-ocular_schlemiel-msg.gpg\", \n \"is_read\": + false, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c\", + \n \"submission_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/submissions/0a6936e6-df09-447d-885f-a3525fa1c361\", + \n \"uuid\": \"0a6936e6-df09-447d-885f-a3525fa1c361\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2055' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 15:48:46 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/replies + response: + body: + string: "{\n \"replies\": [\n {\n \"filename\": \"3-tete-a-tete_formalism-reply.gpg\", + \n \"is_deleted_by_source\": false, \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_username\": + \"journalist\", \n \"journalist_uuid\": \"60d48dfe-aa6a-4611-bb40-f59b376ad92c\", + \n \"reply_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/replies/36d2b572-6da6-42e1-829b-777f42549099\", + \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90\", + \n \"uuid\": \"36d2b572-6da6-42e1-829b-777f42549099\"\n }, \n {\n + \ \"filename\": \"4-tete-a-tete_formalism-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"60d48dfe-aa6a-4611-bb40-f59b376ad92c\", \n \"reply_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/replies/38338788-ff60-4af8-becf-04aef89cc314\", + \n \"size\": 1218, \n \"source_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90\", + \n \"uuid\": \"38338788-ff60-4af8-becf-04aef89cc314\"\n }, \n {\n + \ \"filename\": \"3-ocular_schlemiel-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"60d48dfe-aa6a-4611-bb40-f59b376ad92c\", \n \"reply_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/replies/71160871-b852-4aa8-880d-71191463182d\", + \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c\", + \n \"uuid\": \"71160871-b852-4aa8-880d-71191463182d\"\n }, \n {\n + \ \"filename\": \"4-ocular_schlemiel-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"60d48dfe-aa6a-4611-bb40-f59b376ad92c\", \n \"reply_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/replies/9d1d7f68-f007-4852-b288-d3056456b108\", + \n \"size\": 1218, \n \"source_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c\", + \n \"uuid\": \"9d1d7f68-f007-4852-b288-d3056456b108\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2271' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 15:48:46 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/submissions/e933e257-596a-4392-841a-c63cfc3c4783/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqARAArT+/hldNdvjV1xqZ/Pcblh1NHY1HxT30qwIy1QNR3Dm67Rla6ZI/n3AI + /mF8JdpIoHI8AFl0/9PIrvvbSSPNJnl7XLwnv8X8goHFW3Ow1fW2R3C5pn9u7TryrG5CRDNXulHS + A8ngpxsorAp1vpWr79orsJXT+gpmSj3/rGecDKbr3EDPJjTMzOa1aJTrDsDVfClF/m5nu6t6sut+ + wWwneE1wic4TK6pqOtIuOwNz2AWjS5N0mOnVjCm8oxLQ8HkmydJCXF8Cp2m0VNWGl9LGcAA8SQtK + gD/WhyMhLb9mXBuMFKKALkpsKCAr/IFo0BO4oqGSNJ8kfUCKWV7jknUiczTMjIoOXwbyEXlYWmr1 + 6NYAdH3TtqftPzF10jslw4RQ+BelFmlQLSuAqn622vSvr//hYaaDvlrBbezjuBypyWDLUh7y1GyX + oT7jQjuDsZKcmc4S1MLaZ+tjhTfAN6OBqWdo3guuhSG9mnP7kzrwCNPRipwEpzRO1VLvyTL2z3jr + 93nGmTtF3SpQUp7Y3UtETIGvP503O0OEbxptIhCe7ipAn5nGGC+rJDItHLyTulfFtc+PuRy5lgyP + LqgiBc7xby5IaXKOk+Mq5TfSzXpN6P8n6C5h3xMDe0rU3tIJlORDODVBekjzIeGD4uTzlGpzbHgi + f37tKxxdv1igYXK2/HLSYgGJMh89EcM6g58LLmlLhDuDzOYl+s+N+a69V4pKyNKVGgv4fHZv8C26 + e6SDpXBeg7XszpVC77Mroravc0tZlcqyFYIgV+ojYlab6kj7ZM95R8k/OL3j+FrTADn9T0fhfIjQ + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=1-tete-a-tete_formalism-msg.gpg + Content-Length: + - '627' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 15:48:47 GMT + Etag: + - sha256:544520396f6c80e23e8c3a62d8fbd974b4e57c64eb4a9b7892093bd6ed16b862 + Expires: + - Tue, 25 Feb 2020 03:48:47 GMT + Last-Modified: + - Mon, 24 Feb 2020 15:48:28 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/submissions/6636292d-4f78-41ac-9664-b599447d2f0a/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqARAA37wHcvx4awoKDOmmqe6Hyg+MJ3jC+oRHb5gZPnx1IHfIBJIjaIb49Bl4 + VLxKZsaeNSlKRMyO5VKM20sMQtxmI5VkzlKJndTpn0Kza6lSlcMOhn+gJcKu+uugBq4Y77z9rXiO + lEVmauyAK/+N9KDVA9kBLeGvh+z77oFWRX+c1yvAttIH/4zkqnBkSCGMeEk0eKwXc09hUWJvkh7u + jH71AHrNiguGE7qik9+2CU1s0HcO68JZOrE39+oc5RwdVAdSqHkdvNCBrR0DINiR2z6yMerbjDeJ + yO5eYxexlSFbjdUj7so10MjwCZIm8y9NdW6fZeH/nX24WMxvvIKLjy5NhBa2iV/1eLh7oXyGpGZY + 9LoL6GTfzeWdTyOw8WZGzVlcgao+tYL/AC8C82JnCpJ0D16Jjog6wqF582Mjcoc3vuGG2BRPpCcP + kavXlkX8KDbk8HgDqQI0yFBOPD7pOsyY3p55lCryRBR9YKKUVw50b9JXINsTeWr9B/yGWUt6TKGN + PTkUmM/tqojCQGENk7jTqE8HYb7zjYat8QA87Jy6UgI0WQ6dqiMGxtLSJ1CGXnIUOr47W2tGaYSX + jHGma92RsPB8p44gRlB/vPyakpJhvJYQdqkd0D7+tI73D+Ds+RKwArgboTmQIffLI1LqfwC7+AuC + rqMUDJsIa67Ah5gN4FLSpQELsBXplozZn56LkK9iZEoxgenJT2NulAv1wg91KRZdLIMiHbx+xDWY + 34+CbDdHk8U/YvHauDceDNIhfLAQRNKI4YE326LfGGhQyc9S5U9Xzu9uBJtizE20yKPRFw9Juu4K + UfH22kdrZYdxwIDbPu3YpegKGZuZj031dHtbbZ07s8x7gT/s4VrzuFKt7LarEAG/2zzbZ//jc3K+ + eBSq+Eb8M8Zwkg== + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=2-tete-a-tete_formalism-msg.gpg + Content-Length: + - '694' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 15:48:47 GMT + Etag: + - sha256:09c97463a3605539a981102606054aaecea05c6aa58351ae5340233f25eae17a + Expires: + - Tue, 25 Feb 2020 03:48:47 GMT + Last-Modified: + - Mon, 24 Feb 2020 15:48:28 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/submissions/a69433ee-f291-425f-8758-493e8d42e91a/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ/9FLevMACWZNo8+9nU/Mfkmc90kdeeY1pPjitmHB5M1sR2C+XPVqbBTgf3 + zsLEmnejs9fZbr+7zwthtRYl0ze6joQas2TZxVrIluL0wBU89h6UFgCJIx7mYuEEdxBebc5hnX64 + SDc5bZGhgUkGVsdewlZquFXWUNbLDJLT40hTd2ZA6BJaomOjTfXG+myJZiJgkYVeUbfH7xpWujbs + bTuellh3maNcfWMA1BwOTlCA2D3tqDaQid7Nr2eHjbEeeDFFahs/AOZzBO77To68W22E3ZCJ77Ck + Taar2mnOBtiMg8+HHTFqihrpWD6I7oF8cuJuUlvW9s2H+dyZ5ZC5XIEvGwZF2VKLY/1dyuQ3Nl9K + ZREFYelSO08wfalr4FTH+tG3QZShIRZraMmmmx+MFDFojpAqGCEk6PRFRSwF4KJjyNXbt6j8iEWq + CC7uEpsS1k3bdn3CbWCkTKP/T/Mm0wd/fAG78I1rBGl4jolMdDBB9reR+cZFOzQMT0bUgBjgl3Wd + 5gNhFGOUHbMMtEnwsiOUI+XrPgEfwkDYcjTSSWYtwU0ZpIVMjYGYPZnB/YMwSBeuEcnwDNSt9koD + QlYbU/ZnjHRk7+VqyEqUlfwj0BYne4/PbNR/em8XeQt2I/uhKHMR9ggwcsiYN47vo6ggkSfG5nia + 2KWkbHOTlM7o6LVgcZ/SYgH7GjTWG5OB1pveI64KW7iWpEKZVe6G7j90XpVqmNxVkNc0oxv0lwJD + RID9KwnukKlY3KshXFocuHPvK8VZlGYfD1Nxo5I2y35n85NhLRoCS2OgDMDaKF5ZMJYq/29Tf5pm + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=1-ocular_schlemiel-msg.gpg + Content-Length: + - '627' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 15:48:47 GMT + Etag: + - sha256:357337be5a6954e791efaf6837a7101c131ffd47ac100499dcbaa3bfbf5d5560 + Expires: + - Tue, 25 Feb 2020 03:48:47 GMT + Last-Modified: + - Mon, 24 Feb 2020 15:48:30 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/submissions/0a6936e6-df09-447d-885f-a3525fa1c361/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqARAA5hEO0bZTbMNBlQnK89KAnD5a4bZ1uY/Ggte3m0h9bWKa17hI7rWnjUT8 + LYO9nsNiutxwyHpCM6ZO2zpo3LNcVBeb3mXjxcNG5iHkIkdO4pjtmOim0lqb+fMYuVODgxsjX8Uf + 6jq4B2DkjLItQsSAqg+UBcYn0RD0/AXcVYqnACpuNollhY1/OevsbyPBFFVMZBOKmHfIsmca8C3i + zNosx5EIBymtcefc3zCuHGKaWmwKPLtbQBSYA3vqS8JAClflcWsEy9jTm1/Px0i6ULwwptv9SbPa + EMeDRdVej/DDvSRn2TdeF4ZAHHkv9KEsS2moN4f1d+cAi94xUeuxW18xcHaUVMyCcSS5dUYIP0u/ + Mery+vLFeqDvokuO/Loa4CsoJVZ5V7XocwNJmkCBFGR/SDyjFEetpgU7NkUWji5NNXs5KcZ0dKh4 + NBKiTmvrftewkw5cpNtRsVVyRhfqm+EBPctYd7J444SihPvwvoNjQiYAITD7rrE/gM4dScB2FDt4 + fBM0LyXkRp7Zz0ZHUDDZxkYLjSIe5dRfeHS3MAsaa45i0uYWdKssWMKM6zs0r08u+HvltlpYKjw9 + dg41mPjdoCuKOx9NaijqYdIR+HQwFtVdSBKUuoIaBeSW7diFEALTqixFAUPYogTt4ROBbuJGDZLk + 6A0lsNCpQhMq/wn0lb7SpQFH0YwX+eWTUD5Mh9DQoe5bCjdId/JQjIb/od+IjhnIxlP3zt6zrLcd + GuFCJ9N4eYnbTrLGA0mvnGs00StneAum756lAGQACHX9Isv2gUz02F4DQ+DkIzu8hcimFUFqY0Qq + IHFaiyZm0i6ZhqZOVm6z12haNZQcuQNeCe9D2vYMan/BqyHUn/j9niMKMkJtegXhUivkJTqHW7Aa + JqXk5jiyOznanw== + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=2-ocular_schlemiel-msg.gpg + Content-Length: + - '694' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 15:48:47 GMT + Etag: + - sha256:2f7a8bfcd735cad810e82cd0da70371efad445d76dfabd3a861c2e46e73df8c9 + Expires: + - Tue, 25 Feb 2020 03:48:47 GMT + Last-Modified: + - Mon, 24 Feb 2020 15:48:30 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/replies/36d2b572-6da6-42e1-829b-777f42549099/download + response: + body: + string: !!binary | + hQIMAwNrWPi/C7BEARAAg+QuxdxU9JY92comXLAReq8FYaD+9swhD5FHoaZWzzyzQ+Z2RG6ciWNG + ptdeiRT+UGfsJRG2kgMtRdCs6T/fVacwWscBRzz6cv/5Lbn07er05Hb4554gJ+OxrvXEPmNxGjbE + Vumu+Tv8p4crdNGHbG0npXVwOi+VtCwfD7Y+plVeoXsA6YSmFIrkRuDplBJChbA5Ka0c5TbZcJBS + 2TqHWFcMmhyiA9Or43cIu73oJRo+Wjq4fzQYqMHUZTeIwOaxDUfTmZ3LFAfv7pAGNLL2OsaKdwHs + Mk3auj4q5hR5HuOpVbKiSNkBDJscEBwLVU9TuQxuiJLa43/6IbqEgzxVxKzNP++t3FarRxsFApJl + Z/tLSe8xx4PJjhnkPOnLtjvJ+Fe5FvU+WMWDSyXrxHglU3Sa1MaN2yb6020pd/CGOZchsLPJ0st0 + zL1avenfNPhAAQ+VZatBoNhWBm7LI03eflqi7LEeepNYQfo0e4FTxPMoRzNFpTERIVmblmsNcZw4 + U+an/K+I4a1gC/kqpMmAYo7mzzU/cfF+EgZGOw3GZm5S1HxNuIiwtyEQxB/R9ROaa7X44LTDNtQe + ze7af2obDFQuPeweeTFaut9fJITA2coWC8QP3llQfPwykSsC0jbvsnk6QNEfFRj1Tz4rqAnUh9Gf + SWJQz6Dpc18VqCg8GMCFAgwDw+fEwKIgGyoBEACVnud7iSpNNzAif/3S/96G5DWFeiIkKEYRa5xl + gYyHs8FM+oK1GfEB6fIl5pfdfANNa0GWblnsXOUmtZxmbK45dOj0OWdHcbAjKeW1OiBqEFjbqopE + hflpy5GPxqWxMH+TnP0pdnZ3P13cL3rXQXF0h84CBXnplHnIln0TfJEemUFA9wxfAF2sQfrgrF2E + zSkTc19c5T1V54VM+ug39jaIurbFb7+icQ0UXcX7Wo1ewgFU3HQUHZ/qpmUDHFG+tZFtvZRzf68J + heEgFejl0LymhxVR1a24DXJeOWQQaXTeraZB6AFGM2qMzJYh25qvLo4uOSTlVySgCD02FgPIkJop + 463EAMTMq5Oo83FU1nqPr2sDwlHj9KyaymFptAIvUuTr9Yzmn2YkaC8LXDcHkdaZOh57C1pM/+YP + edY8tgDjoy/x4FUmd1XIeTwfj0JDqOUTQFZLbAoAIVWb6rfwzxUSMlpp1p8YaNygaa2inSTh35V2 + nYNl4gDyA8ZslKskGFgv/tAnjaFXwrYJ/5smzXTwB1Enz19FLXtbkOQ7dY3gDsRvh9s6kqovwp6x + kLX5Xf7QEc441L+hI9hnXdl7PH2evKzwCN4WJyAYEgwduTLTOBDP4NukX4T0vnAgg2OZbk5cIztY + TY7e1mzaBjNfVKu46sdYY816/h4aBG37bUVoWtJdAVZ+KMZvu+FbnaGeS2fbioU4Vco/pTVn9Kls + ROmT5SxT7QzAlJZbMDdW/2Wut3fy5H4fpeliE1D91SoebTB4oTdB+cA8YyuN60N0XSlcLaPP2rgn + gg4MJw5SW6sD + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=3-tete-a-tete_formalism-reply.gpg + Content-Length: + - '1149' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 15:48:47 GMT + Etag: + - sha256:4d016992e4449d0f313be0fc1e696d9635ed940b954db66dbbd84ea050eee267 + Expires: + - Tue, 25 Feb 2020 03:48:47 GMT + Last-Modified: + - Mon, 24 Feb 2020 15:48:28 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/replies/38338788-ff60-4af8-becf-04aef89cc314/download + response: + body: + string: !!binary | + hQIMAwNrWPi/C7BEAQ//VeGVLw4RO+hYnuwyB9ygQU3RgrHzIWqjR8FPm1xVrEMznQrtJEp4iYS2 + 5hC/iZaADLzrCTx23q9wivpkCqMzCfHkstTqY00YBkeoCDlt0qcnVhjg9JSy1KTLRryhCHT6vYC3 + /Vb8Wuqpt/WqDLe79z8pXFw2rExXh41a0X71lRBAwm9isnN21fBFjjv6fek/LaN1T8Q9dGuH6Q5s + Yt75C4pfxru/TCiwijm+KrsgoHLDNJTmRwvKuNhPrxJz9MXlJoQ+RYjlw38gYHOH1EEHkcYOGH9k + znSkpIvUUzJrgKphyDHFpACmumnR1bmIzIBF3b05M016GB9tVbovNLlPpK5i3DzTxIwuK14FVxuU + DUAch+Qx2kLSGOeFTRLGxuZ2gHFTnB+qZwiNKogK4qoTkHSUvD6y6d9D+8BqLvCMqcJgFBK1Fsa1 + mFOhiLTqHe4EdPapMKB/yNblv69kWd/vWy9sfpBWQ0SwndJCriXw1tgEzfmSqRdqGfeQarkd9ykz + K+TIXK/W5LjVrputuV0CpdFK0wofHGEKiWv9g4Y2PSd0xSEPHqr0pqfTYzZWxjKVt+SZSoGktlKb + 9FTk+Y+PgSDBb4qu9etl639LcpLzwTXT5ttOGq+0toYcVJxXrrMCScIWWIHWEX7Nln6O66a8FYzG + fUvbE6V/YEK23vPpn7GFAgwDw+fEwKIgGyoBD/9Ca2XB/FRwu1mL9NiOdx8EqNujjHO29k9vKiJH + Wj1Mc8i3h5KGpn22gwB2ocHli7UhYX+D+MSJVKkQBJFAgoY48PIFah59tBnFSU3QyPD67k+iDdQw + ZtrcNonY++fDg8MIkFe/cF39Bs8FtIYfejgOsyo2P99zX88SSpWWhUJ/OWhzXyFTwmQYTseFwpRk + wQhkInutt6YYnKGyGZbZirTySBLXIjnojBNDK2tE+W8/POxQzkB9Z3AVaOZLWrgD1NnbpLeHPKp6 + TRo1RWbC+vFjF7edcg5c+6esYDvo84LJe9SldnJ4P7YI18kAy7CVi2Oj7AzaXzDkw+KyLdq2VeEw + GMEKbzzZ//5unayX4krv+cps6Qcho8d+TJAX1hGf9MjjLIcqWjkaLx8023Xmf8jM9/oLU8wRix9z + Og0So0m3ELny5N5Z5t9/HTzb/ZluUhsuIDjadsWYvER+qOYjJEQOd+cY0lcYLrTAcFFib6Ee3jBF + NpLsgmXKbG3jQnzRHhWirabz9cvoZYI9cyKEPek064Pkkn1+tycLWB84TK+WEUmS2d7iFs8To7kx + tbTKAupYbKemTnV3iVCB1gK3LOkXClZJdSiqGNMPwAral4pE5umDgieamXdx+XW3iK2a3u8UFSAc + DlVWRVL+qH5uW5CVLr1Zrn89gDVCJh3CQchRk9KiAZZ462jt0/xrHzYJz3gIpcDX8MyPbfD0Q04X + iRcN0hn3C9AtvhjEfyY1kyjFQQChKfz+1BXp6Gbu2HRLf4FhuBZGCcLvE1k1GFyi4pb2zxqGvMDY + PArh9jhuj7mHCpn6KWF5rJex+eqVZcUBXEq0cPR7VO6/cndWTm3HLsu9K+i0aJeCxVhcUFg9qotp + 3FVbHEMYevAnG0I7ECwVRPxXVoFw + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=4-tete-a-tete_formalism-reply.gpg + Content-Length: + - '1218' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 15:48:47 GMT + Etag: + - sha256:5dd40b31d85178b579d5b70c93e51b7e8aa55e4595635ae9a5bd8399390de048 + Expires: + - Tue, 25 Feb 2020 03:48:47 GMT + Last-Modified: + - Mon, 24 Feb 2020 15:48:28 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/replies/71160871-b852-4aa8-880d-71191463182d/download + response: + body: + string: !!binary | + hQIMA9eBKBQf2maGARAAhg1EXyvBR4eJiwjjL0OJkXozF+7ZHa26rsL9RAoK+A/Z9vKChJPNhSoe + xFLsF4dfmpuQYPY3TmzpjM6Lu3dD9xR+Cj7P4D1DZAFAK9ZNLJNeaMkLFhO6qjFQGhxGh8BJEs5F + jQgs0b01ETYszxm78WLeLjDNHR4bKFBD4zQopl87LVgUPaZPy7vmAw9IPk0SB1bEmSP2YO2a5yDO + hsCey9fNYfh01QOl60yXAPwOvq+NnHQfj41cXrWzyXs+4sPtqwb8IPaKRnmP416ki6UXOgYGcQ5t + zgOUYpzvEzCGs/dmPfrgOS2CAeYfpjSNpnK+Dl/M1mwSAEjCPQytpd4bHKG229Kwlaw4P+5Blzn8 + Dn6wXYSpNUICrNGtZR9K3ZCaduQpiJgEokGAZBbmtBDtZl1BtDdEBaEf6EvTTlr6P4LoRSu58qCB + dlB1AoG5hljQL9whcMJMEU9Lwl3M6z64xrzIMnNyu3MUTehbutCNP3/w9OK7moFp2h2b65ee583K + al1Ek/fofi8GJE+LKl39OkORpfowpkAHuPgcLd5oM1SyNz/PdXGcyfrbf9YDyGYn69bazoRVRq1z + HLmOmlwBkoTsvt0JYBx1e38F47Di6kTSXyv5WqBhX8myUQC+fLl6EjCxuvhgniky6yXL9a887oc8 + m1XybNesTDEG/ZaVtt6FAgwDw+fEwKIgGyoBD/9plV7ChGv6TyCMumkjbxzQ+bacYcOAD51qp3w2 + yz5RTW4ggXj+IBONGmtbz0BKSugXMYz0LNaHwCGMIMYXM38PsktEvjEc2va08xKa2WABA5DyTn0H + +x7WGLhRZ/JAOtRbZ/bZEvI8UBK85bIaxe2S33cP1aESgD5Ww94coc2oYcTpRCfuNXEbdmvjFcXV + WpTZ5OywY9D0+BBJ9lU/X5iXj5lIW8JGZK1yFO22bJFxqOaKgMT4aWLiZ2MELytEKukCtzpwYxgb + lSmveJVHF2DySOdX38abtq+C4VfsQZjeMKIdZouBOtdC//cnTlkUdRD3OPq0slTDSqIhZKE+n9l6 + YpGw7oiozkv/+3qoEshBvUyIK7ITjQo5jkbY/yb/2pOVb/eLhKU7j0QJwjRGu1trnkXUeNNiPidj + 05yJ51l+uBe9MzjPxhPM0WyRNgmGMzCdmvGtHBcoZe/hu+xPAd4Hqgh+spfVvz/QextYT0NbQEG4 + nU9b17KjlYoPQOAymQwhI2fWwdXpUBJqAcKTOCo1nEfE9k8w7XFmmOIQFsCPqVrEoV7Zpjf9xm/H + Jdl3kCPE3KEELXgaWH9OnlOsvTeYOBXBLa+vUy+cDiubhN8wBCtSO2Ilst5lwakKg3FeoAXpWPaz + 40atcXEPHXSr9buxHNBMW81lczk/renf8lfUo9JdATMjY6qJm3M1yATdAlBBL7AyiLvLttBnB+x9 + wTB0yfmvwqDZ24u3WRe7GhRY/fELaUF49wYJUnMKu9E2mq27Bt9eAHu98zSXcvzI2bVIx10KvrYS + S6iGzo0Cila5 + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=3-ocular_schlemiel-reply.gpg + Content-Length: + - '1149' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 15:48:47 GMT + Etag: + - sha256:476d0e1d79850d1741caf2ddc26272cdc0c158fcae600bd7b56fe21d39d58551 + Expires: + - Tue, 25 Feb 2020 03:48:47 GMT + Last-Modified: + - Mon, 24 Feb 2020 15:48:30 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/replies/9d1d7f68-f007-4852-b288-d3056456b108/download + response: + body: + string: !!binary | + hQIMA9eBKBQf2maGAQ/9G+n5xkULzEEicXu7AVXSv97XGMlIffUbWmdjtgwN+VQk94txyOene32W + t6PmFtNHM5hWe1vDMzpTAadczIuv+u51HyykWod+gD48ec39ffkHMeuezvOlHyW1v3BETRIfYnLC + iPikRZHc64iObyqf+4hKU29W5v9YCqHJnIFU5UPWoiBk4P66oPE5IAKDjoX/FA8mIY5XOxEAio5c + uUJpMOOGLzEl+5+R1pWcyjpVUJ/aQcJpcss22IXuLtvVFSKJ2kVd31oK2o5VQ/TJ2pw2MUU3a8hP + /4P9G3tY1A2KEnEosSXS6+tid2D3oWdQSua7OcNjY4RTONPClwJCBEYICOqMSGoE8PQLAIWI/LxO + oGMD4MrMIMVuA/e5Bu/TYWE+7hQC+pZGPj0jVDxQ7Ui+5SOnlgsA6J3q/CBbn1fm4B1A6aowarGw + so+HcYjx+3FagFbPLdBF1s59EotA0KYv29LPx5NUGtNFfcMl9E3ww32sqN/Wqjz5vL5js/N/aVnV + j5yrfBJid3ltDEmvfLqBFZYE51UR3VrRJYKQVnxw2VLVKoYYVGR7F48ZhUf9fDKdPJbkvz8UvS3i + hFTW66l1/2tibS/rYf6um+jv0U+IVpDCs5A9j+CMRzxYy/14XM71RMYBcUY5Q2dWJjL9QvINOQ0/ + rerQIi3TtE7yXEAsbVWFAgwDw+fEwKIgGyoBD/9t0Z1n5pLgORoqaBsr0v60ACjb2DVL4fxCfhWP + uWjigg9dDDoJ7E2dIQsoTY2u4OytZd3yZ8jzL74855X4TziOdBQfCZxzfpl3zN2wq8nmWZ2WvCwO + rObqzhsykCMZuGAtkZSdVll9xnP7DJhflZyXzFIB94NSoRi1gYQdsSR04mrjyU96lesGcSa2SAQ1 + gR2dn/PzmnkuIV1xCBN5Raz9A6mapuhD/t1t9B4Dh1mJ+eVFEdW3geRXAUJclVU4SojiRL5Rtc+d + X2xKp5H0fNtYZn0RG3WsPG7qDusAbhCmgw0kwnviGfNlc96PW63Zr9PiqaYsvpPejgkzsuGPf6XR + blA9LeEeWhQmX7ulXXzq9cdtyoMifIVwSP80cu/5cxl/U8XPiD5Z84SdzpaPJu49aKuGaO7UjiYI + sQM/JYpT+NbQ1TS4OCQ3chreHGQnxuEwDqc18u+fzq0+gotFDBLf0jUOupLEzqcq4M6QA0B5QAzp + /oWB5HSYPYw4KgUafBfHHZi2nZaGpxOsdl3PIdoxi/dIeyRjGGAkBhSAyRf5rvHGFHSeDaakrV6w + Nfc2jYzvw8z0CBrFT6+fHpYKiy97sHuAj0U4ZwlCjE7g8HjNbRxwB8z2y5/OnfDVMKzwZ6uC/meL + Nz6gfqjJKNBwYRULST8NOKxxPZhcO8eIiSDlJtKiAdYGsT/98Bk4DFDEsqGwgwKEoi/3LO6fFqvm + nM9JnBT442ZlBK1rLd4yjQu0Xml95YpbfL9UtORVs83PVcS4tcyChuR3WubxRBhTKeFyTYjKORup + Gx8VvH5P75oahRvqZAHBdIQ867ZHabhpZJ4VMCQA+pUm0JAqPKAQCbykTz7MfO4WRmmODZea1AKX + N8Euk6vtYD1RJ0hqit6vwKoVBSvs + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=4-ocular_schlemiel-reply.gpg + Content-Length: + - '1218' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 15:48:47 GMT + Etag: + - sha256:471d12c9ebd1e3285851033f832e9392f79cc8346c609d524e4b0ca8628a5eb2 + Expires: + - Tue, 25 Feb 2020 03:48:47 GMT + Last-Modified: + - Mon, 24 Feb 2020 15:48:30 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: DELETE + uri: http://localhost:8081/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c + response: + body: + string: "{\n \"message\": \"Source and submissions deleted\"\n}\n" + headers: + Content-Length: + - '50' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 15:48:49 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/functional/cassettes/test_receive_message_from_source.yaml b/tests/functional/cassettes/test_receive_message_from_source.yaml new file mode 100644 index 000000000..12d0a1b1a --- /dev/null +++ b/tests/functional/cassettes/test_receive_message_from_source.yaml @@ -0,0 +1,981 @@ +interactions: +- request: + body: '{"username": "journalist", "passphrase": "correct horse battery staple + profanity oil chewy", "one_time_code": "625486"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '119' + User-Agent: + - python-requests/2.20.0 + method: POST + uri: http://localhost:8081/api/v1/token + response: + body: + string: "{\n \"expiration\": \"2020-02-24T20:50:12.868997Z\", \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_uuid\": \"c461451d-8f55-4088-9225-55cb196c7af0\", + \n \"token\": \"eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y\"\n}\n" + headers: + Content-Length: + - '317' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 12:50:12 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources + response: + body: + string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"bracing population\", \n \"key\": + {\n \"fingerprint\": \"4D368CB030CFD1C9F04E1EBA80EDFA1DAD31F615\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEAC3wwgst49KS36iC2F1VIsm1Ao8nRheATmYPlO7OtoK4T4NJUqa\\nMlOK5BPeIAkL4DuaJ7XU56JcfG07BJzoPFtf4ecAVBK7R3bZMkAhza4EE9QH4prM\\n4b6GLFUaBHRaPGKvxbl3uq940KrNUtiZNf1BzbPGn55L//2PTgtIYmoIRWv85ZTL\\nCTOu7OZ+MqNLQoT5kbipBZ1Skdgawj/TM85hpKXm0nIOoRYvAFL3FBLT3jUPYoQz\\nYNUd4B0N5wcKX7Gx7IfhnUJEhquiZA3ms6H5EisDhpuWDeyX9jFcButLeorQKwm4\\nf4rGommcJ1MYu17EMcAA7uTMTwF4w7ZZMcK1JcyQnEqHKsnG7vF5TdFeCEk4dEfN\\nfnfsRSudzpYAJnQV4WUH0tcn9enE6SB69IAhVfQwIG5FwGvGK08KvEIaIfbOytEK\\nNsM+sAOJb0S/PSdDG6Dy/hDFfOBPWXTulvvXAoVL5bME9UdguvYm67Iha6oDUVHc\\nL5xvcPt93Jl/l8C9wHKPVjoXl5UNloWjpdRFzwZG8IaMfGYvn9WcQLjvT9jmEmue\\nO5t1efiC+uiHtbHHuX+ds0GGVPTKDycxyDxI1AkyElM17nm0GSJnHVymMkl8SvNL\\nr8ztqJYoChL6xJr+1V4DjuQLVR28B0Exv891wwRQZJHl4yHYCyRGHDZ+iwARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8SUVGV0lHWDNBS1oyRkZPRVJVV1BZRERKRDRS\\nVTVLSVBOUEQ2M1pOVFNFUEc0RkYyQ0dTWlRaUlA3U002SUI0NDNRTzJMVk5aTkZL\\nSktBVVNOV0hVTk83VkgzNUwyQzNXNVRHQ1dTST0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEIDt+h2tMfYVIJEP/0FRr52RAfgR\\nfdTPO/NpWtXV3mAlFmFDw5Nxt+jqGc0D3dcuDoATEilgBGqw3z5Amugm9A4qN+Mp\\nfutUT1q5b8oaDTohM5C/CAIgACYr6uA3Q1nyzkSZmAbNATNS/CXNBSsM2tb/CwaC\\nrj8EZkGDiE9qTLcdmP+z2ZqufuH3OvhO7gP+ZvYJJwai55+1w0u7kAfXGIUrAUy3\\nbRltHIRaPoESq9/09yvoc+1yPHQ3g6p/kBPQd/Pq9jIj53JVvOrvVHlXS+atCXsB\\n4hOpe7FJt/2h1q1MI0zDLY3j9IBXYpd6zI4kZi1iIZ/zWaTENvW2Q2IC6Yj2z4nU\\n1BDgKFJgQnP98JsTeUh7OHSfoquSCtRSWCYxZ5CfSgTw0azQ/4rjOkmgVKEAVO4U\\n3xdTshUjBuECnNRd6LNhz6Bh89rNK+saOunC/xmBZ4zfjvYpoyZq9cy5/O2iU/wB\\nsfnoi8Fy0F3hTjWr4+/xBJ7NRWK0WZlNspklcmUShwvM9vU199hP2RaJjapOLhjL\\nIJnUySE9BdwHugLxMHfZZz2M7slBUWe0yZ6LtEdyZY/A3Es5mv/iUCW3PDeWXBq5\\nGb6MhBx/UL/CO7IIOX8u+05IJEzs+wq4ei1rwAEbVZe0NCxLY/Gg6vaeCazaVcZs\\nFrW00uKSGxw+vOZquA9tdDRGnJUMLByJ\\n=cniW\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-24T11:39:30.647449Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/remove_star\", + \n \"replies_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/replies\", + \n \"submissions_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions\", + \n \"url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", + \n \"uuid\": \"9107a14b-0c96-4900-b0b1-65b7f39c5a27\"\n }, \n {\n + \ \"add_star_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"incalculable glaciation\", \n + \ \"key\": {\n \"fingerprint\": \"1E2236AEFA14B28C41A7720750EDE7875A6B01B2\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADBherz3ZtIi6WxqeSf/Gf83qBHnmOaL93F+vZHravlj4KCyA3H\\nImHx3Bv1EqCiyCwx9RaLSnFlVI6PqSkr31kzXl0EVY+dU78a1GjZpEzCl7vqVVAp\\nv53UIWYiCT068hdNvaY04oNHar3XhvBKa4A7VUjAsI0hiIkKCOTDSNnT/UfcXIV4\\nJYAJDNDdeCp04Lg1I65LTR5PbGrlZTfSErhZhpegE0mkC1rczdpP4gWbTU5PB/QP\\n5EUK71tcURj09zaMeEqupqi8O4ulKRzlZfj6F/c7svkJ8e7Ge5IsIk9d67KfhZvo\\nm7vJI/vBa7mzOiypleXK/iXk/pA7joNWACC4FccQlQC3cSVUG4HJmHduY5EjICIX\\ndCXZSR1wG4h+3WxKgbL0mTv7QAlKdrujKyqmhn+JI29tcqcJx1W1i3mDwfsRM68b\\nzL2onMAbhI2jfqFEgXJaePBXACKPlCOKa0UMAWYjygumM95CXD4bRvtcXZocrach\\na/v4ZdXBoPaMfWOwC6U6f95yWDt1fMRxwJcEPeswSWixfgD/5NqafeszQSZafH7o\\nLPu2tODlvIFs0DXUlQo1XSFr40yl3LSTpm8ZmxbGqj7kg9GVtwGT9Kht1pHUUPfe\\nrL1cOUM3VEyr7wGDnFDIbS+GYhNguLXCw0vSh1WN2d2qwUBLtpF2k4Mg9QARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8T1NNUk5PVkpWS01ETktTTVkzUjRVVEsyTDdY\\nTU5aVUdVQUdCNVpCRDdPVE1DWUZJVVVES0hMV1pJQzU2SlFFTU5UNURaRDROSjVN\\nUUpSUVcyWFlKQjRHQlpaSlk0RURIUlZMM0pNWT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEFDt54daawGyNNIQAJm7ynrvStO8\\nqgC/E3xWoIEWBjZ6FWnPrWuVOdOq6XLCPUXtiJyybQpXaKdISemFPVPtlyzGXIw6\\npoiJ8KO5GSzy/QQNf+iBUxMDxxzEoTq6GKWQSEJrgvIuaIdOqYm2EjBuwCYoOIit\\nHRFs/3kn89gAlFpfe3iGIEfd3ojyxnTyzvKe0eivUexIQ0Di5lYcR3tH1Eq7BRjt\\ntgn/8pN6nDLoLyfAcUD5E80lopA2CXp/KIUQfIWRd1WBfSXqju1LYHGN+fXoAWTY\\nOUrFw44xtnHGknyh3mBIBA5RT5LWh3aA5FWZKibfPnxa0Nuyklp9sPmGxCT45/zk\\nGn72guXk8W+zWl4AqeFb1rVOav9Tdjtsnsievahgy8A/JsoCC3mu6PKR7h1BpW7q\\ne5h5TXx2N3GtOvQyff/qA3yHhwMDTyT0Wg0pYZ99tXdUMCaRAMtC8GeLQxNlJdio\\nZ/62YjVhbQIzph0QRK217rfRc55ojl4L74zIwT00U/P/EcvOxTHo21W+SoRQ2U68\\nXn9qjtDYARB/7DOc9hpz6/fzc2inRyNuvdF0RPy3QK/fbKmSQx8C1BYJPR/Y90yB\\n5/cyJHScWEsnMUHsQNrhpowNSrvK08ohyTAm1ZA2kBHggZ49FMK3JB3mcT1caw2L\\niG0Nd1t1KeVbkLuSph23mIFvticwlII+\\n=j4Mk\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-24T11:39:31.673199Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/remove_star\", + \n \"replies_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/replies\", + \n \"submissions_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions\", + \n \"url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", + \n \"uuid\": \"b1060583-e92c-42ae-a2db-ed87bfc597ff\"\n }, \n {\n + \ \"add_star_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/add_star\", + \n \"interaction_count\": 1, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"certain iceman\", \n \"key\": + {\n \"fingerprint\": \"22B24948D0AC0A209898AE9B4C8DD10DA2399958\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADEqEvEhjRVM0R8EhTSYQ7T00mW0VrC9Z7WscoNcnYYJGJMuXSz\\nkoYZ1+BIPfnODYWvLZS7UD2njpok+cBdud71inspuhz7O1xnsiuJUtakzMvjeUv5\\nJM4XviZGELim1awVnbJ5d2mOsSdAWuev+UbiNvM0VczxV8+dYljIMYrAvDbXcHpU\\ndeurrH5uS0Q/1Pp5aAqADOJIPstS0j7xoPKu+GJd4PQe3sT5mrRANpssF3N8KwoC\\nghajAyU9nY+w1R17NTcCtzJfeO2j6XQNteZidmBkmKexkxwlEpp3DKWd/1/0EWr1\\nD0ae1PpddNcPsK2pwNYhC1VCB5i+WQBHblI7NBZ+s9f6uYmlN3IUTuzAIJbIYILu\\nj2190HtS1PZFFsbc0d6Ke80mC9vswedu6vnjLpLXK1zGR7zd5rHoCtRhBAkxa/v1\\n+T2GTuio7aENtAymy31w0V9HE/4FIiq6I7Q8y+M3+n8cuEAjJ+YdqlWpejQZIBYP\\noK7wIADE9Lpoj2zFtMX1J+Wesp5w+FC7SZleGG+Z3ehTwjDbQwjfSOOPrgYmIYDj\\nO74j4WGfHRiNRUbbedrZdt5EfsiuQ/gGJpJWe94PyvRYfLakOtRVngc1bhpm8kkn\\nqNp+DMvqdDVxsioa+wEWk4FuanjPD21IJbTGCFg2hz38QbK1At5KZv0MkwARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8RkdIQVU1WjRHM1lOMk5HTExKM1EySU83VjJB\\nWUVHRTNBT0FHQlhITTRJQ0Q3RkFZVFlEQlo1SVdBTjdQWjdRTzI2REg0WUNNVE4z\\nSVpWQ01WRlNaVlREUVlBSFNVUENQU1M0RURXST0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEEyN0Q2iOZlY8fIP/3enlkjedzcq\\nnwxWruBgzxdH1gp+Y0o2yfn9AQus9MciQwKjSPhq0De18fDhmPnhU2Qchj1XSLFo\\njpzGoxtzX504SX6hnZIKYGAPT5RAwrF+pd5iaPC7DZCLiR2ZhPXCeJdMBx4xTzch\\nCL3moz+U0I37qtMMAXaTRgjSdrTSsuazenlWpwDadEcYyMVx5Uya6092Hk0V5VRJ\\nJEpIMqy+YGNsOs+0gXr2jevCelpwVE9WTmaxG191a4597Ie+Tq3s+9eaOjZ2opyf\\nITbGkf+2Vc8+5xZDs/uLnU+bkRYrA7WjHu/6a3dIehVEgk3CIY1rxg7BKNMyMAMd\\nHlV+sjrNSAQvLPRpjaPJCuyCO5MDqW00aepJDMN6iYM7EonWMGBa+JbCy5/g3sWm\\ntuaPEs4inDGi4tj4jBd5kUUkbeuXcDJIP/MHcaJQ/e73opisscPEb4A94ErRKWHL\\nJA+WKfSst/nyTUYBj6aIV49F/n4KVLto5qvbXLj+ACXaQgHyQZDw1Oo/T075yBzi\\nbDuIAmKD72ZLUp7OEYuaUTzJrs5yP5kygu7mp2awxrya0LE8uFeQNp47OgOdDrIl\\nuZ6lgF2ri1DzAFsWPcg+6BlU8MFYelKXv92FgrIeD57OZghX+k1das8Gjvkcwb/2\\nmZdBt81ZebAT7kKOeJPkyXA52gmUY9yA\\n=4PxQ\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-24T12:48:21.287176Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 1, \n \"remove_star_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/remove_star\", + \n \"replies_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/replies\", + \n \"submissions_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions\", + \n \"url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a\", + \n \"uuid\": \"d9992fd5-2d32-4fed-a619-30f869798b5a\"\n }\n ]\n}\n" + headers: + Content-Length: + - '8017' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 12:50:13 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/submissions + response: + body: + string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/b9a96403-e68f-43ee-bebb-41e354308cfc/download\", + \n \"filename\": \"1-bracing_population-msg.gpg\", \n \"is_read\": + false, \n \"size\": 628, \n \"source_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", + \n \"submission_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/b9a96403-e68f-43ee-bebb-41e354308cfc\", + \n \"uuid\": \"b9a96403-e68f-43ee-bebb-41e354308cfc\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/52daa27a-6250-4ebf-9ef7-7540d9bae95a/download\", + \n \"filename\": \"2-bracing_population-msg.gpg\", \n \"is_read\": + false, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", + \n \"submission_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/52daa27a-6250-4ebf-9ef7-7540d9bae95a\", + \n \"uuid\": \"52daa27a-6250-4ebf-9ef7-7540d9bae95a\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/9010b9cd-305b-4b1d-bbdb-a679867560a3/download\", + \n \"filename\": \"1-incalculable_glaciation-msg.gpg\", \n \"is_read\": + false, \n \"size\": 628, \n \"source_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", + \n \"submission_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/9010b9cd-305b-4b1d-bbdb-a679867560a3\", + \n \"uuid\": \"9010b9cd-305b-4b1d-bbdb-a679867560a3\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/8552132d-a6a5-46d0-b078-d6d1b15a16bf/download\", + \n \"filename\": \"2-incalculable_glaciation-msg.gpg\", \n \"is_read\": + false, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", + \n \"submission_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/8552132d-a6a5-46d0-b078-d6d1b15a16bf\", + \n \"uuid\": \"8552132d-a6a5-46d0-b078-d6d1b15a16bf\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/9ad72b34-f338-43c0-ac69-1f560331c9da/download\", + \n \"filename\": \"1-certain_iceman-msg.gpg\", \n \"is_read\": false, + \n \"size\": 593, \n \"source_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a\", + \n \"submission_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/9ad72b34-f338-43c0-ac69-1f560331c9da\", + \n \"uuid\": \"9ad72b34-f338-43c0-ac69-1f560331c9da\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2566' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 12:50:13 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/replies + response: + body: + string: "{\n \"replies\": [\n {\n \"filename\": \"3-bracing_population-reply.gpg\", + \n \"is_deleted_by_source\": false, \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_username\": + \"journalist\", \n \"journalist_uuid\": \"c461451d-8f55-4088-9225-55cb196c7af0\", + \n \"reply_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/replies/59bd5d9b-9eb7-4401-ab50-7b3d32d84750\", + \n \"size\": 1150, \n \"source_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", + \n \"uuid\": \"59bd5d9b-9eb7-4401-ab50-7b3d32d84750\"\n }, \n {\n + \ \"filename\": \"4-bracing_population-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"c461451d-8f55-4088-9225-55cb196c7af0\", \n \"reply_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/replies/069eb5c5-f1a6-4cf4-9421-9ec72570877d\", + \n \"size\": 1218, \n \"source_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", + \n \"uuid\": \"069eb5c5-f1a6-4cf4-9421-9ec72570877d\"\n }, \n {\n + \ \"filename\": \"3-incalculable_glaciation-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"c461451d-8f55-4088-9225-55cb196c7af0\", \n \"reply_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/replies/6743c4fc-378e-4ca9-9f5c-c11df35afbe1\", + \n \"size\": 1150, \n \"source_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", + \n \"uuid\": \"6743c4fc-378e-4ca9-9f5c-c11df35afbe1\"\n }, \n {\n + \ \"filename\": \"4-incalculable_glaciation-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"c461451d-8f55-4088-9225-55cb196c7af0\", \n \"reply_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/replies/0c89631d-c0ea-4a83-871b-6b4e65d4272c\", + \n \"size\": 1218, \n \"source_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", + \n \"uuid\": \"0c89631d-c0ea-4a83-871b-6b4e65d4272c\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2279' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 12:50:13 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/b9a96403-e68f-43ee-bebb-41e354308cfc/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ//blZEyOUjOhSenOGqRyc1SXzpXnzXJH3mj13JnfcS3z1DKsybf00WdkMv + jMv814kCdqISweBVzRGHO4QxkXVnAMJFEtHVFkLqoAjfIBU2VGGXNORnDLaPO+XJVGRDunl6GgT9 + Pue36HkCY0YaR/lcN0ker1wM9EPV9HlIkJ1Tye2BElT/wGThC5faF/u6SWgBj9K4lu382bNaXgw+ + ZkYr1TNS2RUtqd2dmq0PDhJpznNAsTZ0TQX8UEEA8PK5ytfwqfNlGcbgdU2f3/GZib/Zh73+LY9P + jhlVXtiyKNZW2EWxxChxgKPHZJlQTUj6NE+YIlIJiwC1AzXZ0Gyf4wNCKDHYX5obG6hCoGbbllwd + cEHf9nFvd2G0AF79HKq49q7rqfleLF2rFA7UztkTuTWt/2WoQPfPpq/S/FQw5JCmN9/RCR8QGibM + NSRtCP2jCWu0GzqZKeumGs48g5pDlKGaaxUVpEBprQbWCFybFloS3AUFFNefuQ4h4EJG5UAwLz7Y + 4dTEc0O4JT/hPs6fp5yvcio36IOGset5B3YNzRjMUB91PqZfnZJIedsqiIQik79vWPpMvYZp9NMG + pBfQqH6n02RhaV1Z414EjNhRnIMBFO1prdRBOzCP8pluQAhEkpPpHU8av5GR5hzIH3k9BV2gMbh6 + oxXKwrx89lDpKozbKBjSYwEEPcGz1bk2BQ/AYGNO++aJkSAKLzFW2bFBsDNwXYgnzhqh5srhlCUo + QruUAzz5WTr+tr5q6Kgt0pobRmyRGxCe6FPxUhEFIa0O35oy2BvNhvmbBHULAnplDU8F9XHdL5aF + CQ== + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=1-bracing_population-msg.gpg + Content-Length: + - '628' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 12:50:13 GMT + Etag: + - sha256:5e6445a70b814ae0bec12b1eedf25cb80b3803b552c1c90d5de7a0067e1376d2 + Expires: + - Tue, 25 Feb 2020 00:50:13 GMT + Last-Modified: + - Mon, 24 Feb 2020 11:39:30 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/52daa27a-6250-4ebf-9ef7-7540d9bae95a/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ//Y0u6YqeWkhDz/OH3NQyzM+QO9rF5919jonIF9+xWxdxRTfQyaSv1i/Gk + l9PcJLU+1xAEvJwClU/i4GDKLGoAvaL2QCgL+X4JylitykadZN0s8bsoFLTepL/KgMvyymuZEC9Z + lXz0Nh6kkrnOKBnQqYRNxhlh96yhjCajt/AbSGnJSp09nPLhkSeNF7TuL4T1mNRaM8B0NVY5ccyx + oeJK7Not6+6vsutJqobn9W6oOfkZqOvEZ/+GcgGui2aA6zPElNWLaiaXhOifSp/nkraS7G0dA9d5 + WdOaTBtVyXgmjPe0R4hcIBn6YNUuh4OZSsl8ngPKJ3XPmZSwUQ2jx5lNwNzbaghekQWpvuObt7gY + jVXEJmlAtwokz1Rzyc3NnkRhZhbHZqCvZNfAMfIe6jhMmv6oxH2aEIP/0OCDKdc1zszUwu3mGmBP + 04IbMpW3lUOfyZZ03l/UGJJKF2Ls53sNmNtEfSKxsnjrMsd1WijJQQSmM+Q/kMf5W/TaMAz8WY/J + tF78ll4ywv4XYxOdRF+FNECcvN7m0enY+N/kzB9qUbEy6stbugtjV0VsNfZ64/BRycFq5btg0IyP + pBYruKWOWNkvjX1hcQ4A3TB75+yIuBpBfQIWFfhgR93iWEFsH1az89iGuwWOW4DnfD3Ql4/fXNlu + eZAUyp0PiRtszcCEin3SpQHL3ZubJM7ttCPa4rU6DOrKbF5nbo2+zDda//K9GsdJ3dfL2JWzMobV + CnH13Q7QDn57R9hEs3dNzLxxJCzNugmfPbEfrGCfgT6KLJRQL9n2mMPRko0Bmw3yQZQ3g8mTS7nZ + 2gOmBN4DrauGlbE++9vYBO6qsETv4Cb6rOiUcqXLk2x85NrTkAVTDbiDPSQO2/BRAhuMcWjcBemr + eET/j/YMUMZG6w== + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=2-bracing_population-msg.gpg + Content-Length: + - '694' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 12:50:13 GMT + Etag: + - sha256:0eb9dce68e5dc9f9ed72696c8212a40bc2bf63a371d51df15a442d7240412dba + Expires: + - Tue, 25 Feb 2020 00:50:13 GMT + Last-Modified: + - Mon, 24 Feb 2020 11:39:30 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/9010b9cd-305b-4b1d-bbdb-a679867560a3/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ//SBj58kK+d2CKxr5HazwpgIZoa27juifuhQpcPUbL7MUKu9xd3Gd/frpe + /oJkK0XioKa01uxPIOmYfTF8lDGtzs0xPtqRgmw2LXRGzA4wvEws9awgFYuZcGfqfQan7yWvdVsr + 8FircmO0do1x4TJGrWOA6bRsZMGuYrcB4ZTF5Y/7oHULkGGzWyFy/dbwXcihu0EVGyLMOHF2a8r8 + vOk6IzsDceQOEwEJwlhi/4NjBNSRQTXm3PeCClu4Yo3BvEnHQ7S9sdNIWUhwNUKU5ck1QMKi4nye + iFu03OzTrOW0Th/D6X3HUhg7Z8Q5I+5YHHR9s4HdUjKLntgFwjEHb8AlSX3FMNE3lp/lujXGcGMI + /gsC4xUqEuvuLzbiR21cEmH4hHqDupaX+1/LtggGEIiWvpaCakAZJWTABmmF+KuTMl6refNr8YO8 + Dp47iysM41uLguzidHes+exPhuEBsJH6gubdAkcgHuMr41rmXU9Uob26kCQY6lYM42LYhXupQxro + VAl0u0EG0iKRDLsPYby2Up5aHz7O14R1QMQE2ojYrfn4e+Wi1gyKeZXS8qGttfCYbu6QcAxsYswA + K9vbqtJ5mVrLHzarm8+1b4MWD9NNwrygIY54jJcq5ZA+CvBk1CY6kTcA9cvksHU3UVjCO36VyCAE + RLaCSgirdVqMn6Rb4nvSYwG3h/wdgOI+fytfGJVAa2B3wURoQ2OYm9jwU67VMrGF0G4qIdALmePJ + s6lnuSjFcTm14fBZaav9hvhe5pAK5prDR3X4mx6QiUJmYDDBwcjwzaY6SG0fK1jtw1H7bI3rwdw5 + xw== + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=1-incalculable_glaciation-msg.gpg + Content-Length: + - '628' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 12:50:13 GMT + Etag: + - sha256:3325fd58fa144ee8f0619950d519c042fb4aca4d7fc51eb319a12ad4dadea08c + Expires: + - Tue, 25 Feb 2020 00:50:13 GMT + Last-Modified: + - Mon, 24 Feb 2020 11:39:31 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/8552132d-a6a5-46d0-b078-d6d1b15a16bf/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ/9EeZ6RbxvOzPQY3Z5CM0xnQTk6xYPu6EaTOja26ycRhCJFGQLdfmnyful + A3fnNlJgGP2kOO08a+gVWq/wf2rpl6Y31UvaiHyFki7kmKCWbR28F16ChsT+57/nLqVFdvy1TbQq + pb400d3V2l/q3ltL8D9MI6MaXp+TUPNSE0wCGSpc94L8vQMJme+gnN1BVa3KvH9CD6V81JUr6o9D + +NXua+xaesJOE7XK1dk8ZOXX9u0mPQwDrdnIaysxfELPos92jm9R+lhSOTN/Y9A5tcyXivzFSID8 + hs5Q1yvGmAvdFAxppy4POqaFOG4Zj37d65ko7IUO8nczOXTiGTI1i7TasTraXSeoPWiG6PTrxFp5 + 80r5uEgUZOz8o+ymRbtcFYNMf2EFvFDyrAj0Gsp4GnHd4mxS0qxJWYASHrwD12wgr610bsDPvCIG + 1ZYOV/E+cuxRflDXX87oczYlbLpVkMtzyPvl146daPr1vaddbzTcr6q5585BnWnH4jpAajv/L3iT + hhQmiW7p/WaFnUyTdmLgAgteO8rqLebO1c61prQsOm3muvfeDmqssmPUmypEFHB1IBUt1aWv/Mm4 + r/eZzVMgQqtyc6GCXAVKBB4+l4kO77hOJI9zZgV9fPtq0zz+YgaglXvA23SEoC6BCgO+dfN9RGf7 + 7RPGM84kHxzapD7BPwzSpQEpwnwEykOAIMmKdnEiXYyp0qVPpg1SfnZkbyyJiLWcbOqAeFu62igV + zbnX07Z3P2y+fhyt0M+S9eA9+H6HN7mxk6eoUQR6sSYWaf15kEE7hB0hnXzjJek5YWHRnKOKvnWo + ybCDgHO7mY+knzBxXtDMjXAuMLdwrlizz7998ZVON8vMOBk2xFx959OCQVarBtk9ufpTNbV1tp75 + NkRnwZ2Zfcmh4w== + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=2-incalculable_glaciation-msg.gpg + Content-Length: + - '694' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 12:50:13 GMT + Etag: + - sha256:97076c8778552a41e07bf4ba57c28560fbb45837bb7f36a96ea06b5482100106 + Expires: + - Tue, 25 Feb 2020 00:50:13 GMT + Last-Modified: + - Mon, 24 Feb 2020 11:39:31 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/9ad72b34-f338-43c0-ac69-1f560331c9da/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqARAAtEHtDEfC4TrsoO6c9VddI3YeTSJoyG8PihohW8YhfgjAmv9j9dHMmpu/ + vQPnm2+DFYg0Mgi4F0nD4f9/cTnzc/FAFD21RbF3aqffo3yn3sV7pF+HoR0Pv0jLlW6vFn9LrGN8 + 3nyiNNFy9SzZK+qMw+TDx1goeHF3dQvKgrJyzfTY4cdeyWTnxDGAYCz8C74w3ynvL0tEGUapvlAE + ipZrcU1DMZtVhzI3vxjvQtVXVeFdv0IICReo6b71SUQh5KwhXnHaRlYg1XssbegBJO24meYQ836A + RE6tJbCLGOd3+2CXNQlKOUorTjhpbHk/xas+AhjfLsOJfdomboXUrtPG2n+4Z7S8b2zH4IGRI7VE + 0MseglWvpBhRVB3zenSDtibq3T1P7pusemmPkyMgBBBUpbNU+TGu1YlO6uagw4WdiB7+A8ahj9Kv + HjmNlRJHEmlrDOOZ+Dbgn/Q4Rc79ShigW37sY5GGNfZaPZr9V4pKB2yDU0AmXwzFNhaiOWw3AAtD + UdRZ8gf6E2Os8xSa0O+lsbtNxDLhW0azG5GF6Mmoq69tAnG3cCI9ALzuxOtS4YcWQ8G+b/ZT1NTP + mIm0jSvq/XUxJ+GR1pO5jxbuObqKIK6P3Un0wvBXt62ISDv1AFFrZsFP7JtopwhVwMgPm8zeG+ue + O+pvJFENLdpJ2zzAcs/SQAHrk61NZPx8aFfM6G31jo6/SbYhz5lLC5Ttv4zG81+cAOGXk1Jol21n + nZTLeeQPljrTiTiRsgM8AJKVJF533q0= + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=1-certain_iceman-msg.gpg + Content-Length: + - '593' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 12:50:13 GMT + Etag: + - sha256:42770addc91e7780d3ab97be4045e93c7997960fb47660fdd83297746a3082cf + Expires: + - Tue, 25 Feb 2020 00:50:13 GMT + Last-Modified: + - Mon, 24 Feb 2020 12:48:19 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/replies/59bd5d9b-9eb7-4401-ab50-7b3d32d84750/download + response: + body: + string: !!binary | + hQIMA4Dt+h2tMfYVAQ//ePtSpB7fRifIc87uESdS6EE6GrTIGCAISD/vAWDJRJ5n8WtprLL1Sask + 5PVhGCVuygEXyACFFksc1h9sYSQuMwCO1vX0ryaFhihU4cWEdycJZeEBFBZTeFggXhtg31PUDCoC + dCK6rAqmIjvMHe95rHN1O585i7CL1XL/gI/4Hu/f9qHlSVMt1NGKkt07PLNUWYqsnI3h70YYsg2j + e8dG+c/9rK4Qm0roAIKWjhqUpIFlBKZim6P+IOVZtYfJJCOsRdODaVAhR5QLeFD07ZS9l2iiwKIP + afdLQe6pHhuwoY5ApEwe4xfj5ArocasEKZtvsZ0Ztn98fphD3WHGh1svhV9L3y0ArXeKhYBZbmkk + JroZvHiwa6kEw/iw7hqhBEJI/OH+bDZ31JqFxh2rTukElvPSN8iW9lM0iwSVyYTMND6S/WYnZ+dl + OPYrihq2VJOU5uz/mvJJJqc5jOH0eMem7q7kvUdzK8Q8W7CzLMNbh/3WakGYelYpKJuvo2G0H64H + +65gh01iy5q3EnXgr/cSRco3cgVYOAGjbyyZKB6DdZXq9kCaPCXIPX8SI0ctKi5np/RxuGsIcb3s + RRkR35QhIaDUaAByfEZuhrOSksBMgEb9WYIm3Pj9FH1rNCKkJYAQXlxiXacbFIUMcns1ujgePaAO + 2Ol4fkvay70fSpOyGLyFAgwDw+fEwKIgGyoBEADRWTAnAchYD6zZfQFfKxj094kJAPhF3QPVxB2c + OKHkD8Hx01pwRfqslsTgDOV6z8edXhoI1kBfR7Pyg5svnbZsHq7gt4cPpQiDQsFbELLDaL46mAKa + AhXLE0jmpx89R6m59i3aInT0HzrTSBHODV+v53rb9NS4kUqmzQJ7S3w4sH6EqNO5mBMDqwMt7wLB + /TKqQqq1E0IPVSMfzV+YSiuGsim9HK7EuhXb5ReoWQEZSSYDXasmkRutaGii9RNPCLpT6eZofnr/ + /ZrXbVTkbskDhefAC+w/6RwKOblYgjhkidzOa+gB1/iF4S0wWnDXiVc1yL9+LIehB/X2BF16DWC0 + 3qEd/nrH/uQaGfnIWaA3n/sXH8kNMMiZMkzJ0PdCngCHHsr7QehjizRZjiLDx9MZk03O4llnsh32 + JuvJV+AEKKB480fdXZt63BGcbthysE/HstagLAl1EuW1K7I3Xb+fMA+qnEhuRVKoAAz50GQss++z + 4DDWiRURpUtN0Ksmgo4cI3lxarMwlHAQZO67kj/Lo9HaLmAtt8918IdBOdXx1Xy24F1M4qsZVH5j + cEsMWNZgRE49cQEcUO9hmmGoHioAgXQ/esw95UpGfWteQmaBpftRcpWichhfKPhWU+dciwDKN57n + BaHIN0K+uhoiuI11Wp+IwLh/ZNjAQf4iZa9it9JeAefbjADuzQs8NUHrnuXNx2ZKcwC2jFSnRXM7 + tFWclgWp6p2cg3zZfTvOEKi+fV6G3JXyH+1/dWRQ1kYTdvQcAinwKCm1d3yUTQf7+SfcJMDS2Q53 + gR5kmp9n3bP3BQ== + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=3-bracing_population-reply.gpg + Content-Length: + - '1150' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 12:50:13 GMT + Etag: + - sha256:eb6c5fba9ed0b5146ee8f1e5433def1f674f71984562fad2dd20d72cf48a8684 + Expires: + - Tue, 25 Feb 2020 00:50:13 GMT + Last-Modified: + - Mon, 24 Feb 2020 11:39:30 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/replies/069eb5c5-f1a6-4cf4-9421-9ec72570877d/download + response: + body: + string: !!binary | + hQIMA4Dt+h2tMfYVAQ/8CfFmnmhJSKT6yO6ELu0PCWN2sDAuXtcLsNKecx9nA1UklIVE0jQ5DGSk + F/t5zVmn5D1dP7HSsUZYj1x4F1qaZv3sw+suTTvf9scnpmbeLdjhMorPFgKZQ1TSH1ilksXvmDdZ + vKL7zYKPdg4ZeHyAsKRvX/06CXIn9ij3SMwt+J1qsZxnur1rKS5v9KB8XrGSKzfvKhZyrRsWo8r9 + blttW0HRmbwWQYwU3pt3Lrnis+r23+GPjiL7zJaVjOEeaRt4iB/SEd8dEZVIRsUSsh+tHGL708Lt + SWTGMIYIw3vKqCzPk9SwDs/GZb+oZjsI6pV9wxWw2uKb+pbaxCnTYmIoj7IisNBovewRrEnBP1LW + JWI4C/cJZ6a7twAJvZSfyUUBlW1oEIERl/pAgZmvwv6aoxlE5mPFEqxjzrX85IUOMxtWpUvu7RBe + 6fkr2tCngBhqHLnYxKDiYSrBSgMy6LQO7OsnsvT6hUlc2hiPJHIe9xfeo1FMlv9gQ5ocyM41SEEP + SDSZ9oKrMku4BKcm5u4vtvgcMf/DAX7L5Woud9v7O5tg+Up/PtdtYdwvBxWMvhTCdOIPb6I4FeDr + YjLu92AqZ3BsCoGWnZvDb4H1QEB5q5FtiSb4OoqWublO40D0w48NEtG7QRzf0UXzJhqu88UM0wal + FT5e3zH38hiQwyV9ESyFAgwDw+fEwKIgGyoBD/0ffpo3B9lQCSBbVAfmi2jwzgz70ORmhSgzDbrg + 9xaUEc8xq/wt1UpJtsB7QLGD32yDNdYsi3O08wI+oLGvRgCXDozZUPKWj5uCK1ye0KmpzWh2dVY6 + TMKuP68P7aYaMaR/1vzw4kVOnp7eyhLYjebYWpbPsWhvtq1ZLlwPtoYmPOh9TA/fKQUYDB8BSI/K + GuBPuik6Th9F5DrVIRowJ9pEuKhktXlGPjEIKrNelHXZQwWeZp8Dur/7J7UipWv8475PxzYLREA8 + CwTkLxgutwfCxpd8FKv9/3uE50NBJnFAbAdfJdfc143EAOR7ajdckW7p+tYWttK67FLE+Aq4/8kN + Q7Hxwn2D/znMxRVj71jKyBzlT6/UFF+M+RPJHfxUkFBwuH7pvaP99mzK4Re9Mn8gH185+delcP9F + zlea7BoNALSkUyKtcnWH/oySPo0UuVdjZ6J20KC7V9H43GxlGLJ25QWw+qLJbkSpGTnxZ+q+5bgb + pURXtx8J2H9ILQkgintFnUZePizIYmszvKvpIRCLLwoPc/cUnxvLWbVDJ2eXSyTocCjXl3vjbi5n + dx/hPfnHvqm9dDLBalW/FgbmcTUZ0dL8Ke57XwxlDYEku2G9A95O1uAV4iBPQPPKn77fv+Zbomeg + fvDbHKLKOZ96C8EL4mK1RzqT2F7Q8h9yBLr/wtKiAZeT+trMQSsVz2QuUGyb6YGsKfRalBmw/CpG + PVvfN4QDQgXH3AVtmZJ5xXc5trXkLXMpo/va41LN5VCKjbjE+IMGvt5yJ19zV+lzuEYCWsddegKC + BEeKj3Ht2uVl+K4XyY9VOaFlunx3DsjAM3y47Ap7iasCBG4yQLgdbG7Gkhtbvxo0q7VAwba/CCkn + WdnEnlrpEBuc+k31s7D3X1KzP4Q5 + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=4-bracing_population-reply.gpg + Content-Length: + - '1218' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 12:50:14 GMT + Etag: + - sha256:b2ce0617dcfeddc5583889b6ae2b4fda3d28aa652253f0408b23b2cc53027222 + Expires: + - Tue, 25 Feb 2020 00:50:13 GMT + Last-Modified: + - Mon, 24 Feb 2020 11:39:30 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/replies/6743c4fc-378e-4ca9-9f5c-c11df35afbe1/download + response: + body: + string: !!binary | + hQIMA1Dt54daawGyARAAm4LMZlZWlGllUQLg7Wdxu4TOaRAvsB24D7KsjtZEXULo16jm+2+6fvch + yhn5gEbOsydLzlX2IgPjcHkDabawo4zsFx+mYvDUcbHz/QgnwYNcaDYsgxVe7j83NqxG/1pfL/lP + 15zokunaJTUBamSSgVv6CN3inakI5Is5ZN8837XLLMfdqcBpW0uytrOM3bi1See/Or0NeZCHQjso + IjsXYrcWGD2tw6Fq5knG/nin9iRvyJFvKdf0L3XaNj2u4QGmUzxMuhLw0fAyPzH/+h3b0JhJGkaw + skw9/6f/2osj5YoDapGXi2PkheOIo8ViRHM9iidVYkLwC4vicXtuuyTRfj9yzL+DhqeIFEuVXS2k + ipZ5NMetR8+9SOtUfH6QWZ9EqXl4o0f8YOdc1Cj9CJiQgbXAaNQi/p4BkgYwya15EjUPh6O0BIja + 5eEKlLpo3lb3qMtvKkRROnCuQYRjRd3pvfYIjoviHB18beXU4zsa30J7U2qpm3jIA94E2UchrhNn + +ge257QNjq9V6WVPYZq0PmJVEu6nyToX7reia0agMdreYPGbW2n4tyouSqLKr/c1IB0yXl/Btf8n + 7auHZN1dKwiz5RT/THjXmB0XKn5KGEmFRdlE6dJY98LBT4QcgeYsYZ1TtDsrT6Rhp04gDdsAZd3x + B/ddp8Nrpne6MWk3w4aFAgwDw+fEwKIgGyoBD/4//hO1/fcnxwa9cL8Q9EV/QT56iVCztkvNfBIw + 8g13AdCfp+zHCPlSQrMgEm30iNCCcx9H5qEfMEGx5ZQg752Wf04ubimAh76YmcgUni2IQKYiuFKw + jPzZz4fBA39q6XT8MjCzzQNzZ5gfIaLjhCZfhha92iDUzk0kzjWcsHC1yQq5y4BWOYn5Sxpbqz2j + Z5tndRU0OZol97d+EO9hiid/tGvOJtFe74WSRJv3G0zBAl9fM2USDq/SPNyCXmAcx8aUEIzVL66J + m7KcdabAu+tx1Fis+jL38pzL9hY+1gNe+sA73hg5E0TaIirwLsPauqwgJCwLPwiJklcP/HfIW4Ir + SM8fhwK5bY71Ww3cBDvYPn9jvpQzFAwSIDAkm58nJ7xBuU4P1eufUH7sfmBBVFrnxLhfDxKo8T4i + IbUfvHrrX0BBuKAy/RY8iJZknWt7TcG6WjfeQ/wm5R42sw8uwZPgJ9ThCywQwF4+DR+NbZZ6VR5/ + Irpudj1RCMQLmuh27EOfaAcs/yIRzd6OJuMtkDSBet6PTOX2QHUvjrbW3Hx4huMF3X3Vhr07tz35 + sh2JnVnlza53YvtHjpGjt15zUYqn+fetsWcQGENGpuE6n45HPGXCMseJnPz9eRwrVbMpldGgBu5r + 1wYz1zjWTQ1U5NFeQmY9dJOJcIbXz58A59YVM9JeAeD3ibhFUss7o7R6gdzm7Fg+Wg6c9VEe6YLw + EFAyq7pYacZtxgg1R5NA9ezrUfveUWkw89unoDDnogf/tD5Z4W1fzktNSYTD2s+/cPK+4y7+aGHP + TVq4QqDDno/ZLQ== + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=3-incalculable_glaciation-reply.gpg + Content-Length: + - '1150' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 12:50:14 GMT + Etag: + - sha256:3669a592a843705154a358257ab532dfa666ffea5bc0ed49b8da3f3a004e124d + Expires: + - Tue, 25 Feb 2020 00:50:14 GMT + Last-Modified: + - Mon, 24 Feb 2020 11:39:31 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/replies/0c89631d-c0ea-4a83-871b-6b4e65d4272c/download + response: + body: + string: !!binary | + hQIMA1Dt54daawGyAQ//fHj0M++6UHQNF6PqlfRLJFDJjQyDxmvWILfG3w6hQXap3h3NRgcRT6ar + 7xfOEJrSkfXIt3ahosiVZ4M60OR1yvHuontMiVE1qixLgEk/h9NoA3QWwlmtU1u2fqS3xkX9o5F5 + /q6JpTJJeYqUpvKxcqiD87zsdXgok6Etl+LREbNrQsZx+oNCnfuoUb2IVPZL03doUVueQ8GhH78+ + wz9X78wqCDl4izZnCQ8XCqyj5H7mw0fdRWgT2edZiXSNm1WSlXrnCMojub0dPYAmqSM5AJXuhQFY + 99Ya5lGW2/PjaXXTsSOlaF7qvMOeNk80QWaj9HYC5T2CXNL6va71O2GDkU6ETUrVbqEow9j1BS42 + +CyYeJkm0uqi9FxzDpb3iFLbbLCIhLD29lsmTX7ZuhHq1fAU4WysNd+iJkuJSM3DxKlHZ5vbKDk4 + MX9DqkY+tfNPpU/uJTchtR+AySDT6jiqMtmbkcJ6cR9VhqJ8pMufA9tHKqmZQWYPikR/eF6oPrcY + au4aDZFX7ZK5RG7939mqALYvVq/dpweZHJz8ppIYVti/ouSb1oeOVJhaKWRpSIboejy8R0xdUnlS + DzQg6cjNkZLEXXz42UuKWCBt5ozu41vsWtrFjJ+xIPaXFR7+yiQs+0jy6Zr9WNn2FeoSPkTYueJy + +4Skjl0uKieC9eRQ8w6FAgwDw+fEwKIgGyoBEACvg5W6224Wmy1kpX5+nlZSFaA8Vuh/GVGHcTqe + WVWA4yeAlLWfFvePSzJRq4oGkC6/WJy6fcmJpcPu2UlueiAE9kYIM7LU16ZZBDVGIxFg7CWSn/Qt + 7dQR3fR1CB9vOz3drus5UMOCAxBmEpnCOdS3sBbEEm2R2nkgRCSlVPPuKzC8FlbYlUXM7K6l5IVH + OYRfAuTJgLrm4ZXST2aIR3VfDp4sZMT45sAuhkpZEFRb/tnTWR2Rt/nGzKEgTEcWP9J8qZhdMs5C + cPSFnnmOjmi3NQKR8FOltBz5q0uUX7xvPhVNHWCzMMX/Hkl8/jXgcZScW+BkKx01+8PDwEWwZJks + 2TX2BSY0lf+9kGCxZ65srmVEKi2e7dm2UFWFgqvtHNVKGxs2hKp/IvRwOF32pM5DcwXynDgXrPKr + H/3SLzv48emHozGFadqU0xrI32gCivvPQq/v2nJiO9+p6R9MXtwj0EZJowY7tshhPBluInzQozFP + +fyDU17TkGpte/0/InhWIHEvVg9WbQdVBmtdWNvEHgd+rEK+Jc8scJ49Hf7r1mv753DTI5sL2Jk9 + zYz/1h4NAZ8c2nmgmA2HlYJxx/I+ImM7ra09WQx2PXU1QMOZOCgTHlBlXA4aqwwV7D7hFptRwxYr + QQaeS3Lh0xchrt3TVlAouONKSsAgjEK6Fu3F9dKiATfhvWRaZyLJqjOTNg9wVcS6KHWaPq5NUysa + FP9jsIM8DH2RQ5ipp2cZX2mWNRScvFzvQkU3gcMTMt/FuCEdI3DjHk9oTonxKu0808WXPSkvlbz2 + rUdIgAjBGrGOOzRwqcLbyH7UxHQeLC5MDYVgkXSyVv5d+K31PnZtrGUruHfe7C1KYU77VvMD3aGo + 9jygfcxC3OVs4WDuWof5zKZGM3Lx + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=4-incalculable_glaciation-reply.gpg + Content-Length: + - '1218' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 12:50:14 GMT + Etag: + - sha256:feaf5a9de0d1e14ddf5f444a5ad530ed6661abf731560341536821e7450ab154 + Expires: + - Tue, 25 Feb 2020 00:50:14 GMT + Last-Modified: + - Mon, 24 Feb 2020 11:39:31 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources + response: + body: + string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"bracing population\", \n \"key\": + {\n \"fingerprint\": \"4D368CB030CFD1C9F04E1EBA80EDFA1DAD31F615\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEAC3wwgst49KS36iC2F1VIsm1Ao8nRheATmYPlO7OtoK4T4NJUqa\\nMlOK5BPeIAkL4DuaJ7XU56JcfG07BJzoPFtf4ecAVBK7R3bZMkAhza4EE9QH4prM\\n4b6GLFUaBHRaPGKvxbl3uq940KrNUtiZNf1BzbPGn55L//2PTgtIYmoIRWv85ZTL\\nCTOu7OZ+MqNLQoT5kbipBZ1Skdgawj/TM85hpKXm0nIOoRYvAFL3FBLT3jUPYoQz\\nYNUd4B0N5wcKX7Gx7IfhnUJEhquiZA3ms6H5EisDhpuWDeyX9jFcButLeorQKwm4\\nf4rGommcJ1MYu17EMcAA7uTMTwF4w7ZZMcK1JcyQnEqHKsnG7vF5TdFeCEk4dEfN\\nfnfsRSudzpYAJnQV4WUH0tcn9enE6SB69IAhVfQwIG5FwGvGK08KvEIaIfbOytEK\\nNsM+sAOJb0S/PSdDG6Dy/hDFfOBPWXTulvvXAoVL5bME9UdguvYm67Iha6oDUVHc\\nL5xvcPt93Jl/l8C9wHKPVjoXl5UNloWjpdRFzwZG8IaMfGYvn9WcQLjvT9jmEmue\\nO5t1efiC+uiHtbHHuX+ds0GGVPTKDycxyDxI1AkyElM17nm0GSJnHVymMkl8SvNL\\nr8ztqJYoChL6xJr+1V4DjuQLVR28B0Exv891wwRQZJHl4yHYCyRGHDZ+iwARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8SUVGV0lHWDNBS1oyRkZPRVJVV1BZRERKRDRS\\nVTVLSVBOUEQ2M1pOVFNFUEc0RkYyQ0dTWlRaUlA3U002SUI0NDNRTzJMVk5aTkZL\\nSktBVVNOV0hVTk83VkgzNUwyQzNXNVRHQ1dTST0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEIDt+h2tMfYVIJEP/0FRr52RAfgR\\nfdTPO/NpWtXV3mAlFmFDw5Nxt+jqGc0D3dcuDoATEilgBGqw3z5Amugm9A4qN+Mp\\nfutUT1q5b8oaDTohM5C/CAIgACYr6uA3Q1nyzkSZmAbNATNS/CXNBSsM2tb/CwaC\\nrj8EZkGDiE9qTLcdmP+z2ZqufuH3OvhO7gP+ZvYJJwai55+1w0u7kAfXGIUrAUy3\\nbRltHIRaPoESq9/09yvoc+1yPHQ3g6p/kBPQd/Pq9jIj53JVvOrvVHlXS+atCXsB\\n4hOpe7FJt/2h1q1MI0zDLY3j9IBXYpd6zI4kZi1iIZ/zWaTENvW2Q2IC6Yj2z4nU\\n1BDgKFJgQnP98JsTeUh7OHSfoquSCtRSWCYxZ5CfSgTw0azQ/4rjOkmgVKEAVO4U\\n3xdTshUjBuECnNRd6LNhz6Bh89rNK+saOunC/xmBZ4zfjvYpoyZq9cy5/O2iU/wB\\nsfnoi8Fy0F3hTjWr4+/xBJ7NRWK0WZlNspklcmUShwvM9vU199hP2RaJjapOLhjL\\nIJnUySE9BdwHugLxMHfZZz2M7slBUWe0yZ6LtEdyZY/A3Es5mv/iUCW3PDeWXBq5\\nGb6MhBx/UL/CO7IIOX8u+05IJEzs+wq4ei1rwAEbVZe0NCxLY/Gg6vaeCazaVcZs\\nFrW00uKSGxw+vOZquA9tdDRGnJUMLByJ\\n=cniW\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-24T11:39:30.647449Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/remove_star\", + \n \"replies_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/replies\", + \n \"submissions_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions\", + \n \"url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", + \n \"uuid\": \"9107a14b-0c96-4900-b0b1-65b7f39c5a27\"\n }, \n {\n + \ \"add_star_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"incalculable glaciation\", \n + \ \"key\": {\n \"fingerprint\": \"1E2236AEFA14B28C41A7720750EDE7875A6B01B2\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADBherz3ZtIi6WxqeSf/Gf83qBHnmOaL93F+vZHravlj4KCyA3H\\nImHx3Bv1EqCiyCwx9RaLSnFlVI6PqSkr31kzXl0EVY+dU78a1GjZpEzCl7vqVVAp\\nv53UIWYiCT068hdNvaY04oNHar3XhvBKa4A7VUjAsI0hiIkKCOTDSNnT/UfcXIV4\\nJYAJDNDdeCp04Lg1I65LTR5PbGrlZTfSErhZhpegE0mkC1rczdpP4gWbTU5PB/QP\\n5EUK71tcURj09zaMeEqupqi8O4ulKRzlZfj6F/c7svkJ8e7Ge5IsIk9d67KfhZvo\\nm7vJI/vBa7mzOiypleXK/iXk/pA7joNWACC4FccQlQC3cSVUG4HJmHduY5EjICIX\\ndCXZSR1wG4h+3WxKgbL0mTv7QAlKdrujKyqmhn+JI29tcqcJx1W1i3mDwfsRM68b\\nzL2onMAbhI2jfqFEgXJaePBXACKPlCOKa0UMAWYjygumM95CXD4bRvtcXZocrach\\na/v4ZdXBoPaMfWOwC6U6f95yWDt1fMRxwJcEPeswSWixfgD/5NqafeszQSZafH7o\\nLPu2tODlvIFs0DXUlQo1XSFr40yl3LSTpm8ZmxbGqj7kg9GVtwGT9Kht1pHUUPfe\\nrL1cOUM3VEyr7wGDnFDIbS+GYhNguLXCw0vSh1WN2d2qwUBLtpF2k4Mg9QARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8T1NNUk5PVkpWS01ETktTTVkzUjRVVEsyTDdY\\nTU5aVUdVQUdCNVpCRDdPVE1DWUZJVVVES0hMV1pJQzU2SlFFTU5UNURaRDROSjVN\\nUUpSUVcyWFlKQjRHQlpaSlk0RURIUlZMM0pNWT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEFDt54daawGyNNIQAJm7ynrvStO8\\nqgC/E3xWoIEWBjZ6FWnPrWuVOdOq6XLCPUXtiJyybQpXaKdISemFPVPtlyzGXIw6\\npoiJ8KO5GSzy/QQNf+iBUxMDxxzEoTq6GKWQSEJrgvIuaIdOqYm2EjBuwCYoOIit\\nHRFs/3kn89gAlFpfe3iGIEfd3ojyxnTyzvKe0eivUexIQ0Di5lYcR3tH1Eq7BRjt\\ntgn/8pN6nDLoLyfAcUD5E80lopA2CXp/KIUQfIWRd1WBfSXqju1LYHGN+fXoAWTY\\nOUrFw44xtnHGknyh3mBIBA5RT5LWh3aA5FWZKibfPnxa0Nuyklp9sPmGxCT45/zk\\nGn72guXk8W+zWl4AqeFb1rVOav9Tdjtsnsievahgy8A/JsoCC3mu6PKR7h1BpW7q\\ne5h5TXx2N3GtOvQyff/qA3yHhwMDTyT0Wg0pYZ99tXdUMCaRAMtC8GeLQxNlJdio\\nZ/62YjVhbQIzph0QRK217rfRc55ojl4L74zIwT00U/P/EcvOxTHo21W+SoRQ2U68\\nXn9qjtDYARB/7DOc9hpz6/fzc2inRyNuvdF0RPy3QK/fbKmSQx8C1BYJPR/Y90yB\\n5/cyJHScWEsnMUHsQNrhpowNSrvK08ohyTAm1ZA2kBHggZ49FMK3JB3mcT1caw2L\\niG0Nd1t1KeVbkLuSph23mIFvticwlII+\\n=j4Mk\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-24T11:39:31.673199Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/remove_star\", + \n \"replies_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/replies\", + \n \"submissions_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions\", + \n \"url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", + \n \"uuid\": \"b1060583-e92c-42ae-a2db-ed87bfc597ff\"\n }, \n {\n + \ \"add_star_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/add_star\", + \n \"interaction_count\": 3, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"certain iceman\", \n \"key\": + {\n \"fingerprint\": \"22B24948D0AC0A209898AE9B4C8DD10DA2399958\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADEqEvEhjRVM0R8EhTSYQ7T00mW0VrC9Z7WscoNcnYYJGJMuXSz\\nkoYZ1+BIPfnODYWvLZS7UD2njpok+cBdud71inspuhz7O1xnsiuJUtakzMvjeUv5\\nJM4XviZGELim1awVnbJ5d2mOsSdAWuev+UbiNvM0VczxV8+dYljIMYrAvDbXcHpU\\ndeurrH5uS0Q/1Pp5aAqADOJIPstS0j7xoPKu+GJd4PQe3sT5mrRANpssF3N8KwoC\\nghajAyU9nY+w1R17NTcCtzJfeO2j6XQNteZidmBkmKexkxwlEpp3DKWd/1/0EWr1\\nD0ae1PpddNcPsK2pwNYhC1VCB5i+WQBHblI7NBZ+s9f6uYmlN3IUTuzAIJbIYILu\\nj2190HtS1PZFFsbc0d6Ke80mC9vswedu6vnjLpLXK1zGR7zd5rHoCtRhBAkxa/v1\\n+T2GTuio7aENtAymy31w0V9HE/4FIiq6I7Q8y+M3+n8cuEAjJ+YdqlWpejQZIBYP\\noK7wIADE9Lpoj2zFtMX1J+Wesp5w+FC7SZleGG+Z3ehTwjDbQwjfSOOPrgYmIYDj\\nO74j4WGfHRiNRUbbedrZdt5EfsiuQ/gGJpJWe94PyvRYfLakOtRVngc1bhpm8kkn\\nqNp+DMvqdDVxsioa+wEWk4FuanjPD21IJbTGCFg2hz38QbK1At5KZv0MkwARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8RkdIQVU1WjRHM1lOMk5HTExKM1EySU83VjJB\\nWUVHRTNBT0FHQlhITTRJQ0Q3RkFZVFlEQlo1SVdBTjdQWjdRTzI2REg0WUNNVE4z\\nSVpWQ01WRlNaVlREUVlBSFNVUENQU1M0RURXST0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEEyN0Q2iOZlY8fIP/3enlkjedzcq\\nnwxWruBgzxdH1gp+Y0o2yfn9AQus9MciQwKjSPhq0De18fDhmPnhU2Qchj1XSLFo\\njpzGoxtzX504SX6hnZIKYGAPT5RAwrF+pd5iaPC7DZCLiR2ZhPXCeJdMBx4xTzch\\nCL3moz+U0I37qtMMAXaTRgjSdrTSsuazenlWpwDadEcYyMVx5Uya6092Hk0V5VRJ\\nJEpIMqy+YGNsOs+0gXr2jevCelpwVE9WTmaxG191a4597Ie+Tq3s+9eaOjZ2opyf\\nITbGkf+2Vc8+5xZDs/uLnU+bkRYrA7WjHu/6a3dIehVEgk3CIY1rxg7BKNMyMAMd\\nHlV+sjrNSAQvLPRpjaPJCuyCO5MDqW00aepJDMN6iYM7EonWMGBa+JbCy5/g3sWm\\ntuaPEs4inDGi4tj4jBd5kUUkbeuXcDJIP/MHcaJQ/e73opisscPEb4A94ErRKWHL\\nJA+WKfSst/nyTUYBj6aIV49F/n4KVLto5qvbXLj+ACXaQgHyQZDw1Oo/T075yBzi\\nbDuIAmKD72ZLUp7OEYuaUTzJrs5yP5kygu7mp2awxrya0LE8uFeQNp47OgOdDrIl\\nuZ6lgF2ri1DzAFsWPcg+6BlU8MFYelKXv92FgrIeD57OZghX+k1das8Gjvkcwb/2\\nmZdBt81ZebAT7kKOeJPkyXA52gmUY9yA\\n=4PxQ\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-24T12:50:18.973787Z\", \n \"number_of_documents\": 1, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/remove_star\", + \n \"replies_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/replies\", + \n \"submissions_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions\", + \n \"url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a\", + \n \"uuid\": \"d9992fd5-2d32-4fed-a619-30f869798b5a\"\n }\n ]\n}\n" + headers: + Content-Length: + - '8017' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 12:50:27 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/submissions + response: + body: + string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/b9a96403-e68f-43ee-bebb-41e354308cfc/download\", + \n \"filename\": \"1-bracing_population-msg.gpg\", \n \"is_read\": + true, \n \"size\": 628, \n \"source_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", + \n \"submission_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/b9a96403-e68f-43ee-bebb-41e354308cfc\", + \n \"uuid\": \"b9a96403-e68f-43ee-bebb-41e354308cfc\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/52daa27a-6250-4ebf-9ef7-7540d9bae95a/download\", + \n \"filename\": \"2-bracing_population-msg.gpg\", \n \"is_read\": + true, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", + \n \"submission_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/52daa27a-6250-4ebf-9ef7-7540d9bae95a\", + \n \"uuid\": \"52daa27a-6250-4ebf-9ef7-7540d9bae95a\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/9010b9cd-305b-4b1d-bbdb-a679867560a3/download\", + \n \"filename\": \"1-incalculable_glaciation-msg.gpg\", \n \"is_read\": + true, \n \"size\": 628, \n \"source_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", + \n \"submission_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/9010b9cd-305b-4b1d-bbdb-a679867560a3\", + \n \"uuid\": \"9010b9cd-305b-4b1d-bbdb-a679867560a3\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/8552132d-a6a5-46d0-b078-d6d1b15a16bf/download\", + \n \"filename\": \"2-incalculable_glaciation-msg.gpg\", \n \"is_read\": + true, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", + \n \"submission_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/8552132d-a6a5-46d0-b078-d6d1b15a16bf\", + \n \"uuid\": \"8552132d-a6a5-46d0-b078-d6d1b15a16bf\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/9ad72b34-f338-43c0-ac69-1f560331c9da/download\", + \n \"filename\": \"1-certain_iceman-msg.gpg\", \n \"is_read\": true, + \n \"size\": 593, \n \"source_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a\", + \n \"submission_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/9ad72b34-f338-43c0-ac69-1f560331c9da\", + \n \"uuid\": \"9ad72b34-f338-43c0-ac69-1f560331c9da\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/59f86145-b78f-4996-943c-d5467100b7d7/download\", + \n \"filename\": \"2-certain_iceman-msg.gpg\", \n \"is_read\": false, + \n \"size\": 599, \n \"source_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a\", + \n \"submission_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/59f86145-b78f-4996-943c-d5467100b7d7\", + \n \"uuid\": \"59f86145-b78f-4996-943c-d5467100b7d7\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/aeb8a062-c8a5-40fd-ae73-2594d7326594/download\", + \n \"filename\": \"3-certain_iceman-doc.gz.gpg\", \n \"is_read\": + false, \n \"size\": 12574, \n \"source_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a\", + \n \"submission_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/aeb8a062-c8a5-40fd-ae73-2594d7326594\", + \n \"uuid\": \"aeb8a062-c8a5-40fd-ae73-2594d7326594\"\n }\n ]\n}\n" + headers: + Content-Length: + - '3572' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 12:50:27 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/replies + response: + body: + string: "{\n \"replies\": [\n {\n \"filename\": \"3-bracing_population-reply.gpg\", + \n \"is_deleted_by_source\": false, \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_username\": + \"journalist\", \n \"journalist_uuid\": \"c461451d-8f55-4088-9225-55cb196c7af0\", + \n \"reply_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/replies/59bd5d9b-9eb7-4401-ab50-7b3d32d84750\", + \n \"size\": 1150, \n \"source_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", + \n \"uuid\": \"59bd5d9b-9eb7-4401-ab50-7b3d32d84750\"\n }, \n {\n + \ \"filename\": \"4-bracing_population-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"c461451d-8f55-4088-9225-55cb196c7af0\", \n \"reply_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/replies/069eb5c5-f1a6-4cf4-9421-9ec72570877d\", + \n \"size\": 1218, \n \"source_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", + \n \"uuid\": \"069eb5c5-f1a6-4cf4-9421-9ec72570877d\"\n }, \n {\n + \ \"filename\": \"3-incalculable_glaciation-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"c461451d-8f55-4088-9225-55cb196c7af0\", \n \"reply_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/replies/6743c4fc-378e-4ca9-9f5c-c11df35afbe1\", + \n \"size\": 1150, \n \"source_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", + \n \"uuid\": \"6743c4fc-378e-4ca9-9f5c-c11df35afbe1\"\n }, \n {\n + \ \"filename\": \"4-incalculable_glaciation-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"c461451d-8f55-4088-9225-55cb196c7af0\", \n \"reply_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/replies/0c89631d-c0ea-4a83-871b-6b4e65d4272c\", + \n \"size\": 1218, \n \"source_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", + \n \"uuid\": \"0c89631d-c0ea-4a83-871b-6b4e65d4272c\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2279' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 12:50:27 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/59f86145-b78f-4996-943c-d5467100b7d7/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ/+LMh3PvmNLsrcY+wxBO2dbESXXf9bc1rFUapRnzLKORmi/8TkIiQNjYVL + NAYNuU/f1qIpDjVOwtG5i3YTg5RXwr3z/GCF1waclYYN/+k1yDmOztfuEaGB1/OkxYeAOjsc+Hhu + Zi4h/zbhzHy0XlBj5iCpvetAPrQHrCjjZOHOnMoYH9mmc5DhpxmHRu97LDY6frU9+dBX4onfRvFf + 58DoVeLU5y7ubApTHO+Ph1wZNWqrQBadvn4+s38UJoeYx6Kul3Q20oCH6cIFa4g0B682GORF5i+f + 0l5X3+JA4MmsptTNesVgWdhq22GJD0budeYX9jtdbPM9RNnpJ7yI4MwOgvHPJ8i3pAEuygldDr4P + iKXifKX4WOd7UkgVvHbRvErUFIpVFmAFFd4aUswl4qMf2crmRsHo9rHqNWvpYPZRaI+wvne944rB + aIarUVOPy6iitS8ByTK89kc6cmtjnbFB9OydqlWuCE5fdpyi35dHNF3MTcMFQrFSRDGLkd0NpZ4c + IraxqOYYDrlGyAjm0vldkJMG0YpTGJDGgTWmRAycLvoQU0n9vAeJazvohtNWFjwiOaDKJXqMl1xw + ZUimnyAYybXBv9bLYCN/M98BSeQEP/udFet7cD9xLxs6E5EuzRaI6MKWLingiO2kWfqp5E8f6oKc + H079XXv0xVsTdCKPfuDSRgEyqBrXzVKSx4Csajv6dMA6S9G1hmlABAw5qaI3lB+En0CA0QFOFxGM + nixzXYmLiNxB3GWJyWWoKgFcMHzTox2OHPoThPg= + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=2-certain_iceman-msg.gpg + Content-Length: + - '599' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 12:50:28 GMT + Etag: + - sha256:2c4b699c1451f65003db9435986a8749eaed7378213a242019f8f9bb252a0ecd + Expires: + - Tue, 25 Feb 2020 00:50:28 GMT + Last-Modified: + - Mon, 24 Feb 2020 12:50:19 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/functional/cassettes/test_star_source.yaml b/tests/functional/cassettes/test_star_source.yaml new file mode 100644 index 000000000..9056a2f51 --- /dev/null +++ b/tests/functional/cassettes/test_star_source.yaml @@ -0,0 +1,703 @@ +interactions: +- request: + body: '{"username": "journalist", "passphrase": "correct horse battery staple + profanity oil chewy", "one_time_code": "251688"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '119' + User-Agent: + - python-requests/2.20.0 + method: POST + uri: http://localhost:8081/api/v1/token + response: + body: + string: "{\n \"expiration\": \"2020-02-25T00:32:54.512764Z\", \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_uuid\": \"d51dfb7c-0484-4bd8-8979-1ae3a0b1425d\", + \n \"token\": \"eyJpYXQiOjE1ODI1NjE5NzQsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkwNzc0fQ.eyJpZCI6MX0.vlH5LvV2SDlef4FLm3qI4Uu9-GhZSM42DmaHexDS17w\"\n}\n" + headers: + Content-Length: + - '317' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 16:32:54 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjE5NzQsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkwNzc0fQ.eyJpZCI6MX0.vlH5LvV2SDlef4FLm3qI4Uu9-GhZSM42DmaHexDS17w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources + response: + body: + string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"seaward proprietress\", \n \"key\": + {\n \"fingerprint\": \"91CCE0C339E500F740985D492D296DAF7438B6F4\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEAC6+3RQ5bjpahUhTk0AjsxyyM7uZYrgsV5B2v0aACkBQBMHVYYw\\n1DIjGs9t/6kTdVMYcQ/4gEfpgpQ9yOcNQKWyBnAuyFv2jPXtMa1YiJQ96so9VMWL\\nYbECJUFGWeZ1CaVASZc8cgMBbasYEmQUMHGBJmxRTHW6RVIw/7qjPw4Vpp2lEUfB\\nSc/qqFN6Eropu8onKdVgqW4nQvnA0Ji5Iw2QMgwxfyvcXRZky10EQem7Rw6WydlV\\nRwop0NP89mogeYHtz5rcqbT8req9wkHgAFm2KedY9PveE88xXKDD7G3DsTw+7yYK\\nTMocRxkCnSwJ5XdjysSoLr4J7SerpRKa/34ZqjiqbHEXGPHR6WS2FHJ+Ww2JZwxj\\nz4B5hgG7OlIOmBVoN1QJrYH4+kWRGbQ8SBm+XJy9RYiLQ8bPX8DwxrD4CqlxZnG+\\nybGXSN/pH/v5hALG4I4xXR1nT+HFtdzdpNfxUoXOCFbhbF8SgexrlA5gF+jboQ57\\nLW4wEmtTcTs9KH60qiZdlrMpWDgKY0x4rynBnjjYglL4L/naEZWKeihQbZzuqmcK\\nV8dLAkc75BbKYz4OzlvfiZhAD4rY4HHefcPAOSQ3cLD7t9O372vE0UrtD02jvzAs\\nHtdRLqrAKIlLURiRvMCR86j3iadsas/F0QbEwanYJeY/XK8LgeUAbqOTyQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8TUVZVjJKRUQ0N1gzWVY1REpFQzdHUUxZSUFE\\nSlI0REFWR00zNzYyUVlQWEpXNVJVSEFNSFo2TFRGVlpNQ1BHWkRRRDZKVkpCV0pG\\nT0NZQkRJNlBaRzdNSlJVRE9YUkJYUU1IQTJZUT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEC0pba90OLb0C1AQALifTPs/RCJL\\ngb0blFM1g4+LCJo4/oJpsljaZe6SmvocZ8tmVtDQ3XuiBqOOvnxGWq9a4/o218fz\\nDLPC1o/QcVIAESjkd4BOEZMpb34osUcPTnWAHIS9DyGG3TEOzidiF1ibYdVDuJgu\\nNUFliWDSO+tpbTuPoP6tWCz+XOyBpo6StfQ10PhwJIf0jWL2GR2+A4KgrlSo5Hga\\nVwwoJG2gAeGC5dhZoPjTzkKLm2Crl6SNl3A8FML/Y8wrQ9evvX+W7vbVFS9Fax0b\\nZYwinKx9JAECB2fUPa2l5pQATX2B3LiN4Tr6XO22Ei/CAoja5CU5UlGSN4qzX+S4\\n8Dmtyxbk5bA9bMRSNXyxWk+t+BfS2O1kQP0xSMiH25xNSV8Rbr6ld4/q+e52K0sM\\nuDlpKogGmQWzWO938COSyV9crkZiCMntCpHDU0EVGkMMzZ+NczK6ZWV6FXeBm1Uf\\nQEYaX2LdpUPbufhBX6W3gahL/371IdEmuK3lGvbvDNBhZSSZLr+nZGAybeKcl7lo\\ndSgHuybrSBZHSpjWsLpGYFCNzgvZQ5DEOJ4lKHNfsQlAKlPdlnDBNR8yyplx0qxI\\nif4CQEkfOW87K1g8WLMQG/5UnnKd85qhAzKVe+L0RIuObJ7utCmVgVHDj20xXjbL\\ndASajO7tEWRZnKxi59bTIK3tgIdyStYr\\n=koEl\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-24T16:29:22.323469Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/remove_star\", + \n \"replies_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/replies\", + \n \"submissions_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/submissions\", + \n \"url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09\", + \n \"uuid\": \"9d9a44cd-f443-4548-90e9-e3443e2dbd09\"\n }, \n {\n + \ \"add_star_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"unabashed steak\", \n \"key\": + {\n \"fingerprint\": \"5DC5C88F184BBC6152307F4106C5B3AB1DD5C91F\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADUfbEkdvsdu8di3VtcT1XHcVnkkoA/TVHjvDnJ2L8qiq4rtWvN\\n765KeMIzbSg5H2L4AfsuzBDexWraXwlsKyWwWaBEnsNxx8MUIA83v7iNY66xeCtN\\ndoIcuOl2Y0yzeXwEVFzKSoasufw4lJiWPi1VHS2I5jKRoKy7Wt7LcYBguMdqx6f7\\nu8JIbNStJWJs0xUDEBlWMRGPzUtVQ5CzRW2tRVVECio5iCmR2LkEVXcxSv7WoTxH\\nKpi7xHvQUO1gvRt30pGBHPz9hpb5/bU8pM0WV5L5sBB+PnPxWeTKqeIOMVRpnO3A\\nw7V0b+4VCd6M8sUxplAXzQxCXNDzh2NCyJNlyN+KgwzYo3KxX3cqgRTP1lbM1ugO\\nyGjKZz1Q66MoOxO9VAKe4W29c227h8HxIsZirTA8qVAR0C4hbH4dP8S3eFXmWgP2\\nA9UnKFRhMjTuc5PrS3/SqFtw1z2oNq+bpDRVxNr53CDShzH5b/fbYGHwdtE9ojZW\\nqNnYPz6sc8g7vqZdFopmQN5OoOg/CjfA4CLDO7of3yU9kd1ouklARcvaNGt3ZpE5\\n5/KZ6WWDz8gekSu0Hb47J9Iy0be+BK6iBnCSuL/tL27EYqR0zum+bClOnE/WWVI/\\n2x4gjuLtmwuQ+u6N7OxhUhATIVFHRHaro6UAkWg7uEQDpW/fDl93DfpMeQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8WEVUQ09FN0NGUEpNUVc2TU9VQkRBR1JURFA0\\nTFZJQzcyMzRWV1FZRTI3M0xXRTczMkQ1Rk1HVUdUN1lKNUVYREY0VjVYM1lHN09R\\nQlVDM01WWVRORTc3STJGV0RWQ01GT1ZER0w2QT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEAbFs6sd1ckfdXUQAMQ14Nw6kPlD\\n+wnFAxozEzX9cSf/W5rAXFs2aXZdHTCtN+f0Ks8z89WaE5MWt+jJM/PZVHwVWstw\\n+8UGw339AeqP0vDqcehcxOxovue9xOyutLJMhgVFlSpr8qFUmKHKPEb7C3px+YcI\\nCfxuF3XKGItHglCxXVcOt5m2lP30mtyAxDF4Yk0ow5YSqc09QZdGSCaWoh4IXnQU\\nE2p5Q6v2rVC0GS8ITs4k73t69knZ5GWtNX8ww0QnBrfOtn2q3JBvZVwstujLfi2D\\n97i7orQXVEy8w+wUfKJHHqhlGqhV+AfxYau5iR+QA8zV2QuPYaTrLJHZjxesv1pN\\nF6bp8Ai5jeU6cnseqqb+P+D6kpS0mlXz2ECL32RHzrR/N5W83YlXjj2VZb+c9IoY\\nzSkeDBtgg2JUYVQqkVIoTxUMEdR6xuzdCvXGRTUJXkitSTxY3AIM7KFGyy3lqoBQ\\nYhzb8cSzxMHMJ00WVIY8ohvYup8Ujb1haE9NGnIF+JvrSDuzhGGxOreZkrn5cPJM\\nNr5KGc3WwnJhaeY4UTp7FOjHqlPk4gvUMP2UQQ6lxMmP0M84D9XibFhZUjJhaefi\\nyQuZCbgiK6Xwy0R/CiOaHFDJK7x5jMfUAE+yIMdKCGZB/HOwEg33JVoRcSa4XpZT\\nckTkY66bgiswoQSk2cajORr4HXnX1qC6\\n=emwU\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-24T16:29:23.740525Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/remove_star\", + \n \"replies_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/replies\", + \n \"submissions_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/submissions\", + \n \"url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33\", + \n \"uuid\": \"e91508d9-eae0-4dd4-a594-0dcb5c5bca33\"\n }\n ]\n}\n" + headers: + Content-Length: + - '5350' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 16:32:54 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjE5NzQsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkwNzc0fQ.eyJpZCI6MX0.vlH5LvV2SDlef4FLm3qI4Uu9-GhZSM42DmaHexDS17w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/submissions + response: + body: + string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/submissions/737251a7-1137-4ad8-9e54-2e76e07926dc/download\", + \n \"filename\": \"1-seaward_proprietress-msg.gpg\", \n \"is_read\": + false, \n \"size\": 628, \n \"source_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09\", + \n \"submission_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/submissions/737251a7-1137-4ad8-9e54-2e76e07926dc\", + \n \"uuid\": \"737251a7-1137-4ad8-9e54-2e76e07926dc\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/submissions/6855e6a9-ba8e-4d2d-91ba-8bdaf99985cc/download\", + \n \"filename\": \"2-seaward_proprietress-msg.gpg\", \n \"is_read\": + false, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09\", + \n \"submission_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/submissions/6855e6a9-ba8e-4d2d-91ba-8bdaf99985cc\", + \n \"uuid\": \"6855e6a9-ba8e-4d2d-91ba-8bdaf99985cc\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/submissions/87f59775-ca6a-41e5-a36c-b7606b9f9754/download\", + \n \"filename\": \"1-unabashed_steak-msg.gpg\", \n \"is_read\": + false, \n \"size\": 628, \n \"source_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33\", + \n \"submission_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/submissions/87f59775-ca6a-41e5-a36c-b7606b9f9754\", + \n \"uuid\": \"87f59775-ca6a-41e5-a36c-b7606b9f9754\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/submissions/e4213389-57b1-4b6c-95b1-3c0f3568080b/download\", + \n \"filename\": \"2-unabashed_steak-msg.gpg\", \n \"is_read\": + false, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33\", + \n \"submission_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/submissions/e4213389-57b1-4b6c-95b1-3c0f3568080b\", + \n \"uuid\": \"e4213389-57b1-4b6c-95b1-3c0f3568080b\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2051' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 16:32:54 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjE5NzQsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkwNzc0fQ.eyJpZCI6MX0.vlH5LvV2SDlef4FLm3qI4Uu9-GhZSM42DmaHexDS17w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/replies + response: + body: + string: "{\n \"replies\": [\n {\n \"filename\": \"3-seaward_proprietress-reply.gpg\", + \n \"is_deleted_by_source\": false, \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_username\": + \"journalist\", \n \"journalist_uuid\": \"d51dfb7c-0484-4bd8-8979-1ae3a0b1425d\", + \n \"reply_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/replies/0ee751a7-b0c5-4809-888c-a25c7cc4fb40\", + \n \"size\": 1150, \n \"source_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09\", + \n \"uuid\": \"0ee751a7-b0c5-4809-888c-a25c7cc4fb40\"\n }, \n {\n + \ \"filename\": \"4-seaward_proprietress-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"d51dfb7c-0484-4bd8-8979-1ae3a0b1425d\", \n \"reply_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/replies/858a3bc7-0961-4eb6-81b8-6ecf4d892ff4\", + \n \"size\": 1218, \n \"source_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09\", + \n \"uuid\": \"858a3bc7-0961-4eb6-81b8-6ecf4d892ff4\"\n }, \n {\n + \ \"filename\": \"3-unabashed_steak-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"d51dfb7c-0484-4bd8-8979-1ae3a0b1425d\", \n \"reply_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/replies/22d17c49-708a-4b82-9866-797535096f48\", + \n \"size\": 1150, \n \"source_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33\", + \n \"uuid\": \"22d17c49-708a-4b82-9866-797535096f48\"\n }, \n {\n + \ \"filename\": \"4-unabashed_steak-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"d51dfb7c-0484-4bd8-8979-1ae3a0b1425d\", \n \"reply_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/replies/3dcef402-9c73-459d-8091-a2bf7d325a03\", + \n \"size\": 1218, \n \"source_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33\", + \n \"uuid\": \"3dcef402-9c73-459d-8091-a2bf7d325a03\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2267' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 16:32:54 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjE5NzQsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkwNzc0fQ.eyJpZCI6MX0.vlH5LvV2SDlef4FLm3qI4Uu9-GhZSM42DmaHexDS17w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/submissions/737251a7-1137-4ad8-9e54-2e76e07926dc/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqARAA8YXgGss3s3nZEs0WFMU0gYUOfFHzZ20PygZWfJESpZRR/0uDZkBYDcDa + SZBnXhdlCk+TFlDM9NTaNxpFSKXm1gXXKOo/kwxo2WMYh32uP1FsmUru6kd1VOYZfx/6HGp6fyes + 3qvTT6G3jDDNQfbytlBlizIDHckMX8fJKxDmgeLTfiaQQhQaAQUSWjQn3EAwfcSm/CtKg39EMTVV + Bt+sz0TgQAWxfkypkWNX0JsXPqdhXBLxXqvGGhwXXWTxb8iG8NY4KPY7jbGcfoKtZ9ZrQE3k5ZfX + 4sDRNNFvcbYQJ8eHGFEZcdarQqdIqF4Yo33zQr4ciXNcIbqrbAP84YfWanA1AgGCj9BMxFaAK/Bf + 06IL8eKaza1ga1p0EGO/BB/kF74PRmqJGiZ/XT/VvDrf9dzQXt/a74WHI7N4lcp+B7cmXM2VVaWF + mHdnb8Vev8Sl/0ldMhS4lQtiSLrCRrUsnOMW36EfbOONKf6CMWfwet+lDQjbkyVBoKcf84Qk7l3v + afXBWkDK4p/rzTGFoPqQ3MxgYk4o9EF6f3OIxTPvHNSa/lqyrRnyJtWWXv98+lj3smRg8kZlT7Ur + lER/C7bE+1vP+sJsxY1/0+LtFp0DwIm8yLyfU5LvAnfh5kRaE2QXr3Qzr/Uo1MyDPfbv2zZKkt+6 + 46vplC7bNADgaXoIThfSYwHg/iPi99BGAwZBFjLaytV9KjEuF5mVIkuoB1r8eS8ujkQItGjnRtF0 + 9SEPB96ew4oy84mqECAPvPMDJQGB//F9uPLkcFBQvjXIMQqaMaSXBttTDYAu0YRKnXw3f9+5t9aA + 8A== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=1-seaward_proprietress-msg.gpg + Content-Length: + - '628' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 16:32:54 GMT + Etag: + - sha256:82bccdb4c5a66ea6ffb4cc173a800b43013e19d76378b044a4e6f2ccefcb5176 + Expires: + - Tue, 25 Feb 2020 04:32:54 GMT + Last-Modified: + - Mon, 24 Feb 2020 16:29:22 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjE5NzQsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkwNzc0fQ.eyJpZCI6MX0.vlH5LvV2SDlef4FLm3qI4Uu9-GhZSM42DmaHexDS17w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/submissions/6855e6a9-ba8e-4d2d-91ba-8bdaf99985cc/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqARAAx1B9jB/cK4LKi1MeBWPUswf976/douw4fIq4VrjeBUk+YRJPaDklYiyC + c9xOLj7t6zneBKTTwfA3emkWvzOaRw8mlxB5MHW3OBDCQs5Hn0e9yEu5i+0OrymsSXIMQN9L9xVe + omqhfvQ55JHHjX64tf5/Be82M3VTOQfmoWXgz1c/E+Fs98sSijVx/3S87F+JWcP3krvBrVczy2Sm + Z3RDTjSgzYxbrNcMmeeMXocIXhnEA3ArhuJ7Mx7kWNa6HusDD86Me8lZUohHw5FMNll6dBtHOSgH + 5Yo5Q8+iFKFVW6+/qky0mWk7MNIt5QDLR8AkKy9CoxdYikmzlNPyyOsyPvCBTEa4OkCfA7kZ0Mb/ + h4SIcnRKO831g31G7Tnej8mDCmEIASCPJ4anVUzbuCDPgZPIjdediEM6+lntlHli01LTbSsQjmRm + gEv4NoInyNB0xWzxBcDVZPT5FhRkvTC0iFISuMjrPLZ3C0obeE0lDD22sf6le8SvttiWoydb1Ua7 + xnGRm9xdZRBeBR6zPanJpgM5QLhloibvIFfTVe4QzPKhhYbGWd+AlUOg0Mg8bEiUGw3JqB2M8NxB + pQjTiSqdEvecRygJuvYdamTXUxQXHAlKyA6wdR8mwlF+nRo4i+OZJJrH/sa4tijCc0EQIwn4SNyu + uNTV7LcaQyFMpi6l5xbSpQFP+JVu3D5AsVn7iWz/7q8pDgb6AJDAnvgvWWRweUXM5Pe7GXHZtv+e + IivwrM89T6uqFIC8MdIngil8bH58jit4NpaenaesYn14si3ft9dbyhv9VjqFELrQmNEzVbqJuTRL + C/n++RTVmno4U7P7ezuTuRHVbqKdTHwnzInd8N/pFgFoSxol7MYErd1xbMnxxdh5yYaIGdOc14IF + yZyx53rkNcF5pw== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=2-seaward_proprietress-msg.gpg + Content-Length: + - '694' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 16:32:54 GMT + Etag: + - sha256:f841308eb1639ff681a53a069d75edadb0bb92a8daba3fdb9ca2e744cdf22807 + Expires: + - Tue, 25 Feb 2020 04:32:54 GMT + Last-Modified: + - Mon, 24 Feb 2020 16:29:22 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjE5NzQsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkwNzc0fQ.eyJpZCI6MX0.vlH5LvV2SDlef4FLm3qI4Uu9-GhZSM42DmaHexDS17w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/submissions/87f59775-ca6a-41e5-a36c-b7606b9f9754/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ//RYEIygg4Uugds9fB4sI7FGTcevS3Zx58jZWhJd1iycRMgfFCp6qIHKzj + N3D5mrj1TW8sqwVKfUkn4e2C8RAAQLfSV3fHVnIpVg4lrmk0qAm2e/aXC5Hi5b3nA9+xbZAkHtfF + JIL3wux9cbtkq/OLHRNuw9NDCPVf7ozJEFWl2cQLi74GKv1GgphSFgs//BUA3DYz4hd8pCnpf3nk + k943IzJqUGYLyx3zQs/wk6SsTTFk+wLy+/Ju/NLmaBFYK8hTb+wpOoUz97vwhP1SmGHBa9NQN+Ps + vm5PbcbUF2EdfYpyIuvOJ6Z8jx0jPIVOmz5hjehYt20PAWfiZOGWt7plBs6qBNN0rXj2bOKtEnkj + 5O4ieawzPcsnkxhI3uGiiSDuGW4bAbZyFaJfvLafIWYux+AB+MnRKSeysnsywl2WhVD1pzatNMiR + Sbpj8uN8whco6U53Q1cib8z0YWi0jl5B7ntbU2xHMg8ZHLvSfD5CaL1OQPhFzGssjtW0r9fkpUH5 + LtX0OORuBDIfOfNvbBQBTEGJBd+MAIIFwkexzMvNpTz/VuJp0FFu8zVHW2iYOLGrf7jM1n/ULQdN + +mGrOfM/ZKKf6etyCBAhS+ZFnGl586AEYpQjonAKND4rNh7Wewf7bcG/C3YPaJU6x1zPUyyNqSFT + dK1mBfAopRIiPWJ4hU7SYwElO8BIS8TyqQC806VyHyaPgE1zC5XkFevuqoCx3lfRDdLayChhchzu + i06kHbkMEUECOyMkWu42MKHPFKg9rw8HiRGF6l1fJthIvdOXFSQCkimrLC+5bxyB3oTfoDyKDs6S + QA== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=1-unabashed_steak-msg.gpg + Content-Length: + - '628' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 16:32:55 GMT + Etag: + - sha256:c2caeb461baa4fc5ea8279d707b36519b146656d2d4992c66b09a689d5458149 + Expires: + - Tue, 25 Feb 2020 04:32:55 GMT + Last-Modified: + - Mon, 24 Feb 2020 16:29:23 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjE5NzQsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkwNzc0fQ.eyJpZCI6MX0.vlH5LvV2SDlef4FLm3qI4Uu9-GhZSM42DmaHexDS17w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/submissions/e4213389-57b1-4b6c-95b1-3c0f3568080b/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqARAAs2GCPWJfgh7ZBfxPo90XsZe5TtokCJaA4kB6oVIX24TD5C7B5zCjmM6M + of9RbpSOA4g6y5geYE/RGL5ieuiDTeJEr2w9dtCBCpFB7L/BhrrLeL9jVcObo85JZaR7JYfvM4Sn + PCcVRISnD+zVdVJC//G1Vj6yQOML5n/Yrs5idadOh/VsgF1cQ5a2oxIMxsC5RdTRMOINUOAKbwCA + 8cf5bicRBO4ztiPo3iv2nq3/08osWUBLe5CXsyI7hS+1hTgItLHxmGPz59hBMH4VSbmw6jrVCh/i + axp3nkOIQAeBSD9J2/hzMBbMbewv3smFAnjpqn20dN7V8TSkg6wZOJgc9bzck0+eCT9ZUrdEpv3G + uwexUFybUWDeNP+fTOw6Gfg1Ykah2hNcvpz3mf2RblRUpKXbTSZ9NRdm8Wa3XdS6Y7qwOprBFJFP + eFbN1P07W74E8bZ7Ioyvr4OmzV+QB8w1bEb9KLCkqMgVjXBL/FdvELVOfhn5EgRLmQXTvN0mqtjR + GBTOZRM2xJDMOJPVRgWWaM3JqisIxiP/MHp61mHNgviZCHEBFwK9CExKa5M0UKA151EvyJvN2mlt + fWFZacJzOlQoKsVPuyzX5z87SDRrPI588x3FxbOQs8A9o+zoDJcry9FBdE+xUWFo7h4RtDLD627a + 4Ii9vW+dlWvzOYxxKg/SpQGcSL+FJ0AVxWiQBp8pq0rfRfQGguqsqIJ9iOESKKkeXfraZBE4lcTg + VB/C24jvdI2UGpbuuozM7xm8OdwHQ/0Z6RzS3Tqs77MkxsY40X7JbCA9//INhH5oHI8RZN5QfKSb + xbzh29wmym6Zsm9XJNuMBbukDvqbPphvASZw2rqLwfUXX6u6KTvErBM5uLwcwPlU6B962voaXzxY + r2ljqwLeQ3Vflg== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=2-unabashed_steak-msg.gpg + Content-Length: + - '694' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 16:32:55 GMT + Etag: + - sha256:20acdcedf10bc021d86cf3cfbcea471653c40d0c8a831d65e4477b4d81f7856d + Expires: + - Tue, 25 Feb 2020 04:32:55 GMT + Last-Modified: + - Mon, 24 Feb 2020 16:29:23 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjE5NzQsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkwNzc0fQ.eyJpZCI6MX0.vlH5LvV2SDlef4FLm3qI4Uu9-GhZSM42DmaHexDS17w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/replies/0ee751a7-b0c5-4809-888c-a25c7cc4fb40/download + response: + body: + string: !!binary | + hQIMAy0pba90OLb0ARAAibjApgeFurgfQ1Rgy3cA+SH07QMFX0xYuoiUrW3df047Iedrt1+qem9x + NUX3tEo0GFMkL7D/LZKKtEMYUuabIsitT6WzCOS4udDmQv4iXrifp0iAXIfOJZRRDigIy5F32NXr + a7emah7UdfBButZeTZIwzYJMVjam6+QfW/zmCsngMjd70FmK9xqV9zVAFyNWiGC5+2U7CJG2mYm1 + cwTdWzTay1j4QJoYcsllDxRsMnMCpDOmuoVe+LvJXIeKDiJcYdJGCEp8ISHgeqKTaHNdReNoRL8H + /znMLsy+c3LmGu11KQbr+0Uf6FJWrMgbhvO2GSr6lonhpwHZcuPSE6AHae6UdhQxSsi2Zin4SuTR + ESwP4z13cH4CgFYJoEvLFEXjh8J7Ht5J+NkEK5Oyj22M9soPdmE6BC+fFjcOCh0pj5JN5DOkki5K + K8Lcx5kdBmrLCgUpKJ17b9dmlhRx88Zc4E6c+YirVrlh33Lq3n56qqyfC8s3wW64vzSaGP72vOfb + U0Ly96EUyaxRG6z8sqqke/015GJecj/vrLoNUXUyvq4lKbq24Wo0snly362GeaiPAL0c3/ALHNWT + wh8JZWUXNzIBED8RNXUy47BOZ3+DbtLZZyyzw9WLgfoTpSMwFvnJ+LuxtmDaFqyzpIbjcTtJ+O/r + O8PkvJPtY+NSYyV/vVSFAgwDw+fEwKIgGyoBEADGEvBy/9DW7Xsq6Q5UE/yfk3ByETum8ExuhfIU + hABcoN5aUts+nsayBssQ0xRDcRTzWqUlcViabNN3t9V4HTZ5yy7oO8wy0f9RU3rPPGdN29oFQ2ch + 8CI5SqVEUZvwOxgZmESKw7iet/UD8zDdW3NJU71kP3II/cXZ64PS5RuFcBClNBllfluWWGlG0NBk + GWCFBc1TcwQl6VVrbOwKTAsll71lKkA+V6xHN0A7d33DtzKCdbjseA81gs8gWlCxfiaLNQnQ20zK + cT9pkGfKsFs0ukg/fji6JYAyTiHvdlkAvGXaV8pfAYE2e31wPE2ms8p0CMKbyfm8OWlTf0uknp+D + QvHDdNoZ4UBWCOqFr/JlOIwWeJ7av5i/UjORTIcPuEHJ1VdTHFYYtPhUtjLa4VRb9ndYxlXh3oJd + rQs73696ejrnuk/fp1/SAX6OnU6DiHPrHhoRwHhVmuyX0Tu1/fBcF+8vE+GUbahIf7CUrkzSy+74 + 1rdHx+2At7cv467psnJe2noOUY2D1Sg2Er43rYWADIY42pIavZem74Vq74aFKie4CH//NVsMDjE5 + kCsv9tMsIi192XGWxx8FsoOloMPlEiXsMkbZnnuZB8ln/yGzhlW8tY41T6WhPS+CCO8PysrZJ8SE + lQxilpacQf91mo7Ad4ZXyQIeAnJDqtpa8X9bR9JeAQJQgCwCnk+fCjLFWv373Cow4Hiw6WIA11EK + xrzZ138t0hDzLIx7zQwuFTHFFQK9Qh6E6pL+fiwexCkHIDlpe2GFNTj/OLfsNSTvaSI1VELPJ065 + EwW8I5wumg9TwA== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=3-seaward_proprietress-reply.gpg + Content-Length: + - '1150' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 16:32:55 GMT + Etag: + - sha256:e9326b51a6eee898accc134992bf4546bbe840768edadfeadb2230936dfc0ec0 + Expires: + - Tue, 25 Feb 2020 04:32:55 GMT + Last-Modified: + - Mon, 24 Feb 2020 16:29:22 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjE5NzQsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkwNzc0fQ.eyJpZCI6MX0.vlH5LvV2SDlef4FLm3qI4Uu9-GhZSM42DmaHexDS17w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/replies/858a3bc7-0961-4eb6-81b8-6ecf4d892ff4/download + response: + body: + string: !!binary | + hQIMAy0pba90OLb0AQ/+O0HCOfSsHwf+H+x86FP99I+c854C1bADwQ1dfj7o0JxCtjLp6nI86nE1 + jnW4rNXqf0yxgjFvZpesHBeuKOsaRaFgjs9kU/WAn/7Ed5CKqJ1Y2HAVOCe5wjvFlcSC6uHFn7cF + GY9kBdJ8IIb7K8t27due+7UBkvFno00+KhznC8qGLouXCQgoAvrGYPz6Dgt0nBxYyF3o1h/NzQ9G + pUrTlsfixk0RG1EuQBQ2zEuz/KiaCDyj8v9QOleA1h2pTwgSdFM802+ehzsS9M/hqayQse8KnAO0 + SfMySiBoYNeP3xl8O5xweQ2OtM9YSD75GXG7iW4siMYT9I2E9bF4rttr1L0vjxPGz0MJyvLcdEwc + 8HhUzTv2ihw2RGQFpgkKmWm7bbKxi4gHOGdw/vF/nUbocYevQ+uMxCTUEb6WsQN5xllo/haGqLe6 + I7gWG+HxwIDRC61Z7cJw1ZX65l+DGrgwbgBBx46UhVjKwiBO2IyVMnUEDoco5W1761aZsNufUxWY + x72v4h69alDjmOjgTbt71EopE4sDq1TZTMN+Xnt5l3jBhNo32/TbCJrY/Gao8keuME6xHRTKCKdS + Cf+xc7809elsC2YbcqZ/OPX82lK6fozlFOtsr14rNq2dboPSbTv5Cq1BKUnW1CC+7lvh4RrqwUMu + N4ewW2tgJyiGjuc2BFSFAgwDw+fEwKIgGyoBD/40X+hssyz7I1PuDqr8edoCb73TKRg7mmtEiHcu + KQrIo1t8/wWRfIr0ERn+8ofBP7m4B6ucGHXq+oY9y3vi8XKxvcu9kFy80JRCZk6grWuYMKPCmPdQ + 4tA/V9xxeSh4R+Gv+a4JPH93ik3DoqNYkBU3UFtwV77yNO1tE44AG3lOq6pQ2PzwwdCrMJFw7Caj + kWMTzu0GJWx3BSIpBNZM7kgnJYWGlr0xUZkvpMnfEgXFd1+tkTLHJac67cQiQ5h/dtT0MNVNI04h + RLWmepjh+bov1dewDnB/us5GxRv+ZGPprnd9oAMoX6ntNvZt/bzvLlpnNK7vPLEaUT2g+C00cHNc + Dr24Q5Oc+RJRc1S6bzu1LUZF1qLsy6MI0VPPGWNItGwdd0A+c7gJswvplRdq70cCU/2dRJrExaqM + lVXUGNKzfw4Gxc26YWKIZPxexEe2KH0o0Fy1NANjMhAbRSxzHXd5nojve9lxeLg+AxqWySMd55HI + 3DJlcBeqftdFlNol1arZ664OWs2UwSh2CpBy210GftdQ0PYSweNvqtMzyzbB8r095uslAfblm2Tv + afAKe1fGopIFiDADArkdz6jlyiCPuYYUU0lKMa20b0BDETciEKwtTgRb21S98g7b7tjurdJ1WHBj + c2OyCvyeiSWuahH3CQrE8z48TiAIatjtf14X2tKiARzY5rr2tjfqysvvCVWgkrN+DfjLpDoDsb5e + 0ftEuyd7QQSGPrMRVw+KebGttZB7SJbhJOWo0nHN2AY9g7GWyTMqw2cXmDy+OLJL65oMOTWsHTOZ + oURP8IjI25D2dPBDDB4FX64pAdsJDt1QcfLRyxoRpZie0gphK8Bu/IWFfQ1X3L+RgP0Yge9qX/Zg + g656eaYV+YHpMk2RTmpp09gcMKtJ + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=4-seaward_proprietress-reply.gpg + Content-Length: + - '1218' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 16:32:55 GMT + Etag: + - sha256:edc2a8546c615f3cdda433b30808162bbff418ff7adecbd7aa6629f4c03d0768 + Expires: + - Tue, 25 Feb 2020 04:32:55 GMT + Last-Modified: + - Mon, 24 Feb 2020 16:29:22 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjE5NzQsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkwNzc0fQ.eyJpZCI6MX0.vlH5LvV2SDlef4FLm3qI4Uu9-GhZSM42DmaHexDS17w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/replies/22d17c49-708a-4b82-9866-797535096f48/download + response: + body: + string: !!binary | + hQIMAwbFs6sd1ckfAQ/+LQurKJAyUkhcQpJPmLMLq7WP6CiCa6msbnBA9gzJf5wrDpxkLWwqQ0Q5 + 5NP5G1XqksrAC06gxd+fiBl+CN8oygfQcENlfnlg5TJwjss3Xx1QRG3n8ZkiIjCjNdlQKLZI2z4q + KpUZinXgzf0y9tIJNd3lIyr/XDsqqWl2dkEDBjg7azGODaim/34VFc17uOtLXzhSvAk7F+K4Stq0 + jtYNzRUYKtZwQIIdf8zN33ZFYgG8gX9mMnp37j3G8zxydHYtiSwFBkHLdOR0hkLyzm9TDxfXKIY9 + fAGlCrDPuMvKtXVcQhUZkYh+QcvghNC8Qi3q1KSuPnXTzxFccfrfvyslxGVGKAoYLS58kxdnK+Js + NhVY4XzGezbXfcniLLKbTIB/MxOL3s4AbOlhqCmZr/0CixvYZ0FqrrjzE9B2DacNR29aHj98I+Dy + NHr77FadYQWpsSnEwFdB5HbBUBTql/nFMCPFU//huTAMUsKX/MKXocLiGuTA0OdmZuCv1aioHIfA + 7ewKU8vjLqkB1H+gdg3Vb6fM5fggqVi3RJODyJE+a3RRR7rouvUoWpYyNCdq4xFgLHNcEL2ZgO+3 + mHTRLQ1pMhIO8Lfj39yYxHQQKBaZodED62uHkXnICVTrGu3RuqADwVPibbPR3znZn3sWxqi3wqj9 + QUbQlGv4KUD9YdDE0IeFAgwDw+fEwKIgGyoBEADPGsB5q3HOzh4cL/mEzvenkSs8H0DrSQMiES96 + znA1j4hv3EcZRqsFzdXcmugulF+ybnX//0cTgVqs1+RdQbknI4jo3DVqY9P572w5S2DndG+zDxrb + nJqoQWuf0HO6RoqTs9Fnbh/2F1nSdaUS3mZVDJNXg7PZkROJ6RD9rI7ZPsJwoHenepKIB5FWtCX8 + /1i2N/p6hZ0lSLvysryvqqKEu4ILk48gnWss/M3a+T0mgKa8MIovfELm2Pkixi/XzMmA2jyuB9DV + w2RyfixFmkddzXOAR7Vbcoj/RgqwyECIjirA/09dmtgDhQbY/G7xezu13qvRjiV1VgwhnVdzIc+L + aEWZUcXRra3pcFyiqHZDuS2cW3A4YcYfefMEz/8jNzaClZhLl+l1gYya4iAWVyzEIODFk5cg2Dvn + 1QK4oDpLH6G6Gqr3JUJInFETLZ7RUPDVhd99tAkzkrgG9WnwMHjyZTnCIPNWHNXGFuLD2TYCh7KA + d1XSQdGQr6k6Pj+uvzOklTEiPZNZoTAUUw+hb3trCXWx/pUM9+xI3zSvkhsyAYB07k3GSrzI9Te5 + NX7cR5psc3xYg90Zy33dfLvp6NFWKY/uZ2eVmy43JluMgtnmqgkidTk+AiKcGsisHpkMoWOQbW9r + s9n8d1Rod1R8Ln7ShvIOs+UwTia8or1PvyCGw9JeATM5PrPE9zo/1HYKGnkDlSpOf1bjlEy0DcrV + cMh0f2BY5GbOGTrQiQEebODd8U34EOXba0NMChxSV9E7yPDnU6wZO4LLXpRSyfBCDPqHhmptQVs4 + eXmLFuqoXd635Q== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=3-unabashed_steak-reply.gpg + Content-Length: + - '1150' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 16:32:55 GMT + Etag: + - sha256:8afb0dba5ba8d66c1224baa7c46e72ae31a532dd236f1154639fb7d9922d2ff9 + Expires: + - Tue, 25 Feb 2020 04:32:55 GMT + Last-Modified: + - Mon, 24 Feb 2020 16:29:23 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjE5NzQsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkwNzc0fQ.eyJpZCI6MX0.vlH5LvV2SDlef4FLm3qI4Uu9-GhZSM42DmaHexDS17w + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: POST + uri: http://localhost:8081/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/add_star + response: + body: + string: "{\n \"message\": \"Star added\"\n}\n" + headers: + Content-Length: + - '30' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 16:32:55 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 201 + message: CREATED +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjE5NzQsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkwNzc0fQ.eyJpZCI6MX0.vlH5LvV2SDlef4FLm3qI4Uu9-GhZSM42DmaHexDS17w + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/replies/3dcef402-9c73-459d-8091-a2bf7d325a03/download + response: + body: + string: !!binary | + hQIMAwbFs6sd1ckfARAApWDPeQwRgaxmkn1L3m3pe6lTdkkHZF7du3izmdM9KuppQLPCRBvgoSar + DiXEgOdHREVEbSgvZj2Ki07sAoYiSWFCWYGT7MA3b3V8lpR4DbfH++whkV2gpUkwpSpCF1WnC02N + sxNWEU08sDWURzOJOnOA0jGLKSCH44knedkXfoplo5IQMj/+blY+pAsr2tc13EW3jUr3Usmo3znD + 7iDw/yETT5Piyearb9ssqfqeNn8dwwzzFUehCnX3rAud3W2FwKvukMb9yzOLMarrauJ0sKN6/Gd6 + DXgsNy6/JwHDk59aLfCs7cpe3sPMpONXrRmuCpOQHVNzSndVdTIK5pL5XWgYX2LdqaS9XkcoKbHO + OeMzFATTlz2zxXUGa4nmRnYdH+6sreXfeeSyZgmQXEUh9/wjXz/wA7sgvm8Lm6uvoFQEN7ostV2p + onIRq6wfD38JmFffvObGf5epqjThV+tOTX5vUY5ZwPKlVoIs48YEYeZWQcbiYzvpwlOgyoxCNQ7U + 9QWX3/wCpjdlvfEIXhhNNVdocnBtimboA9yp7N84+4c6baqD2qgxNaF5284Di5nNlNyrjYmPBZ/J + yt7paM1uhLcO8XZ3Qeyve6NT0eFYaW7taBNEtkoCF08vNrrRw150teyI80KYrUR0/mZ/j3EGfni+ + AXNO8Lh46Gwd9UpiDcuFAgwDw+fEwKIgGyoBD/9r8f7BqlGJ6af66aAPqZS7Hed9klduDSMuaQuq + pw7M38OQGzqdzcNAyGmO9x7OQ7YDwKbdLayRgrGPRs9JRge6Qky3rcAuvQG/If6TGJlpe14rjLV0 + FTVhvTFInKJMAGvx6XVp41p6J70x3G2KjqqZZYd5UDOw3u2q9JUG4jGjy3JDI8pe0RRe3th7isTn + kh6WUHkkStUNhRqHF9Tzk4iPtFVJn/wINbwSLwDzwx4wwELscNT9o2vKWrmNfCmTjuMitTnnA9hH + tf6pff946XZhGSz32PEcT60j/lqphNqNokHetvcvbN9VxjcLFyW+gJStA7Z0bbWKTpzSLrpC9DC1 + C0BNXbbKG/pKKuO1LhRI1Xr4C5PPz4GozFlcWvjH9+4GcKC0TR/LKSuYjJbhlCy9wB2LLkN7yLBr + YVE8zmZ/Os6NPZNtTo4IG+cxf9qnVgIqsWycIct11mD7DdxZsjQRExT1TbtYVMLmofsrTTUo1Y8K + B88rbK9rmPQnbsuQR0BybYyocdnfXNJ7z/9wHEWGMMNHWwoVbwRrLsk2GzZYyK3Io7RYNS+yOxht + h5rv5H/o0itsGplz4qfuCP11eDv50fjvvsacoE4dWWriYFQwRv9swr8JJJ7ZYGcDOHXnvnX3y3yd + T69tetRYKDu75TeZCLioR013ibmjXOYBjZctKNKiAVa/LeXxXr8brIIvdwxjVRuSySNNxjRc7+FK + ItHptCoXnlFkgg/jei04pA2JgukbZnf62+MYAyj8D++HWHEWlIqU0Ra72ag66C0l4LtTipihBRSN + tf1a46oVs8EIclXI2SoxLCjVfvuWeV6cqIoyE/KAstEENgfR8hHH1lBD9UU38qmheDrR1rH39SCC + ckbJdHrEvbGUNO8d/FyCFV3ySFbU + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=4-unabashed_steak-reply.gpg + Content-Length: + - '1218' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 16:32:55 GMT + Etag: + - sha256:c4448197094a08153c9dbfb89469a62239020e773b281e4d68b5f4961bb1fea7 + Expires: + - Tue, 25 Feb 2020 04:32:55 GMT + Last-Modified: + - Mon, 24 Feb 2020 16:29:23 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/functional/cassettes/test_unstar_source.yaml b/tests/functional/cassettes/test_unstar_source.yaml new file mode 100644 index 000000000..60894dc7f --- /dev/null +++ b/tests/functional/cassettes/test_unstar_source.yaml @@ -0,0 +1,639 @@ +interactions: +- request: + body: '{"username": "journalist", "passphrase": "correct horse battery staple + profanity oil chewy", "one_time_code": "270661"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '119' + User-Agent: + - python-requests/2.20.0 + method: POST + uri: http://localhost:8081/api/v1/token + response: + body: + string: "{\n \"expiration\": \"2020-02-25T00:36:56.410830Z\", \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_uuid\": \"d51dfb7c-0484-4bd8-8979-1ae3a0b1425d\", + \n \"token\": \"eyJpYXQiOjE1ODI1NjIyMTYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkxMDE2fQ.eyJpZCI6MX0.S6qTV-Byt0hx2ujyfKUADiqYG8z7CZoomhMddBeIT2Q\"\n}\n" + headers: + Content-Length: + - '317' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 16:36:56 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjIyMTYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkxMDE2fQ.eyJpZCI6MX0.S6qTV-Byt0hx2ujyfKUADiqYG8z7CZoomhMddBeIT2Q + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources + response: + body: + string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"seaward proprietress\", \n \"key\": + {\n \"fingerprint\": \"91CCE0C339E500F740985D492D296DAF7438B6F4\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEAC6+3RQ5bjpahUhTk0AjsxyyM7uZYrgsV5B2v0aACkBQBMHVYYw\\n1DIjGs9t/6kTdVMYcQ/4gEfpgpQ9yOcNQKWyBnAuyFv2jPXtMa1YiJQ96so9VMWL\\nYbECJUFGWeZ1CaVASZc8cgMBbasYEmQUMHGBJmxRTHW6RVIw/7qjPw4Vpp2lEUfB\\nSc/qqFN6Eropu8onKdVgqW4nQvnA0Ji5Iw2QMgwxfyvcXRZky10EQem7Rw6WydlV\\nRwop0NP89mogeYHtz5rcqbT8req9wkHgAFm2KedY9PveE88xXKDD7G3DsTw+7yYK\\nTMocRxkCnSwJ5XdjysSoLr4J7SerpRKa/34ZqjiqbHEXGPHR6WS2FHJ+Ww2JZwxj\\nz4B5hgG7OlIOmBVoN1QJrYH4+kWRGbQ8SBm+XJy9RYiLQ8bPX8DwxrD4CqlxZnG+\\nybGXSN/pH/v5hALG4I4xXR1nT+HFtdzdpNfxUoXOCFbhbF8SgexrlA5gF+jboQ57\\nLW4wEmtTcTs9KH60qiZdlrMpWDgKY0x4rynBnjjYglL4L/naEZWKeihQbZzuqmcK\\nV8dLAkc75BbKYz4OzlvfiZhAD4rY4HHefcPAOSQ3cLD7t9O372vE0UrtD02jvzAs\\nHtdRLqrAKIlLURiRvMCR86j3iadsas/F0QbEwanYJeY/XK8LgeUAbqOTyQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8TUVZVjJKRUQ0N1gzWVY1REpFQzdHUUxZSUFE\\nSlI0REFWR00zNzYyUVlQWEpXNVJVSEFNSFo2TFRGVlpNQ1BHWkRRRDZKVkpCV0pG\\nT0NZQkRJNlBaRzdNSlJVRE9YUkJYUU1IQTJZUT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEC0pba90OLb0C1AQALifTPs/RCJL\\ngb0blFM1g4+LCJo4/oJpsljaZe6SmvocZ8tmVtDQ3XuiBqOOvnxGWq9a4/o218fz\\nDLPC1o/QcVIAESjkd4BOEZMpb34osUcPTnWAHIS9DyGG3TEOzidiF1ibYdVDuJgu\\nNUFliWDSO+tpbTuPoP6tWCz+XOyBpo6StfQ10PhwJIf0jWL2GR2+A4KgrlSo5Hga\\nVwwoJG2gAeGC5dhZoPjTzkKLm2Crl6SNl3A8FML/Y8wrQ9evvX+W7vbVFS9Fax0b\\nZYwinKx9JAECB2fUPa2l5pQATX2B3LiN4Tr6XO22Ei/CAoja5CU5UlGSN4qzX+S4\\n8Dmtyxbk5bA9bMRSNXyxWk+t+BfS2O1kQP0xSMiH25xNSV8Rbr6ld4/q+e52K0sM\\nuDlpKogGmQWzWO938COSyV9crkZiCMntCpHDU0EVGkMMzZ+NczK6ZWV6FXeBm1Uf\\nQEYaX2LdpUPbufhBX6W3gahL/371IdEmuK3lGvbvDNBhZSSZLr+nZGAybeKcl7lo\\ndSgHuybrSBZHSpjWsLpGYFCNzgvZQ5DEOJ4lKHNfsQlAKlPdlnDBNR8yyplx0qxI\\nif4CQEkfOW87K1g8WLMQG/5UnnKd85qhAzKVe+L0RIuObJ7utCmVgVHDj20xXjbL\\ndASajO7tEWRZnKxi59bTIK3tgIdyStYr\\n=koEl\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-24T16:29:22.323469Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/remove_star\", + \n \"replies_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/replies\", + \n \"submissions_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/submissions\", + \n \"url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09\", + \n \"uuid\": \"9d9a44cd-f443-4548-90e9-e3443e2dbd09\"\n }, \n {\n + \ \"add_star_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + true, \n \"journalist_designation\": \"unabashed steak\", \n \"key\": + {\n \"fingerprint\": \"5DC5C88F184BBC6152307F4106C5B3AB1DD5C91F\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADUfbEkdvsdu8di3VtcT1XHcVnkkoA/TVHjvDnJ2L8qiq4rtWvN\\n765KeMIzbSg5H2L4AfsuzBDexWraXwlsKyWwWaBEnsNxx8MUIA83v7iNY66xeCtN\\ndoIcuOl2Y0yzeXwEVFzKSoasufw4lJiWPi1VHS2I5jKRoKy7Wt7LcYBguMdqx6f7\\nu8JIbNStJWJs0xUDEBlWMRGPzUtVQ5CzRW2tRVVECio5iCmR2LkEVXcxSv7WoTxH\\nKpi7xHvQUO1gvRt30pGBHPz9hpb5/bU8pM0WV5L5sBB+PnPxWeTKqeIOMVRpnO3A\\nw7V0b+4VCd6M8sUxplAXzQxCXNDzh2NCyJNlyN+KgwzYo3KxX3cqgRTP1lbM1ugO\\nyGjKZz1Q66MoOxO9VAKe4W29c227h8HxIsZirTA8qVAR0C4hbH4dP8S3eFXmWgP2\\nA9UnKFRhMjTuc5PrS3/SqFtw1z2oNq+bpDRVxNr53CDShzH5b/fbYGHwdtE9ojZW\\nqNnYPz6sc8g7vqZdFopmQN5OoOg/CjfA4CLDO7of3yU9kd1ouklARcvaNGt3ZpE5\\n5/KZ6WWDz8gekSu0Hb47J9Iy0be+BK6iBnCSuL/tL27EYqR0zum+bClOnE/WWVI/\\n2x4gjuLtmwuQ+u6N7OxhUhATIVFHRHaro6UAkWg7uEQDpW/fDl93DfpMeQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8WEVUQ09FN0NGUEpNUVc2TU9VQkRBR1JURFA0\\nTFZJQzcyMzRWV1FZRTI3M0xXRTczMkQ1Rk1HVUdUN1lKNUVYREY0VjVYM1lHN09R\\nQlVDM01WWVRORTc3STJGV0RWQ01GT1ZER0w2QT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEAbFs6sd1ckfdXUQAMQ14Nw6kPlD\\n+wnFAxozEzX9cSf/W5rAXFs2aXZdHTCtN+f0Ks8z89WaE5MWt+jJM/PZVHwVWstw\\n+8UGw339AeqP0vDqcehcxOxovue9xOyutLJMhgVFlSpr8qFUmKHKPEb7C3px+YcI\\nCfxuF3XKGItHglCxXVcOt5m2lP30mtyAxDF4Yk0ow5YSqc09QZdGSCaWoh4IXnQU\\nE2p5Q6v2rVC0GS8ITs4k73t69knZ5GWtNX8ww0QnBrfOtn2q3JBvZVwstujLfi2D\\n97i7orQXVEy8w+wUfKJHHqhlGqhV+AfxYau5iR+QA8zV2QuPYaTrLJHZjxesv1pN\\nF6bp8Ai5jeU6cnseqqb+P+D6kpS0mlXz2ECL32RHzrR/N5W83YlXjj2VZb+c9IoY\\nzSkeDBtgg2JUYVQqkVIoTxUMEdR6xuzdCvXGRTUJXkitSTxY3AIM7KFGyy3lqoBQ\\nYhzb8cSzxMHMJ00WVIY8ohvYup8Ujb1haE9NGnIF+JvrSDuzhGGxOreZkrn5cPJM\\nNr5KGc3WwnJhaeY4UTp7FOjHqlPk4gvUMP2UQQ6lxMmP0M84D9XibFhZUjJhaefi\\nyQuZCbgiK6Xwy0R/CiOaHFDJK7x5jMfUAE+yIMdKCGZB/HOwEg33JVoRcSa4XpZT\\nckTkY66bgiswoQSk2cajORr4HXnX1qC6\\n=emwU\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-24T16:29:23.740525Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/remove_star\", + \n \"replies_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/replies\", + \n \"submissions_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/submissions\", + \n \"url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33\", + \n \"uuid\": \"e91508d9-eae0-4dd4-a594-0dcb5c5bca33\"\n }\n ]\n}\n" + headers: + Content-Length: + - '5349' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 16:36:56 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjIyMTYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkxMDE2fQ.eyJpZCI6MX0.S6qTV-Byt0hx2ujyfKUADiqYG8z7CZoomhMddBeIT2Q + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/submissions + response: + body: + string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/submissions/737251a7-1137-4ad8-9e54-2e76e07926dc/download\", + \n \"filename\": \"1-seaward_proprietress-msg.gpg\", \n \"is_read\": + true, \n \"size\": 628, \n \"source_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09\", + \n \"submission_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/submissions/737251a7-1137-4ad8-9e54-2e76e07926dc\", + \n \"uuid\": \"737251a7-1137-4ad8-9e54-2e76e07926dc\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/submissions/6855e6a9-ba8e-4d2d-91ba-8bdaf99985cc/download\", + \n \"filename\": \"2-seaward_proprietress-msg.gpg\", \n \"is_read\": + true, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09\", + \n \"submission_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/submissions/6855e6a9-ba8e-4d2d-91ba-8bdaf99985cc\", + \n \"uuid\": \"6855e6a9-ba8e-4d2d-91ba-8bdaf99985cc\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/submissions/87f59775-ca6a-41e5-a36c-b7606b9f9754/download\", + \n \"filename\": \"1-unabashed_steak-msg.gpg\", \n \"is_read\": + true, \n \"size\": 628, \n \"source_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33\", + \n \"submission_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/submissions/87f59775-ca6a-41e5-a36c-b7606b9f9754\", + \n \"uuid\": \"87f59775-ca6a-41e5-a36c-b7606b9f9754\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/submissions/e4213389-57b1-4b6c-95b1-3c0f3568080b/download\", + \n \"filename\": \"2-unabashed_steak-msg.gpg\", \n \"is_read\": + true, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33\", + \n \"submission_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/submissions/e4213389-57b1-4b6c-95b1-3c0f3568080b\", + \n \"uuid\": \"e4213389-57b1-4b6c-95b1-3c0f3568080b\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2047' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 16:36:56 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjIyMTYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkxMDE2fQ.eyJpZCI6MX0.S6qTV-Byt0hx2ujyfKUADiqYG8z7CZoomhMddBeIT2Q + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/replies + response: + body: + string: "{\n \"replies\": [\n {\n \"filename\": \"3-seaward_proprietress-reply.gpg\", + \n \"is_deleted_by_source\": false, \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_username\": + \"journalist\", \n \"journalist_uuid\": \"d51dfb7c-0484-4bd8-8979-1ae3a0b1425d\", + \n \"reply_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/replies/0ee751a7-b0c5-4809-888c-a25c7cc4fb40\", + \n \"size\": 1150, \n \"source_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09\", + \n \"uuid\": \"0ee751a7-b0c5-4809-888c-a25c7cc4fb40\"\n }, \n {\n + \ \"filename\": \"4-seaward_proprietress-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"d51dfb7c-0484-4bd8-8979-1ae3a0b1425d\", \n \"reply_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/replies/858a3bc7-0961-4eb6-81b8-6ecf4d892ff4\", + \n \"size\": 1218, \n \"source_url\": \"/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09\", + \n \"uuid\": \"858a3bc7-0961-4eb6-81b8-6ecf4d892ff4\"\n }, \n {\n + \ \"filename\": \"3-unabashed_steak-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"d51dfb7c-0484-4bd8-8979-1ae3a0b1425d\", \n \"reply_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/replies/22d17c49-708a-4b82-9866-797535096f48\", + \n \"size\": 1150, \n \"source_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33\", + \n \"uuid\": \"22d17c49-708a-4b82-9866-797535096f48\"\n }, \n {\n + \ \"filename\": \"4-unabashed_steak-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"d51dfb7c-0484-4bd8-8979-1ae3a0b1425d\", \n \"reply_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/replies/3dcef402-9c73-459d-8091-a2bf7d325a03\", + \n \"size\": 1218, \n \"source_url\": \"/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33\", + \n \"uuid\": \"3dcef402-9c73-459d-8091-a2bf7d325a03\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2267' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 16:36:56 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjIyMTYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkxMDE2fQ.eyJpZCI6MX0.S6qTV-Byt0hx2ujyfKUADiqYG8z7CZoomhMddBeIT2Q + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/submissions/737251a7-1137-4ad8-9e54-2e76e07926dc/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqARAA8YXgGss3s3nZEs0WFMU0gYUOfFHzZ20PygZWfJESpZRR/0uDZkBYDcDa + SZBnXhdlCk+TFlDM9NTaNxpFSKXm1gXXKOo/kwxo2WMYh32uP1FsmUru6kd1VOYZfx/6HGp6fyes + 3qvTT6G3jDDNQfbytlBlizIDHckMX8fJKxDmgeLTfiaQQhQaAQUSWjQn3EAwfcSm/CtKg39EMTVV + Bt+sz0TgQAWxfkypkWNX0JsXPqdhXBLxXqvGGhwXXWTxb8iG8NY4KPY7jbGcfoKtZ9ZrQE3k5ZfX + 4sDRNNFvcbYQJ8eHGFEZcdarQqdIqF4Yo33zQr4ciXNcIbqrbAP84YfWanA1AgGCj9BMxFaAK/Bf + 06IL8eKaza1ga1p0EGO/BB/kF74PRmqJGiZ/XT/VvDrf9dzQXt/a74WHI7N4lcp+B7cmXM2VVaWF + mHdnb8Vev8Sl/0ldMhS4lQtiSLrCRrUsnOMW36EfbOONKf6CMWfwet+lDQjbkyVBoKcf84Qk7l3v + afXBWkDK4p/rzTGFoPqQ3MxgYk4o9EF6f3OIxTPvHNSa/lqyrRnyJtWWXv98+lj3smRg8kZlT7Ur + lER/C7bE+1vP+sJsxY1/0+LtFp0DwIm8yLyfU5LvAnfh5kRaE2QXr3Qzr/Uo1MyDPfbv2zZKkt+6 + 46vplC7bNADgaXoIThfSYwHg/iPi99BGAwZBFjLaytV9KjEuF5mVIkuoB1r8eS8ujkQItGjnRtF0 + 9SEPB96ew4oy84mqECAPvPMDJQGB//F9uPLkcFBQvjXIMQqaMaSXBttTDYAu0YRKnXw3f9+5t9aA + 8A== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=1-seaward_proprietress-msg.gpg + Content-Length: + - '628' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 16:36:56 GMT + Etag: + - sha256:82bccdb4c5a66ea6ffb4cc173a800b43013e19d76378b044a4e6f2ccefcb5176 + Expires: + - Tue, 25 Feb 2020 04:36:56 GMT + Last-Modified: + - Mon, 24 Feb 2020 16:29:22 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjIyMTYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkxMDE2fQ.eyJpZCI6MX0.S6qTV-Byt0hx2ujyfKUADiqYG8z7CZoomhMddBeIT2Q + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/submissions/6855e6a9-ba8e-4d2d-91ba-8bdaf99985cc/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqARAAx1B9jB/cK4LKi1MeBWPUswf976/douw4fIq4VrjeBUk+YRJPaDklYiyC + c9xOLj7t6zneBKTTwfA3emkWvzOaRw8mlxB5MHW3OBDCQs5Hn0e9yEu5i+0OrymsSXIMQN9L9xVe + omqhfvQ55JHHjX64tf5/Be82M3VTOQfmoWXgz1c/E+Fs98sSijVx/3S87F+JWcP3krvBrVczy2Sm + Z3RDTjSgzYxbrNcMmeeMXocIXhnEA3ArhuJ7Mx7kWNa6HusDD86Me8lZUohHw5FMNll6dBtHOSgH + 5Yo5Q8+iFKFVW6+/qky0mWk7MNIt5QDLR8AkKy9CoxdYikmzlNPyyOsyPvCBTEa4OkCfA7kZ0Mb/ + h4SIcnRKO831g31G7Tnej8mDCmEIASCPJ4anVUzbuCDPgZPIjdediEM6+lntlHli01LTbSsQjmRm + gEv4NoInyNB0xWzxBcDVZPT5FhRkvTC0iFISuMjrPLZ3C0obeE0lDD22sf6le8SvttiWoydb1Ua7 + xnGRm9xdZRBeBR6zPanJpgM5QLhloibvIFfTVe4QzPKhhYbGWd+AlUOg0Mg8bEiUGw3JqB2M8NxB + pQjTiSqdEvecRygJuvYdamTXUxQXHAlKyA6wdR8mwlF+nRo4i+OZJJrH/sa4tijCc0EQIwn4SNyu + uNTV7LcaQyFMpi6l5xbSpQFP+JVu3D5AsVn7iWz/7q8pDgb6AJDAnvgvWWRweUXM5Pe7GXHZtv+e + IivwrM89T6uqFIC8MdIngil8bH58jit4NpaenaesYn14si3ft9dbyhv9VjqFELrQmNEzVbqJuTRL + C/n++RTVmno4U7P7ezuTuRHVbqKdTHwnzInd8N/pFgFoSxol7MYErd1xbMnxxdh5yYaIGdOc14IF + yZyx53rkNcF5pw== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=2-seaward_proprietress-msg.gpg + Content-Length: + - '694' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 16:36:57 GMT + Etag: + - sha256:f841308eb1639ff681a53a069d75edadb0bb92a8daba3fdb9ca2e744cdf22807 + Expires: + - Tue, 25 Feb 2020 04:36:57 GMT + Last-Modified: + - Mon, 24 Feb 2020 16:29:22 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjIyMTYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkxMDE2fQ.eyJpZCI6MX0.S6qTV-Byt0hx2ujyfKUADiqYG8z7CZoomhMddBeIT2Q + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/submissions/87f59775-ca6a-41e5-a36c-b7606b9f9754/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ//RYEIygg4Uugds9fB4sI7FGTcevS3Zx58jZWhJd1iycRMgfFCp6qIHKzj + N3D5mrj1TW8sqwVKfUkn4e2C8RAAQLfSV3fHVnIpVg4lrmk0qAm2e/aXC5Hi5b3nA9+xbZAkHtfF + JIL3wux9cbtkq/OLHRNuw9NDCPVf7ozJEFWl2cQLi74GKv1GgphSFgs//BUA3DYz4hd8pCnpf3nk + k943IzJqUGYLyx3zQs/wk6SsTTFk+wLy+/Ju/NLmaBFYK8hTb+wpOoUz97vwhP1SmGHBa9NQN+Ps + vm5PbcbUF2EdfYpyIuvOJ6Z8jx0jPIVOmz5hjehYt20PAWfiZOGWt7plBs6qBNN0rXj2bOKtEnkj + 5O4ieawzPcsnkxhI3uGiiSDuGW4bAbZyFaJfvLafIWYux+AB+MnRKSeysnsywl2WhVD1pzatNMiR + Sbpj8uN8whco6U53Q1cib8z0YWi0jl5B7ntbU2xHMg8ZHLvSfD5CaL1OQPhFzGssjtW0r9fkpUH5 + LtX0OORuBDIfOfNvbBQBTEGJBd+MAIIFwkexzMvNpTz/VuJp0FFu8zVHW2iYOLGrf7jM1n/ULQdN + +mGrOfM/ZKKf6etyCBAhS+ZFnGl586AEYpQjonAKND4rNh7Wewf7bcG/C3YPaJU6x1zPUyyNqSFT + dK1mBfAopRIiPWJ4hU7SYwElO8BIS8TyqQC806VyHyaPgE1zC5XkFevuqoCx3lfRDdLayChhchzu + i06kHbkMEUECOyMkWu42MKHPFKg9rw8HiRGF6l1fJthIvdOXFSQCkimrLC+5bxyB3oTfoDyKDs6S + QA== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=1-unabashed_steak-msg.gpg + Content-Length: + - '628' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 16:36:57 GMT + Etag: + - sha256:c2caeb461baa4fc5ea8279d707b36519b146656d2d4992c66b09a689d5458149 + Expires: + - Tue, 25 Feb 2020 04:36:57 GMT + Last-Modified: + - Mon, 24 Feb 2020 16:29:23 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjIyMTYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkxMDE2fQ.eyJpZCI6MX0.S6qTV-Byt0hx2ujyfKUADiqYG8z7CZoomhMddBeIT2Q + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/submissions/e4213389-57b1-4b6c-95b1-3c0f3568080b/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqARAAs2GCPWJfgh7ZBfxPo90XsZe5TtokCJaA4kB6oVIX24TD5C7B5zCjmM6M + of9RbpSOA4g6y5geYE/RGL5ieuiDTeJEr2w9dtCBCpFB7L/BhrrLeL9jVcObo85JZaR7JYfvM4Sn + PCcVRISnD+zVdVJC//G1Vj6yQOML5n/Yrs5idadOh/VsgF1cQ5a2oxIMxsC5RdTRMOINUOAKbwCA + 8cf5bicRBO4ztiPo3iv2nq3/08osWUBLe5CXsyI7hS+1hTgItLHxmGPz59hBMH4VSbmw6jrVCh/i + axp3nkOIQAeBSD9J2/hzMBbMbewv3smFAnjpqn20dN7V8TSkg6wZOJgc9bzck0+eCT9ZUrdEpv3G + uwexUFybUWDeNP+fTOw6Gfg1Ykah2hNcvpz3mf2RblRUpKXbTSZ9NRdm8Wa3XdS6Y7qwOprBFJFP + eFbN1P07W74E8bZ7Ioyvr4OmzV+QB8w1bEb9KLCkqMgVjXBL/FdvELVOfhn5EgRLmQXTvN0mqtjR + GBTOZRM2xJDMOJPVRgWWaM3JqisIxiP/MHp61mHNgviZCHEBFwK9CExKa5M0UKA151EvyJvN2mlt + fWFZacJzOlQoKsVPuyzX5z87SDRrPI588x3FxbOQs8A9o+zoDJcry9FBdE+xUWFo7h4RtDLD627a + 4Ii9vW+dlWvzOYxxKg/SpQGcSL+FJ0AVxWiQBp8pq0rfRfQGguqsqIJ9iOESKKkeXfraZBE4lcTg + VB/C24jvdI2UGpbuuozM7xm8OdwHQ/0Z6RzS3Tqs77MkxsY40X7JbCA9//INhH5oHI8RZN5QfKSb + xbzh29wmym6Zsm9XJNuMBbukDvqbPphvASZw2rqLwfUXX6u6KTvErBM5uLwcwPlU6B962voaXzxY + r2ljqwLeQ3Vflg== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=2-unabashed_steak-msg.gpg + Content-Length: + - '694' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 16:36:57 GMT + Etag: + - sha256:20acdcedf10bc021d86cf3cfbcea471653c40d0c8a831d65e4477b4d81f7856d + Expires: + - Tue, 25 Feb 2020 04:36:57 GMT + Last-Modified: + - Mon, 24 Feb 2020 16:29:23 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjIyMTYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkxMDE2fQ.eyJpZCI6MX0.S6qTV-Byt0hx2ujyfKUADiqYG8z7CZoomhMddBeIT2Q + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/replies/0ee751a7-b0c5-4809-888c-a25c7cc4fb40/download + response: + body: + string: !!binary | + hQIMAy0pba90OLb0ARAAibjApgeFurgfQ1Rgy3cA+SH07QMFX0xYuoiUrW3df047Iedrt1+qem9x + NUX3tEo0GFMkL7D/LZKKtEMYUuabIsitT6WzCOS4udDmQv4iXrifp0iAXIfOJZRRDigIy5F32NXr + a7emah7UdfBButZeTZIwzYJMVjam6+QfW/zmCsngMjd70FmK9xqV9zVAFyNWiGC5+2U7CJG2mYm1 + cwTdWzTay1j4QJoYcsllDxRsMnMCpDOmuoVe+LvJXIeKDiJcYdJGCEp8ISHgeqKTaHNdReNoRL8H + /znMLsy+c3LmGu11KQbr+0Uf6FJWrMgbhvO2GSr6lonhpwHZcuPSE6AHae6UdhQxSsi2Zin4SuTR + ESwP4z13cH4CgFYJoEvLFEXjh8J7Ht5J+NkEK5Oyj22M9soPdmE6BC+fFjcOCh0pj5JN5DOkki5K + K8Lcx5kdBmrLCgUpKJ17b9dmlhRx88Zc4E6c+YirVrlh33Lq3n56qqyfC8s3wW64vzSaGP72vOfb + U0Ly96EUyaxRG6z8sqqke/015GJecj/vrLoNUXUyvq4lKbq24Wo0snly362GeaiPAL0c3/ALHNWT + wh8JZWUXNzIBED8RNXUy47BOZ3+DbtLZZyyzw9WLgfoTpSMwFvnJ+LuxtmDaFqyzpIbjcTtJ+O/r + O8PkvJPtY+NSYyV/vVSFAgwDw+fEwKIgGyoBEADGEvBy/9DW7Xsq6Q5UE/yfk3ByETum8ExuhfIU + hABcoN5aUts+nsayBssQ0xRDcRTzWqUlcViabNN3t9V4HTZ5yy7oO8wy0f9RU3rPPGdN29oFQ2ch + 8CI5SqVEUZvwOxgZmESKw7iet/UD8zDdW3NJU71kP3II/cXZ64PS5RuFcBClNBllfluWWGlG0NBk + GWCFBc1TcwQl6VVrbOwKTAsll71lKkA+V6xHN0A7d33DtzKCdbjseA81gs8gWlCxfiaLNQnQ20zK + cT9pkGfKsFs0ukg/fji6JYAyTiHvdlkAvGXaV8pfAYE2e31wPE2ms8p0CMKbyfm8OWlTf0uknp+D + QvHDdNoZ4UBWCOqFr/JlOIwWeJ7av5i/UjORTIcPuEHJ1VdTHFYYtPhUtjLa4VRb9ndYxlXh3oJd + rQs73696ejrnuk/fp1/SAX6OnU6DiHPrHhoRwHhVmuyX0Tu1/fBcF+8vE+GUbahIf7CUrkzSy+74 + 1rdHx+2At7cv467psnJe2noOUY2D1Sg2Er43rYWADIY42pIavZem74Vq74aFKie4CH//NVsMDjE5 + kCsv9tMsIi192XGWxx8FsoOloMPlEiXsMkbZnnuZB8ln/yGzhlW8tY41T6WhPS+CCO8PysrZJ8SE + lQxilpacQf91mo7Ad4ZXyQIeAnJDqtpa8X9bR9JeAQJQgCwCnk+fCjLFWv373Cow4Hiw6WIA11EK + xrzZ138t0hDzLIx7zQwuFTHFFQK9Qh6E6pL+fiwexCkHIDlpe2GFNTj/OLfsNSTvaSI1VELPJ065 + EwW8I5wumg9TwA== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=3-seaward_proprietress-reply.gpg + Content-Length: + - '1150' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 16:36:57 GMT + Etag: + - sha256:e9326b51a6eee898accc134992bf4546bbe840768edadfeadb2230936dfc0ec0 + Expires: + - Tue, 25 Feb 2020 04:36:57 GMT + Last-Modified: + - Mon, 24 Feb 2020 16:29:22 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjIyMTYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkxMDE2fQ.eyJpZCI6MX0.S6qTV-Byt0hx2ujyfKUADiqYG8z7CZoomhMddBeIT2Q + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/9d9a44cd-f443-4548-90e9-e3443e2dbd09/replies/858a3bc7-0961-4eb6-81b8-6ecf4d892ff4/download + response: + body: + string: !!binary | + hQIMAy0pba90OLb0AQ/+O0HCOfSsHwf+H+x86FP99I+c854C1bADwQ1dfj7o0JxCtjLp6nI86nE1 + jnW4rNXqf0yxgjFvZpesHBeuKOsaRaFgjs9kU/WAn/7Ed5CKqJ1Y2HAVOCe5wjvFlcSC6uHFn7cF + GY9kBdJ8IIb7K8t27due+7UBkvFno00+KhznC8qGLouXCQgoAvrGYPz6Dgt0nBxYyF3o1h/NzQ9G + pUrTlsfixk0RG1EuQBQ2zEuz/KiaCDyj8v9QOleA1h2pTwgSdFM802+ehzsS9M/hqayQse8KnAO0 + SfMySiBoYNeP3xl8O5xweQ2OtM9YSD75GXG7iW4siMYT9I2E9bF4rttr1L0vjxPGz0MJyvLcdEwc + 8HhUzTv2ihw2RGQFpgkKmWm7bbKxi4gHOGdw/vF/nUbocYevQ+uMxCTUEb6WsQN5xllo/haGqLe6 + I7gWG+HxwIDRC61Z7cJw1ZX65l+DGrgwbgBBx46UhVjKwiBO2IyVMnUEDoco5W1761aZsNufUxWY + x72v4h69alDjmOjgTbt71EopE4sDq1TZTMN+Xnt5l3jBhNo32/TbCJrY/Gao8keuME6xHRTKCKdS + Cf+xc7809elsC2YbcqZ/OPX82lK6fozlFOtsr14rNq2dboPSbTv5Cq1BKUnW1CC+7lvh4RrqwUMu + N4ewW2tgJyiGjuc2BFSFAgwDw+fEwKIgGyoBD/40X+hssyz7I1PuDqr8edoCb73TKRg7mmtEiHcu + KQrIo1t8/wWRfIr0ERn+8ofBP7m4B6ucGHXq+oY9y3vi8XKxvcu9kFy80JRCZk6grWuYMKPCmPdQ + 4tA/V9xxeSh4R+Gv+a4JPH93ik3DoqNYkBU3UFtwV77yNO1tE44AG3lOq6pQ2PzwwdCrMJFw7Caj + kWMTzu0GJWx3BSIpBNZM7kgnJYWGlr0xUZkvpMnfEgXFd1+tkTLHJac67cQiQ5h/dtT0MNVNI04h + RLWmepjh+bov1dewDnB/us5GxRv+ZGPprnd9oAMoX6ntNvZt/bzvLlpnNK7vPLEaUT2g+C00cHNc + Dr24Q5Oc+RJRc1S6bzu1LUZF1qLsy6MI0VPPGWNItGwdd0A+c7gJswvplRdq70cCU/2dRJrExaqM + lVXUGNKzfw4Gxc26YWKIZPxexEe2KH0o0Fy1NANjMhAbRSxzHXd5nojve9lxeLg+AxqWySMd55HI + 3DJlcBeqftdFlNol1arZ664OWs2UwSh2CpBy210GftdQ0PYSweNvqtMzyzbB8r095uslAfblm2Tv + afAKe1fGopIFiDADArkdz6jlyiCPuYYUU0lKMa20b0BDETciEKwtTgRb21S98g7b7tjurdJ1WHBj + c2OyCvyeiSWuahH3CQrE8z48TiAIatjtf14X2tKiARzY5rr2tjfqysvvCVWgkrN+DfjLpDoDsb5e + 0ftEuyd7QQSGPrMRVw+KebGttZB7SJbhJOWo0nHN2AY9g7GWyTMqw2cXmDy+OLJL65oMOTWsHTOZ + oURP8IjI25D2dPBDDB4FX64pAdsJDt1QcfLRyxoRpZie0gphK8Bu/IWFfQ1X3L+RgP0Yge9qX/Zg + g656eaYV+YHpMk2RTmpp09gcMKtJ + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=4-seaward_proprietress-reply.gpg + Content-Length: + - '1218' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 16:36:57 GMT + Etag: + - sha256:edc2a8546c615f3cdda433b30808162bbff418ff7adecbd7aa6629f4c03d0768 + Expires: + - Tue, 25 Feb 2020 04:36:57 GMT + Last-Modified: + - Mon, 24 Feb 2020 16:29:22 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjIyMTYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkxMDE2fQ.eyJpZCI6MX0.S6qTV-Byt0hx2ujyfKUADiqYG8z7CZoomhMddBeIT2Q + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: DELETE + uri: http://localhost:8081/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/remove_star + response: + body: + string: "{\n \"message\": \"Star removed\"\n}\n" + headers: + Content-Length: + - '32' + Content-Type: + - application/json + Date: + - Mon, 24 Feb 2020 16:36:57 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODI1NjIyMTYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTkxMDE2fQ.eyJpZCI6MX0.S6qTV-Byt0hx2ujyfKUADiqYG8z7CZoomhMddBeIT2Q + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/e91508d9-eae0-4dd4-a594-0dcb5c5bca33/replies/22d17c49-708a-4b82-9866-797535096f48/download + response: + body: + string: !!binary | + hQIMAwbFs6sd1ckfAQ/+LQurKJAyUkhcQpJPmLMLq7WP6CiCa6msbnBA9gzJf5wrDpxkLWwqQ0Q5 + 5NP5G1XqksrAC06gxd+fiBl+CN8oygfQcENlfnlg5TJwjss3Xx1QRG3n8ZkiIjCjNdlQKLZI2z4q + KpUZinXgzf0y9tIJNd3lIyr/XDsqqWl2dkEDBjg7azGODaim/34VFc17uOtLXzhSvAk7F+K4Stq0 + jtYNzRUYKtZwQIIdf8zN33ZFYgG8gX9mMnp37j3G8zxydHYtiSwFBkHLdOR0hkLyzm9TDxfXKIY9 + fAGlCrDPuMvKtXVcQhUZkYh+QcvghNC8Qi3q1KSuPnXTzxFccfrfvyslxGVGKAoYLS58kxdnK+Js + NhVY4XzGezbXfcniLLKbTIB/MxOL3s4AbOlhqCmZr/0CixvYZ0FqrrjzE9B2DacNR29aHj98I+Dy + NHr77FadYQWpsSnEwFdB5HbBUBTql/nFMCPFU//huTAMUsKX/MKXocLiGuTA0OdmZuCv1aioHIfA + 7ewKU8vjLqkB1H+gdg3Vb6fM5fggqVi3RJODyJE+a3RRR7rouvUoWpYyNCdq4xFgLHNcEL2ZgO+3 + mHTRLQ1pMhIO8Lfj39yYxHQQKBaZodED62uHkXnICVTrGu3RuqADwVPibbPR3znZn3sWxqi3wqj9 + QUbQlGv4KUD9YdDE0IeFAgwDw+fEwKIgGyoBEADPGsB5q3HOzh4cL/mEzvenkSs8H0DrSQMiES96 + znA1j4hv3EcZRqsFzdXcmugulF+ybnX//0cTgVqs1+RdQbknI4jo3DVqY9P572w5S2DndG+zDxrb + nJqoQWuf0HO6RoqTs9Fnbh/2F1nSdaUS3mZVDJNXg7PZkROJ6RD9rI7ZPsJwoHenepKIB5FWtCX8 + /1i2N/p6hZ0lSLvysryvqqKEu4ILk48gnWss/M3a+T0mgKa8MIovfELm2Pkixi/XzMmA2jyuB9DV + w2RyfixFmkddzXOAR7Vbcoj/RgqwyECIjirA/09dmtgDhQbY/G7xezu13qvRjiV1VgwhnVdzIc+L + aEWZUcXRra3pcFyiqHZDuS2cW3A4YcYfefMEz/8jNzaClZhLl+l1gYya4iAWVyzEIODFk5cg2Dvn + 1QK4oDpLH6G6Gqr3JUJInFETLZ7RUPDVhd99tAkzkrgG9WnwMHjyZTnCIPNWHNXGFuLD2TYCh7KA + d1XSQdGQr6k6Pj+uvzOklTEiPZNZoTAUUw+hb3trCXWx/pUM9+xI3zSvkhsyAYB07k3GSrzI9Te5 + NX7cR5psc3xYg90Zy33dfLvp6NFWKY/uZ2eVmy43JluMgtnmqgkidTk+AiKcGsisHpkMoWOQbW9r + s9n8d1Rod1R8Ln7ShvIOs+UwTia8or1PvyCGw9JeATM5PrPE9zo/1HYKGnkDlSpOf1bjlEy0DcrV + cMh0f2BY5GbOGTrQiQEebODd8U34EOXba0NMChxSV9E7yPDnU6wZO4LLXpRSyfBCDPqHhmptQVs4 + eXmLFuqoXd635Q== + headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=3-unabashed_steak-reply.gpg + Content-Length: + - '1150' + Content-Type: + - application/pgp-encrypted + Date: + - Mon, 24 Feb 2020 16:36:57 GMT + Etag: + - sha256:8afb0dba5ba8d66c1224baa7c46e72ae31a532dd236f1154639fb7d9922d2ff9 + Expires: + - Tue, 25 Feb 2020 04:36:57 GMT + Last-Modified: + - Mon, 24 Feb 2020 16:29:23 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/functional/test_delete_source.py b/tests/functional/test_delete_source.py new file mode 100644 index 000000000..4e9fdaa11 --- /dev/null +++ b/tests/functional/test_delete_source.py @@ -0,0 +1,43 @@ +""" +Functional tests for deleting a source in the SecureDrop client application. +The tests are based upon the client testing descriptions here: + +https://github.com/freedomofpress/securedrop-client/wiki/Test-plan#basic-client-testing +""" +import pytest +from PyQt5.QtCore import Qt +from .utils import get_safe_tempdir, get_logged_in_test_context + + +@pytest.mark.vcr() +def test_delete_source_and_their_docs(qtbot, mocker): + """ + It's possible to delete a source and see it removed from the UI. + """ + totp = "192894" + tempdir = get_safe_tempdir() + gui, controller = get_logged_in_test_context(tempdir, qtbot, totp) + qtbot.wait(1000) + + def check_for_sources(): + assert len(list(gui.main_view.source_list.source_widgets.keys())) + + qtbot.waitUntil(check_for_sources, timeout=10000) + source_ids = list(gui.main_view.source_list.source_widgets.keys()) + assert len(source_ids) == 2 + first_source_id = source_ids[0] + first_source_widget = gui.main_view.source_list.source_widgets[first_source_id] + qtbot.mouseClick(first_source_widget, Qt.LeftButton) + qtbot.wait(1000) + # Delete the first source. + # This is IMPOSSIBLE to trigger via either the qtbot or DeleteSourceAction + # instance -- hence this "direct" approach. In the end we need to know that + # the UI is updated once the source is deleted. + conversation = gui.main_view.view_layout.itemAt(0).widget() + controller.delete_source(conversation.conversation_title_bar.source) + + def check_source_list(): + # Confirm there are now only two sources in the client list. + assert gui.main_view.source_list.count() == 1 + + qtbot.waitUntil(check_source_list, timeout=10000) diff --git a/tests/functional/test_receive_message.py b/tests/functional/test_receive_message.py new file mode 100644 index 000000000..e0b9cbf08 --- /dev/null +++ b/tests/functional/test_receive_message.py @@ -0,0 +1,45 @@ +""" +Functional tests for sending messages in the SecureDrop client application. The +tests are based upon the client testing descriptions here: + +https://github.com/freedomofpress/securedrop-client/wiki/Test-plan#basic-client-testing +""" +import pytest +from PyQt5.QtCore import Qt +from securedrop_client.gui.widgets import FileWidget +from .utils import get_safe_tempdir, get_logged_in_test_context + + +@pytest.mark.vcr() +def test_receive_message_from_source(qtbot, mocker): + """ + It's possible to receive a new message from a source and see it show up in + the conversation window. + """ + totp = "625486" + tempdir = get_safe_tempdir() + gui, controller = get_logged_in_test_context(tempdir, qtbot, totp) + qtbot.wait(1000) + + def check_for_sources(): + assert len(list(gui.main_view.source_list.source_widgets.keys())) + + qtbot.waitUntil(check_for_sources, timeout=10000) + source_ids = list(gui.main_view.source_list.source_widgets.keys()) + first_source_id = source_ids[0] + first_source_widget = gui.main_view.source_list.source_widgets[first_source_id] + qtbot.mouseClick(first_source_widget, Qt.LeftButton) + + qtbot.wait(16000) # Wait for the client to sync. + # Ensure the last widget in the conversation view contains the expected + # text from the source. + conversation = gui.main_view.view_layout.itemAt(0).widget() + message = "testing 123" + # We get the file from the source. + file_msg_id = list(conversation.conversation_view.current_messages.keys())[-1] + file_msg = conversation.conversation_view.current_messages[file_msg_id] + assert isinstance(file_msg, FileWidget) + # We see the source's message. + last_msg_id = list(conversation.conversation_view.current_messages.keys())[-2] + last_msg = conversation.conversation_view.current_messages[last_msg_id] + assert last_msg.message.text() == message diff --git a/tests/functional/test_star_source.py b/tests/functional/test_star_source.py new file mode 100644 index 000000000..f2427312d --- /dev/null +++ b/tests/functional/test_star_source.py @@ -0,0 +1,37 @@ +""" +Functional tests for sending messages in the SecureDrop client application. The +tests are based upon the client testing descriptions here: + +https://github.com/freedomofpress/securedrop-client/wiki/Test-plan#basic-client-testing +""" +import pytest +from PyQt5.QtCore import Qt +from .utils import get_safe_tempdir, get_logged_in_test_context + + +@pytest.mark.vcr() +def test_star_source(qtbot, mocker): + """ + It's possible to star a source and see its updated status. + """ + totp = "251688" + tempdir = get_safe_tempdir() + gui, controller = get_logged_in_test_context(tempdir, qtbot, totp) + qtbot.wait(1000) + + def check_for_sources(): + assert len(list(gui.main_view.source_list.source_widgets.keys())) + + qtbot.waitUntil(check_for_sources, timeout=10000) + source_ids = list(gui.main_view.source_list.source_widgets.keys()) + first_source_id = source_ids[0] + first_source_widget = gui.main_view.source_list.source_widgets[first_source_id] + qtbot.mouseClick(first_source_widget, Qt.LeftButton) + + # Check the source isn't checked. + assert first_source_widget.star.isChecked() is False + # Click it. + qtbot.mouseClick(first_source_widget.star, Qt.LeftButton) + qtbot.wait(1000) + # Check the source is now checked. + assert first_source_widget.star.source.is_starred is True diff --git a/tests/functional/test_unstar_source.py b/tests/functional/test_unstar_source.py new file mode 100644 index 000000000..a477555ee --- /dev/null +++ b/tests/functional/test_unstar_source.py @@ -0,0 +1,37 @@ +""" +Functional tests for sending messages in the SecureDrop client application. The +tests are based upon the client testing descriptions here: + +https://github.com/freedomofpress/securedrop-client/wiki/Test-plan#basic-client-testing +""" +import pytest +from PyQt5.QtCore import Qt +from .utils import get_safe_tempdir, get_logged_in_test_context + + +@pytest.mark.vcr() +def test_unstar_source(qtbot, mocker): + """ + It's possible to un-star a source and see its updated status. + """ + totp = "270661" + tempdir = get_safe_tempdir() + gui, controller = get_logged_in_test_context(tempdir, qtbot, totp) + qtbot.wait(1000) + + def check_for_sources(): + assert len(list(gui.main_view.source_list.source_widgets.keys())) + + qtbot.waitUntil(check_for_sources, timeout=10000) + source_ids = list(gui.main_view.source_list.source_widgets.keys()) + first_source_id = source_ids[0] + first_source_widget = gui.main_view.source_list.source_widgets[first_source_id] + qtbot.mouseClick(first_source_widget, Qt.LeftButton) + + # Check the source IS checked. + assert first_source_widget.star.isChecked() is True + # Click it again to toggle it off. + qtbot.mouseClick(first_source_widget.star, Qt.LeftButton) + qtbot.wait(1000) + # Check the source isn't checked once more. + assert first_source_widget.star.source.is_starred is False From 916ed89c0868e1bc918d81754238e6eb2ea328c9 Mon Sep 17 00:00:00 2001 From: "Nicholas H.Tollervey" Date: Tue, 25 Feb 2020 15:09:22 +0000 Subject: [PATCH 10/13] Remaining test cases for functional tests. --- ..._offline_delete_source_and_their_docs.yaml | 667 +++++++++++++++++ .../test_offline_read_conversations.yaml | 701 ++++++++++++++++++ .../test_offline_send_reply_to_source.yaml | 667 +++++++++++++++++ .../cassettes/test_offline_star_source.yaml | 701 ++++++++++++++++++ .../functional/test_offline_delete_source.py | 52 ++ .../test_offline_read_conversations.py | 44 ++ tests/functional/test_offline_send_reply.py | 45 ++ tests/functional/test_offline_star_source.py | 48 ++ 8 files changed, 2925 insertions(+) create mode 100644 tests/functional/cassettes/test_offline_delete_source_and_their_docs.yaml create mode 100644 tests/functional/cassettes/test_offline_read_conversations.yaml create mode 100644 tests/functional/cassettes/test_offline_send_reply_to_source.yaml create mode 100644 tests/functional/cassettes/test_offline_star_source.yaml create mode 100644 tests/functional/test_offline_delete_source.py create mode 100644 tests/functional/test_offline_read_conversations.py create mode 100644 tests/functional/test_offline_send_reply.py create mode 100644 tests/functional/test_offline_star_source.py diff --git a/tests/functional/cassettes/test_offline_delete_source_and_their_docs.yaml b/tests/functional/cassettes/test_offline_delete_source_and_their_docs.yaml new file mode 100644 index 000000000..f8dbd9727 --- /dev/null +++ b/tests/functional/cassettes/test_offline_delete_source_and_their_docs.yaml @@ -0,0 +1,667 @@ +interactions: +- request: + body: '{"username": "journalist", "passphrase": "correct horse battery staple + profanity oil chewy", "one_time_code": "533069"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '119' + User-Agent: + - python-requests/2.20.0 + method: POST + uri: http://localhost:8081/api/v1/token + response: + body: + string: "{\n \"expiration\": \"2020-02-25T22:58:41.009384Z\", \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_uuid\": \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", + \n \"token\": \"eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTUyMSwiaWF0IjoxNTgyNjQyNzIxfQ.eyJpZCI6MX0.paQkJo3j7RMQRbSOEWWrdOscaM-2Js8qAsa0yfjIHTY\"\n}\n" + headers: + Content-Length: + - '317' + Content-Type: + - application/json + Date: + - Tue, 25 Feb 2020 14:58:41 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTUyMSwiaWF0IjoxNTgyNjQyNzIxfQ.eyJpZCI6MX0.paQkJo3j7RMQRbSOEWWrdOscaM-2Js8qAsa0yfjIHTY + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources + response: + body: + string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"shattering lung\", \n \"key\": + {\n \"fingerprint\": \"FEBDFDBB44595D38025EBD7423EF5C44029774B7\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADb+ADPxqZiKVKvYqTKQJgWsAMtLUWmab+YV0XM7+ytuz61F8xh\\nBJve/MoxlsFJTEvau0JBRIv0SGLAeFfCtc6WbC6MJ5tQ/ioWoIKTRfv2LqjkZr4e\\nCpbUHElvPfxxDE+zEKGPJE8tneJG5ajMIiXBbh9bt8/RWuAcSq9XldmmRAPct5iS\\n/PG49up/ztECkxKKvsLxVjpqJIH9auI1wZPpE/HfSI9PWLS/oAbSxIobcSvtxCAv\\nKlzfbF8iN9zeI+2mfrLlUgAvXwuwhDyzg1o5L7fNgkfVaL+C8+Uw9kyDLh9daIlc\\nHc9GoIO/CJTfQy6kt3cADPDwI64ysYZ2+UPI5LYOu3RRHF3jEi82C17oI24I9Qzh\\nrEHf8UixVY9X7RpOjiJ3PO5PKjFbyClpYgybACSqQXJGZgsBVkC6Fug3b3hgSWYK\\nkaULr+pTBneiyFuNBUv3h7e3/+3MXGl3gtWsAgptgw8ueHNp7CmyHGM1sIcYVPyC\\nVLMhkLwb29TFGh+6QrA+uTP3+G9lga49B3ufRJenHXCs5DRPEqNzCkYPZAPFnOYq\\nJsBf0DYzcd21aPQ4XwoLuSoBl/xYyYF3/M5B2tiY4zDL2lLkfcAgNVkfpn/oMT9r\\n/cKdwrsJ7vZxfJRoF7j94TXGy4uvpwnCYS4LBTlcaGMMRHRaAU/3DjimVQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8SkxOUFVYUFE3WUc2VEg2VTNJSUpMN0I3RENG\\nM0lYUUVHNU1QV1hFTUg1RlRBVlJYSFROVVMyU1pMNFNLS0RDRkVCV1ZWQlNSSFJD\\nWFEzVU5HVEdCSFBWVEVDVENBU1U1MzNaNUlTQT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJECPvXEQCl3S37d8QAKQXcVEniONj\\nimzLp8adfQcH4cYx2/w0FDJ8i8XObG3+NpXvyU6mY9Lh3I8OEBiJpjEKDuNVyhll\\n2SdDW7HMKYOyuRcXzbheyOI3B/qyxKEtwanTjCePCKqVQltehOeYffihU5LGVEyq\\n0+jD+QaDAy/pBZo7alqc2yeS5j/hyubOUQ1LWgpDYkbdHeprixIPAZV+egXG/cl/\\nBIZloQQ+Q3QXQeUEtn/OhpCV6mO7Hbf9yWM8h7P/eCRhs7lve4tSOSx7WVKnL2sf\\nQ16iyaC93IYEKMNVIwyLQLif4vzkRI8EZ4TSNLMR+QMAKww2g7Y+NNYpnoFjjAud\\nUp4yKk1P5LQtcYhEUNISY09ZBLLDrKss1Vj7820RGnyEyyhxo94TwJEjKDDJxtVH\\n5Lv9sFzTAJJdEg9DhD91R2GLwAyKPJfgEA44nvRIzdBdjIbPsRP9HAz0WD8vGlDV\\n8oUd0tNL/6Uf74cCqYOD2jBlAzqBRiKC7dEwV04rY0WQrLI06N+JoCdo2Fh7MAtz\\nNUjrUm5clVsTtJAel2y+PjqZ6Z4jFiLkpaKomvT6tR33qbiTxzRzXPDHANnYNsiE\\n4JZ+/ekcsO0pH6GU7fR7OZmFSK5YBOg/MlOo4OeesjSsObLZMLOteGJWkgqkYE6P\\ntR7w1V9PkicIp1Ap9bO0d4TBEybJHYuP\\n=cPX6\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-25T14:51:46.976004Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/remove_star\", + \n \"replies_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies\", + \n \"submissions_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions\", + \n \"url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"uuid\": \"fe5f5269-7d1b-42e6-83a3-8538b4d60122\"\n }, \n {\n + \ \"add_star_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"holier-than-thou bristle\", \n + \ \"key\": {\n \"fingerprint\": \"6A220777AE0EF8C4A45E113AC442C7463D52B137\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEAC8MIKb38NvUHaL1MdDLWz7r10myn32/NqDK5eyHlXrtRJfQvH5\\niAJfT3msd/ussndpFLBtGhZS6T4XJLO/J/ssP+x7GV3wZ1Lj/kO2vD2ewSzOE7Vp\\nRFq9NhQ9LoWUcf3VPD1VK+g1HdpP1BMS/zfMZbugC5QffWz2uG0b3EugHmuWpGpS\\ni7hDEC464sByj2NW7BKdNhBesc8lGeV6l4sQluFHn8SuwKGuY6lPaxZuz9oOB2co\\n2UAByDKXn0WEPRyjzLErsn2BusJUge7gFXCHbuQ/SHsxf/OIBTBzrIfpmNL0g1Jn\\nrFc2smFCL1oDme6O7VZcFUD7TWhyZUdr7GuPOa4KFMB3uAWuFdpok/4IL2OipsS/\\nn7yCUr+e9quKvF+QIb0DVqx+oLUaUQH4jOv3eS2OnviJHP6+XN12EJhmrCNCJncB\\nzw9BXgx3p8KQe67AWrX+fWqYEbYbwxrXehXVrvIPAWzhFyE7cMaL29CMIWCJtyGp\\nFDncbDbUJF6SJFfyUacDgyiMuIrhk3xkdSfWaqg6MtKbqVT0MCzfHs9XMXbpfDmu\\nLCvfsWuGGC9ZVo37dZQT3slRyBNjrEV4QLaBktMNRIo8uB14EdFRk2/cgUhPAb+N\\n0orccsU0M12pmjMWVRH+PetLtQYCvO3MVoPtHMLywBOQ+O7cj1zix1eJEQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8V0RSWllaSEM2TFRTQTNBREk2VDdETkhaSjRY\\nWFZFSlA0NVBBN1FVS1A3T0xQTlZHRDc3U1FSM1M3UEhVR1NaRkhZN0VHMzQ3NkxG\\nWDJOV1FaWjNSR05HVU1RWldLVkpYWTZWSEI2QT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEMRCx0Y9UrE3ZoQQALo0OZEeeSDT\\nyQq0rCovGF5b8RskKEqMzIPKv5EtKwQIZgQBCG3MKhSJs98SQMBfBOLKzFMU6gEa\\naqiog0FRBEQw9G6dtmhvNdltgTDL6hcSglcGG2Ihsa4nAo1z6Kjjta29zgK1E7Q0\\nmVlp5sd5MG7wCPe9LKCcCWrekPLD+c8MZxXPu0j6YOr5EChiAL3QiE5ZTpWhaNCE\\nV3BmrkZClbIYwqUd6oRwSDNCpMc0Zj7YNjU1Z0j0EsdsE2X2yBfdp0er1jY4Nh4c\\naLe6ybDY1QqU7t8UR56LsBE4ejwrQuAWHtc9B0Ky0QdI9M6CLE42sHTHutUoumvH\\nD8ODI3mc/6NO7yrvivoiosqMM30fV/S8F5Q5W/N0T3nTCtPcjVQSCp0t7ngqnlno\\nYFvZJNP7NRlno2qICg1SecXXdZt2/PvkbEgZHykCE0vUA9RB0cfALX9bQtwMvkOn\\naRbCsW+vY9q1xH4gzG8E3gqjQG5XzQTnupgFER6wXmWzP/JEUG8eieYD+eStTX9d\\nR+P0yj/Udh+u9IwdWqP1uvvtbA5IC4Lr28BJnmKOQodEoyJQtb6Y5jwaR3hU1J4K\\ncbiAKk+6YZM7usOuxW74plSk8LiRWgypCcb8pum8LnENa3kYGizump6+np9wxlQ4\\nGUaAGingR4kg2645Shn+9xUIE78jCl95\\n=FfUY\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-25T14:51:48.114824Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/remove_star\", + \n \"replies_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies\", + \n \"submissions_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions\", + \n \"url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"uuid\": \"d894d52c-c191-4aa6-bfed-869f598783df\"\n }\n ]\n}\n" + headers: + Content-Length: + - '5354' + Content-Type: + - application/json + Date: + - Tue, 25 Feb 2020 14:58:41 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTUyMSwiaWF0IjoxNTgyNjQyNzIxfQ.eyJpZCI6MX0.paQkJo3j7RMQRbSOEWWrdOscaM-2Js8qAsa0yfjIHTY + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/submissions + response: + body: + string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/81968b5d-3f68-4e14-9749-e800434834ea/download\", + \n \"filename\": \"1-shattering_lung-msg.gpg\", \n \"is_read\": + true, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"submission_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/81968b5d-3f68-4e14-9749-e800434834ea\", + \n \"uuid\": \"81968b5d-3f68-4e14-9749-e800434834ea\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/6df30b7c-a168-4009-aabc-bb39abb4a018/download\", + \n \"filename\": \"2-shattering_lung-msg.gpg\", \n \"is_read\": + true, \n \"size\": 692, \n \"source_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"submission_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/6df30b7c-a168-4009-aabc-bb39abb4a018\", + \n \"uuid\": \"6df30b7c-a168-4009-aabc-bb39abb4a018\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/f04ca1de-b40a-44df-a099-a07882ce6607/download\", + \n \"filename\": \"1-holier-than-thou_bristle-msg.gpg\", \n \"is_read\": + true, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"submission_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/f04ca1de-b40a-44df-a099-a07882ce6607\", + \n \"uuid\": \"f04ca1de-b40a-44df-a099-a07882ce6607\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/87e57d4f-c6a0-4ee6-8d99-2a23bfebd10d/download\", + \n \"filename\": \"2-holier-than-thou_bristle-msg.gpg\", \n \"is_read\": + true, \n \"size\": 692, \n \"source_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"submission_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/87e57d4f-c6a0-4ee6-8d99-2a23bfebd10d\", + \n \"uuid\": \"87e57d4f-c6a0-4ee6-8d99-2a23bfebd10d\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2055' + Content-Type: + - application/json + Date: + - Tue, 25 Feb 2020 14:58:41 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTUyMSwiaWF0IjoxNTgyNjQyNzIxfQ.eyJpZCI6MX0.paQkJo3j7RMQRbSOEWWrdOscaM-2Js8qAsa0yfjIHTY + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/replies + response: + body: + string: "{\n \"replies\": [\n {\n \"filename\": \"3-shattering_lung-reply.gpg\", + \n \"is_deleted_by_source\": false, \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_username\": + \"journalist\", \n \"journalist_uuid\": \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", + \n \"reply_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies/d8bf6bdd-9a8c-4354-8d86-971b0cfdd133\", + \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"uuid\": \"d8bf6bdd-9a8c-4354-8d86-971b0cfdd133\"\n }, \n {\n + \ \"filename\": \"4-shattering_lung-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", \n \"reply_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies/4f148efa-6d29-4928-ae37-264118431bcc\", + \n \"size\": 1217, \n \"source_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"uuid\": \"4f148efa-6d29-4928-ae37-264118431bcc\"\n }, \n {\n + \ \"filename\": \"3-holier-than-thou_bristle-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", \n \"reply_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies/2959968f-dc8e-49a0-9121-ea172d0eddc5\", + \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"uuid\": \"2959968f-dc8e-49a0-9121-ea172d0eddc5\"\n }, \n {\n + \ \"filename\": \"4-holier-than-thou_bristle-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", \n \"reply_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies/f0ca496c-8e55-488f-8da1-ccb2df4299b6\", + \n \"size\": 1217, \n \"source_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"uuid\": \"f0ca496c-8e55-488f-8da1-ccb2df4299b6\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2275' + Content-Type: + - application/json + Date: + - Tue, 25 Feb 2020 14:58:41 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTUyMSwiaWF0IjoxNTgyNjQyNzIxfQ.eyJpZCI6MX0.paQkJo3j7RMQRbSOEWWrdOscaM-2Js8qAsa0yfjIHTY + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/81968b5d-3f68-4e14-9749-e800434834ea/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ//W9Kq8XkYkXBfLXZG8CLgc+nzNrBJYLsiT5B6NP/1vACCUUFpCmPGM/DH + jGKOp7QcjLhKXLW0h96ED3lavwpRTV8oy7IuXFNcld+n06mgosT2I6m9W+q0GaoY98ClTk+liU7F + raU8n37kB84Zh0dS9MFErLanAScDm7/RakmolDXA0TdhPagMBmXMHHk/rFRd5R7VIXHFipgu9pXt + 9g7YmELJHiwkLkA4f+0VQOaTVL4TqoUm/M9lRBv6Y0Ypr/pksfYm9SoANCSDnY8H6OWvETjWhlI0 + C4BoAij+/zsmJviYjbBBlKQx22WFnFsqCQ/DqipUd5LNrI2bkYmw9tUfquW+l/GjcvHusVLBhGn9 + zIq7K5FDdcnFUUtMbkD1zN404/ZgpgEf4CjuyyfbNBpW4hCFoUVn6qkoIy4VBklEDS134TjKeE/B + 1ZGSmTm5dGZ+GpR5SY8hxtr2s9zrIAraGEWHdlchb9joanGpvCxKC9kAFnf01hsoM9F0WTcySIl3 + yn8yido4DNZnc2y0jBmxo9uPaU2Z6xYbEBykOu4FZvIPxozV4mY9N5LFOMPASU/dM0cOPONgD8VQ + kq+ujwlrr2T4Q+ZVW0f4j5xatb658muZqxJK48kE7JlgEkwu2PitLTB/gP0E1mM+i5ykZXsjrZJN + UqioaJctC0uDqJHBIwfSYgGK6tM3O/Iq9GOxNnzCVISapJLsBF4uWAV1KhML7xJiZJ7UxbM/Xmoy + qFd+G1w0sWWSfzPsAttFYXTMRnlsyZ3rzr+BFKo9zSdUFjUAt2BdN+ij/o9HT2MQ1hsEEan5tREs + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=1-shattering_lung-msg.gpg + Content-Length: + - '627' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:58:41 GMT + Etag: + - sha256:e65a2a839d9b897b31032d2734362c027eada69e3085558855b5ec93802a29b3 + Expires: + - Wed, 26 Feb 2020 02:58:41 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:46 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTUyMSwiaWF0IjoxNTgyNjQyNzIxfQ.eyJpZCI6MX0.paQkJo3j7RMQRbSOEWWrdOscaM-2Js8qAsa0yfjIHTY + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/6df30b7c-a168-4009-aabc-bb39abb4a018/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ/+OEK1sLSC/73KDsYffVoOYgUJ3eJ1qWulY9y7ZZPgr9XnklQY6uTmM5W2 + YQ2hBQCl544PPswy4rK+3xdxqbShsuaCc8INFKKyn9KcV0RyL4BFV0Ch3r1pS8QEMYcuooFDeSGC + M2P1SJsBKdgoH+Rh3oWEV2naeQGQf/TZ3C0fVb9mikVncHS6lyMgEY1Qk8bYBZV2Jd/XtE8FHiwl + yHlQXdTBDHUs6Wr2KUvY8oxVqupJf8Nv033kYiT+2k/ngV4HcNKAfyTkoqfhASWfl/ltnJiXpCct + /egLH0Rqr0Ha2nO+KE0jaqArzXefsrxRt4Ps9uiRgdXDFdrF+DsOojyxLMaWQzUWqiTsnsmanhhB + uIRdQPfw0FlRf2MyDDCBXWQTjtUhYPVGSm0iCuFf/gMoN57gouL8+QYqnzWmnryyj/XbTrVEUsdB + aCJ8t+/UAYLazlNc4XsF8MW/yHmxs37CoLmR98GFhgpNk/PRJnKaiITBRVMfXe/XuEEfTuGryUKE + IXCtNgSwz1eSxezLmqiJhMv0SysjlXhSxxicZ1henY0JQUr8eMU4Ag3Y/uP2mLBlKe8xPuGME8Vt + g3gDZHhA4ClqoPzBcys1tHe9Ll6DBlJtJ5UJHYNCBdJWIy5f1oBoivQNTnO+ytImK4rNozPSLRAe + qUZIcCKciBabF+CaKODSowHA8pYMt6IJIeUsy2l0kdbJIWtpSgahCSAcM1qPGPAEiIYJhrgqbgi4 + imSeUdOFJrvOHV74uN76tZxLdd50OGfKfqclNua8VcTclnWccbaIHAarWOAMgh8sPPtHd57wfIed + ntluC9P6JltuS5Mb4ggkCTgxxxthVSmeAkVeZhB7DkfcSL6r6NJqlJjlcevG8N6TQ1VbQE7VmBE3 + gyFf6uTVcLQ= + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=2-shattering_lung-msg.gpg + Content-Length: + - '692' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:58:41 GMT + Etag: + - sha256:2b3e6e346dcd09ff06d0cc93b39c33687093fe1762bcd95db0dd1a144b42eb67 + Expires: + - Wed, 26 Feb 2020 02:58:41 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:46 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTUyMSwiaWF0IjoxNTgyNjQyNzIxfQ.eyJpZCI6MX0.paQkJo3j7RMQRbSOEWWrdOscaM-2Js8qAsa0yfjIHTY + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/f04ca1de-b40a-44df-a099-a07882ce6607/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqARAAwnhdBSmNYngWmN/VO3X4gEYqJYXu6DZZ+KkY7+Lxfip2x7qS0VHf2+gc + kTqShZA3ODlLcfuP2DCc6pvR8P3yQMUPHFZAEOKG6HMgBglmuaavDzEVj7IBEZ99leX1PGFyVVwn + c5M5jaKOLFJHdBXmWJ+YJ1KUdlx42LZGY3eCXL+aD5aFu9Kze0nkRcIUGMZk2YIdtPIJujW2VUzF + qHQ/EIoe3YXjXu2FrWM94WHrxs2BHWBQ6pKU11dQgM5g6hOql3J0//2I5LD64akk1gKP16ONeXpH + hC4vtb75xv687XnhoSOV90Zi6Uujj2/PK4YkEW+XAB+VxT3GoEyG+XWMjAsRzMBK1WkfXdQmRUBU + jM7kOsu0CDfqYVrVMidWtW8Ldlg2VkMaxVA6EwkzxmGKa49W7RIvQCBUd6O2sGLRojAf1QCtvTnF + kxtcmgNAKSQIFQA/QyY2gsXbO/vD4tFTGxCtHe0ODkyISsJz+w5FzZts5ySJmauT09EZikcvUqft + 7njsKLmxCpK59Gx3SwJ57hlKPm4AYuPz/zgy+JvrmGYEz2JhYmH8HWmRQtpXdCGzS6FU59/51dUt + I09RSIbvWEqzrR85Av2tMLbeuF+2MdRNuribbf0ZTJ7VtcBwq91GHNd0x2UKC5Jx8mqsgbVAYA9X + 8hU+43azu7EErDOR2A7SYgFUTI3KX7XOZVFWE2Vas4GPkSM1F/C/Dd6SZDpFZZEhrRp+pFuyPDSz + zZdiK98NLrppwIfr6sSc6Ksb2k8qs2kc3zpaYH+ubgFNt3blq9j9VVB0sLvFvffiZRU/qL/RqN18 + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=1-holier-than-thou_bristle-msg.gpg + Content-Length: + - '627' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:58:41 GMT + Etag: + - sha256:3c408cb123907551d63ec2dffe0188d466343e227ad7ca467ed2881a92ec8506 + Expires: + - Wed, 26 Feb 2020 02:58:41 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:48 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTUyMSwiaWF0IjoxNTgyNjQyNzIxfQ.eyJpZCI6MX0.paQkJo3j7RMQRbSOEWWrdOscaM-2Js8qAsa0yfjIHTY + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/87e57d4f-c6a0-4ee6-8d99-2a23bfebd10d/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ/+L664jCUtzr0iFOHkWf8Cdo5hXQtlDCYxEbR+Jj3j2FyOWtGpDX5aSdTj + ecLhyDWmaZtm9xnXaIrmJQY0TAJG7VabilYFrgARihUt0oOZyi+vwO9gEc5szEP2Y54aGkV7ZEPi + qdBzjCpWTmrIyU1DcA894EXTgtsyCOJ21FPVPfuIhXFBO7Qz3bXrCdeBGUKpz5IiiYxV1GASvgFm + VYmuAKNWBKMnBjxbJ4BLe0zYTQdSWP5xgpmkHmBDrPDpjlrg1Vt+EPXBcxcGo9y/zOE7ovkhyxwo + pERh4CGdDnKVHLIhkDOOXKJv/Bi8Wwvle39A4jSXudfqTzplqD2Xmg/yZeV2V2coqDhFnkkgJ4W9 + 4hNAF8bvkHDV/LtihukhJoIWYzV3uD0rwwwpU5QEzo9LxpqqH0QsNKfD0BysUsmyHgeJcxxdc/AF + jORUMtB4EwaQuhA2lOnJEbx5TMvripQ6CH/xjJmot5KdbD3CD1tsdDzm0EC8QTuD2u4bHBRyVkk+ + QXDMbVA52NvJXLABNiZckfZf2TUk9S/6/9pt3CRv2Iygm0D5hw8P0H8mu85HpQfxkFDHQOHHyfF/ + zaXndJZ93a4cEt7rdH1xcJd43K42Dy+kXe+m44ch8iyevNhMtaFZVOovHNkEA+k/Zq7HtLFdUBgN + 5GiiG1/f9x/9duC7JWHSowFNBFYJUZoIUML46U85bOD6Ac/CSXVOdhq1KJp4JADQJVSNNtOSerw1 + yzg4aoyIjbpZWuPHtYhQPrCY/8qh3RAe3Yv72VtUXS4puAGnKqZdXfGWFKzI7b7ixd4rk9RFGXLz + tmUFgwaejxYokNlFgqD5Rpbzp2mocdF5f5IgW8eMB05zhkZC9B9U2qyt9kWaNAJ1RGxC91aZ+Q5G + xEL5UDAa6lM= + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=2-holier-than-thou_bristle-msg.gpg + Content-Length: + - '692' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:58:41 GMT + Etag: + - sha256:24696d5014d068dd0ddab067e559c7289e3481a0f973ae62ed858ee76b70c050 + Expires: + - Wed, 26 Feb 2020 02:58:41 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:48 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTUyMSwiaWF0IjoxNTgyNjQyNzIxfQ.eyJpZCI6MX0.paQkJo3j7RMQRbSOEWWrdOscaM-2Js8qAsa0yfjIHTY + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies/d8bf6bdd-9a8c-4354-8d86-971b0cfdd133/download + response: + body: + string: !!binary | + hQIMAyPvXEQCl3S3AQ//Su4IbbZUNp9y375XQP/FfjRQ1QkOhoUTeiTxl9+oHrDIv/2BYMjc60Qs + AwX2215UPn1NF2p+CZYH+RPEAVwKckmvsIesi7G0d73mR5P7c3Gbzve2fVZzbd78WQWCfDS0ABaw + DTJwysaIG8aGKrOE0wPTaV6OITW463uAxKzkYrTLYYFSprtjAJ7mAGaqfuuSbocFNYYaqCxg1AoL + R+tXNzr1jCvHBMtaQEZf2pN/uaXb+Hon7rBq/pt+tv0+oN5p27XlQd4dr6xxb8RRmBsyKVaZa2DB + J72ePmrZMWLfrwUeg1ni05MxohRmkauTuNTAB7AHZBFoLBaeAmQZXg9BuXTdZAE3R4QVyFiuCe83 + ttZ5I/jznZ28fQTXmh5yM7LDHRvoNDvic/q1GV1Is7FHScXPO7tMetnDBvQew2cJIjiDTPcdjYJA + 4nH0OJR7lYyosqev7yMmW9vghNGd7hOWl1NcOFiIf7UGYw1qatV/GH4XZdZfXqkpOfwHcrr9XD/G + QGAfA7C77loy/EWyfwyzZYKdGg/OHjstc4QfeBOZjfl6L589eoH8f5pWj+c1M14fwls/e1Gv69XQ + KQNJGG6IFHg4W70bA7xMJCHkF1/9TBTe37widKrb3HIUrxAe2XkcWCllRBZNvTI4/jbbmNz2vLEm + W2Sbh8HQP0qxRvDW7i6FAgwDw+fEwKIgGyoBD/44JNVkjyhoDr+pefNFZuoXya61PJVRWPVoudO4 + Sze1nKTfyWbpYNMdWeqWZL6R8Df3x7wVX6M9oHYVnUSHxXTKddv2E3CUWAPowV+G53pfpL3y7Ik9 + WMTKxqoSw/hdY6g5+SqmTMbDDE7wrSkZu/aknUEwHetvSBeCx5H8Jg8JliDcMXbH+fSxn0TqS5PR + ipz0I8e9PJI2gKo61qOUBGtyftsVAdvopG/5t+rRBeuShNq0ZOkJbvK08pAAqkbrOHLtawR6HZOZ + 4tFRZxXOtXebV82EHQXDY+crNXK1Ur/0oV8/bef++9UtB/hVM/Dw0YBTTwa2JUCNjbHv0OIA/lIo + sd2TpZRUB/R+AXX7AKiySERpD9VPTzi7DmilZS4xHOQGArrmxQBbvNl72SorZNziBk+LH9z4Sizi + oQKs3Yp8JOsQdtvldyzGo05CCshi0ffSOJHuIetyZ2S2Xpg2XyNXpcxSFgLDhQ6zVDI42YOFlUPD + zvpJoeMvSAVWgwsk6Gu7tk5pdUM1hW1MpscHZGSRiiaYYQxvHbESXZ5hleY2IADIu4G0J71lQkA7 + Gx68KD4AKHII0qCctRV3F1RASNCVDJBPa1Q7JODNv/DTg8dcYSvyKzh6XXJlK4hkTdvoZcoYeT4L + 0c22bFDoIJnrKui305Sfgdt7mc+YWc+hkQj32NJdAR0eL6TTeawH9BkKT7WKpkno0Ay7p4FQjWwZ + Xae5+i+AcSDX6/v/EDfTva3unUpdQlhYt331qEYOFGX4o+7NPrS2SZZUEC3uitOgQWUqUclAM1qt + LpAaMbKqhjyr + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=3-shattering_lung-reply.gpg + Content-Length: + - '1149' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:58:41 GMT + Etag: + - sha256:eb0474c74f62b39f05a8cd3fa85772f0ab20583e6b18bd62f9954f8d286a733f + Expires: + - Wed, 26 Feb 2020 02:58:41 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:46 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTUyMSwiaWF0IjoxNTgyNjQyNzIxfQ.eyJpZCI6MX0.paQkJo3j7RMQRbSOEWWrdOscaM-2Js8qAsa0yfjIHTY + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies/4f148efa-6d29-4928-ae37-264118431bcc/download + response: + body: + string: !!binary | + hQIMAyPvXEQCl3S3ARAA0g0zxtmYrfk4v/SdaDV12hrRHnzUUj0dVseJYe2ttRNR15sA8Zaf5tpq + O6Iw7mclFm35zw8cdWGDmxQtHBgGxsfOTeHesq2RdrcYGpYl08gFTfQNI2SJYrlBDtMbqBSYbYgw + f/dHvz0ZIf5cxP/2Fi39sfjBzXuEMb39FP2Z9y2IstFPx5tshzk/VwltEPRY+kFVXYZ5ZenVbawI + ouyEbkc/thy9cdk1DgEqSNOLfN2XtA+e9QWAcZY94kVGEFXeekOczU3NBHUvHRMQAD76W/ymCIBF + gqu+0yDKRUVdABey6g9UfPhEKbbFA8LErKsFFt1TdnQ1+jOtbrs8JGkyF5w/oxEihiHmLBR6XwPT + 3HO7voV73wRrvO+S46nFB5TH8R0sVcFtej2ETMqC1Bb9MIV3FjqE2nq3j3KPP6mOn8QnlpIAlJPR + Ua9DE5e/C3jq/xeSQTM1k+/q36A/xqoGlt7dqkX9kSUWj6gP4RVMhocB7+E7xlmSI8dRT+IDOtrS + zuYM6ND0BewiFbZsXKeVF+adOJF7zZ3tjem0wZbewN+JVE3LVj1krkQS60AyLXUnrFylDTWw5uWH + fYCfJmWVFX4AjrplkcEcXKi9nR9/VBTkLWjzU0up3UrIY+EYErbXQ/QWwMmla59qwlwcUfkIoZ90 + o0NReHnPeS7rrUv0tm+FAgwDw+fEwKIgGyoBD/9GJZNdGhgVQYidN2swLPPpVB7UcC8OxtCHfYlL + xEI5LVEWJr/P7QBlEUVNQ64qW3rYPUpS/2F6ECnqOa5mLfHRNAzFZRHr+Cwinoo7epmkr4dXfmw+ + IH9AkZVP5eDBFG5Eg2iMqfCKUi/zYqJu0SWxIOGzY/iR6e2QdllnEkaSWQm/IVs2QELU7b/nSVSQ + jkkULXnGWxXLljZqrBHMahdGNIF4yzC2ndVF/oezUuNOVFbtzdSEo9dMqOZozpBJbpoHxHJrDhfJ + u6VGT1Bk5M8Ncc6KNYpmVx2if+CRHJX9mRkySFF9O3N3dV6+crQepi37aOi+yhwzKWvKZsV8TGf5 + 0RT/YmZs9LHvzOZdRnVcpanvlgf9js4q09RmhA39VIcAsM/zJziZVxRw92MW1MatKc1+s9IxgPa/ + uA1QbBA09Tgbd1ZwrBWRNFdrr75U01hL0n/ybNpMK3RgEha3OTaUTUv0z2+hIX5I+oTvY/cG21sc + zRkdmrrrZ4zITBZOHSZxcAVTzxZRG0990/n4HRt94gJrR853/bZmMZpHsYRwjw13iaLh/Y05/Uct + 1VL6cSbXAOnBreBq282koCo5rhGsscM94D5pfi1gNEXdRDrzYu4JUo/vbZ2i6gZlIB3IXu/PIY4J + XVmOVHlZTiHTS000U9Owwqy3c/awB6NJDOsl6NKhAdphXz+N+FTbMsD+I9lpf7jIUnh6s32WyUKv + JwIj8H45N6jRfrEiYesDis4TFCDHuIaGABJSathAtlREWM4IpTUlQULECbeVAPkrrt0/L0Ei6kho + ia3I+YdvjJ1L3tWjzsJy3CmeMg0xSkcdKGaA2PGSgW8CcjS3BoqWDC/4uLnaLYtCogy1Vj7PVZlR + LeAFExfBbs5i68l4Btgx1W9vVi0= + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=4-shattering_lung-reply.gpg + Content-Length: + - '1217' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:58:41 GMT + Etag: + - sha256:7c85972174fa8aa8ffa3aba4854b94dd632d60059571e888446ab7097bc549ca + Expires: + - Wed, 26 Feb 2020 02:58:41 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:47 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTUyMSwiaWF0IjoxNTgyNjQyNzIxfQ.eyJpZCI6MX0.paQkJo3j7RMQRbSOEWWrdOscaM-2Js8qAsa0yfjIHTY + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies/2959968f-dc8e-49a0-9121-ea172d0eddc5/download + response: + body: + string: !!binary | + hQIMA8RCx0Y9UrE3AQ/9HYSN9b87iFtrxLwDrM9+RknIZnh72wokumSkNxa0IOKYz9xL7Mzt4SSt + 7LHXr4A/ICi0KHJNRLcDBfviZBW1ByG2p4N5pCa31r7otaXtmwHm3fY5o3wgFE7m5rD5r6RizI9b + jYrGd0VtGLkyHgRN74n1VsPSuiXM9CyoNHMuFv7E5Dk+952Wfy/WRqhX/4Tb2dZOtA8Bj42Txr9R + 27iXOIVhlhWltD4LSXT/hH4QEmex5pVo86F0pvCTH7WIFBFY0W5pyVdG/AuwKPe92Wav5usS5HI4 + GcmRgESrK43GmqtO4L9/ElIpP0fKzvmTwS9iQ57CnG8vTnVOYxPkzrrpydOzn3rN8e6YCdiT3c45 + YSgAI3ibb8aiX082IjspCgm75ob23o1CdMo+W/4bKa3j2tUhQcKCOzACBMNAmJbJS/ylKcB1uOdb + X5K6ZxEMvzeWgOfZ+e6BvxAVir9o0HxW2knv13jVvbQsT3m/wIi+7PgCrgi1GqYLwsxtsmEQz4SO + L8qnCHmA79jF6v5XKgop+vuoAhhPepmHzRLxMaCptwFTBb8sv6uw25FZWLRRnSLx/3BLk78SXLyi + ki4KGWbaFmWeElDJx9EK39nvY238x/QVfEiGVExsiKLBZ0nyB6sBYK1czmY+bnwZxplTO4fqZfdL + V94+dpKEzSPR10dfVliFAgwDw+fEwKIgGyoBD/4u9udpPbhgQ15A+Q1wXroNyczh9NgIuG1N3NyM + oCc/alGOPpL8DnwELKQvRJuFSQ1iToS3lij3ILEQa+A95HKl14l3IwtrrIRVUbjcki2dijORbIb9 + rWctFxLzdKtSEFN3gnbiey6S18r8zeZIZv25ZvJqlXQJYU0aHVnLUvFYUEohW0ZfyT9km/xQVqsB + dO15JoZJ7u8ZyrFMSUFAbzKuseuyvphDCnWDzWQ6lGEOMNTvlA+zEMFAuCpSfQ+gQabW4CbvtPT3 + TGJcti+IxCOi3/Jb7X4BBTXbI1Qx5QI63q7monx3T3U92PakVovyH+AzO/DkgRv3nHCZaRMFU+jn + U9fKt6yJTYNaP3Qf6tQev2fPRXZkQ40F08NhAeMlJZsooRn04A0uIviIzsPhpEm/M3z6prgBOAsO + fp6vFf3VttAgkpeDA876VvrpWMsVIm9sY9rwVMbIIC1/Bb9MT4Od+MnZQkxl49ey2vpEZl3fNsXY + VoygF4TwUBtEvHdoRF92dl405kIisq/NjXwhkwLeEpoqKm6vwdQQMwIYvWILorSkj8RCwX3xgQUY + WUBLS3V7lYc+hXWiGGQIWYaFxs18bozc0egVTG5ZHfNpBUblZxCS6AlUDz0Bai4WrEY693KV43Be + YHg/giqoXAffqFWrahAgEnNggfLGSSnedTFCn9JdAVyqrC39HyNCcRNrpSCnp0726smN98RDz0t8 + 2kSEBeI7xzcL3leaIqNalkelnyz+wT0it+UdExn+kUnmleycYNgnLHuoU80uZ/qffGIPiE0GtiKP + zZCieEk9E5fu + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=3-holier-than-thou_bristle-reply.gpg + Content-Length: + - '1149' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:58:41 GMT + Etag: + - sha256:28477ea9d94680deb5811e5353156c845a12b1be64241bd1a12daca38aa676c3 + Expires: + - Wed, 26 Feb 2020 02:58:41 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:48 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTUyMSwiaWF0IjoxNTgyNjQyNzIxfQ.eyJpZCI6MX0.paQkJo3j7RMQRbSOEWWrdOscaM-2Js8qAsa0yfjIHTY + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies/f0ca496c-8e55-488f-8da1-ccb2df4299b6/download + response: + body: + string: !!binary | + hQIMA8RCx0Y9UrE3AQ/9F2yciHwJu/CbKrZsLFSNVNjrCbv/ykpPwcSGg73xoN3r4vX8AvYziLsA + 20piFZQJIbfAawOci3yzaYLbaTAzq+gR+PFj143MTOrGd/GIy5XbRTfI8Elq4VVLSbRoPuNz2UvB + nS01q7LnZ/Q3jrSDOZtshAGvFqzJh1vJgIA0SO/GR4xDv8ie9iPk+YJh19SIUvYvDoKwt+x0e5sX + 6jF9sgD3x8aU5ZEBomvHH4hQwGJAuDzePyosP6Pjv0OsLaVby7npsK4u15dkHZTVeSUejbv/NwgK + 7GEtf/jg5tBweMcn0yEFmHluIRGF1UjZFnUkdsEgSqK5aIQ0aIhxKjl4emgLyj+teNYB3BCYaWMR + FW6y4hcINkPuhYAy92nHl5QEi3B/V254VBAvqtApEuENj0zOt+6UbUxa4B9/mR08kZ6jc74+DiST + YzTbZovy69BDnbB8H5yE/9IBDf57KgGhgzoIG75L3EQlrpq8HFk3v7U0UUGm/hfg6eBrZAro1Hy3 + SEyGcwM7HFBPnvfdfnuGkx2npWrcy9r9xBh8Z43Yp9w7SagERLtx3NRbpRY22hC+3PjFnuTHfDsh + 5+gA+DGmdThmArN92Is2pURr2c3cPesArFE7/uuef00wuAdwCub0HsQ/IbnJefY0oM3OMaDSFgtS + w5JX/cGq6sVsBMrZKRmFAgwDw+fEwKIgGyoBEADJB4rA0W4Ttqmx729YFz1xCkLtdHD8EHu5pZDs + Ppmc5uD9pZ/eXSBPj/BL6vkx7VVLVfvb52W4w92SiRffPmfyzE/6qIvcViuRCIFGhQ9e6nA3R0+C + BDj2DzcxIibuVdKISOjCHosOHH9AU3nnxlxzcSWJ2T+GDAp7jIwbkI0vBk0KvLUB62cH3nn5ZoM2 + /Krub0ONFl8p+wegPqt19U6h5lE3aZVD0il/udbHdsaYRvQ7mEGd5dAWUzV3iPiPtL2vBPd2EDP1 + X2c1n8CH9BKMN+/elUtln7G67sldN7aFD53eaowo+DTr52J+adCLZWnvct4d3kYpO5C5V8ScVYel + sUqrvFSnrIMmBjq5EJO0ENImOCAcd4OXsAhlZxBa8BsOlpsvGnO68QNGxpyXMca9fkQPkHHANDXP + qjI8yg+YHjTTxu402raHZ84AUAGm6+QyFOeDcALcm6S0ADOJV6qVhJdVlmNBO/HF38JR2iL2OqQ7 + E+tYkRUFTf4EMm6Wf1QQabScLaR88PnkGSq7WlEFZKWtBmfuhlOExBysfXgckXNos/1qppvgF7po + nlqfXIhPheIDsn2DU2tUOr8fCb/YIo/GIuk7EATy6m3mtzM7YyY+NtUaDkq1Y3Hwzpq/5PnO1arx + wH/FhgELxEpH09Quyd/P1NWLhuxWAfjHZVRcRtKhAdCnLuAf42NtyLgGMEvSyz0lr+hFGgPPyZ+j + GkyZLH5CBvvY02Nu1rmHDi9nq61DyZ/osxoDwVNaDufC5lghkr8sqZZtmUuFR50H/ukWZGrhnHS3 + SfjKYfo4Blr7gAX6rHWO5BZdCPEsIUJ5D78xzYPYM2L9idAcV/AkU68O5/RARNzHw6V1yfLAXGtd + PQf6Zki/cHYAFdfAYHYFwtX4HyY= + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=4-holier-than-thou_bristle-reply.gpg + Content-Length: + - '1217' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:58:42 GMT + Etag: + - sha256:f2fbfa8f81c9d4176749bedec3ee8bee6b3f6269ad9b9d3c35b42e68aee7106a + Expires: + - Wed, 26 Feb 2020 02:58:42 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:48 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/functional/cassettes/test_offline_read_conversations.yaml b/tests/functional/cassettes/test_offline_read_conversations.yaml new file mode 100644 index 000000000..ebfb128e5 --- /dev/null +++ b/tests/functional/cassettes/test_offline_read_conversations.yaml @@ -0,0 +1,701 @@ +interactions: +- request: + body: '{"username": "journalist", "passphrase": "correct horse battery staple + profanity oil chewy", "one_time_code": "565751"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '119' + User-Agent: + - python-requests/2.20.0 + method: POST + uri: http://localhost:8081/api/v1/token + response: + body: + string: "{\n \"expiration\": \"2020-02-25T22:55:51.954473Z\", \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_uuid\": \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", + \n \"token\": \"eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTM1MSwiaWF0IjoxNTgyNjQyNTUxfQ.eyJpZCI6MX0.2XH0eSaJk63SJZj7hEt8ygbBPSF7s-_Tu6yp5gWc2I4\"\n}\n" + headers: + Content-Length: + - '317' + Content-Type: + - application/json + Date: + - Tue, 25 Feb 2020 14:55:51 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTM1MSwiaWF0IjoxNTgyNjQyNTUxfQ.eyJpZCI6MX0.2XH0eSaJk63SJZj7hEt8ygbBPSF7s-_Tu6yp5gWc2I4 + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources + response: + body: + string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"shattering lung\", \n \"key\": + {\n \"fingerprint\": \"FEBDFDBB44595D38025EBD7423EF5C44029774B7\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADb+ADPxqZiKVKvYqTKQJgWsAMtLUWmab+YV0XM7+ytuz61F8xh\\nBJve/MoxlsFJTEvau0JBRIv0SGLAeFfCtc6WbC6MJ5tQ/ioWoIKTRfv2LqjkZr4e\\nCpbUHElvPfxxDE+zEKGPJE8tneJG5ajMIiXBbh9bt8/RWuAcSq9XldmmRAPct5iS\\n/PG49up/ztECkxKKvsLxVjpqJIH9auI1wZPpE/HfSI9PWLS/oAbSxIobcSvtxCAv\\nKlzfbF8iN9zeI+2mfrLlUgAvXwuwhDyzg1o5L7fNgkfVaL+C8+Uw9kyDLh9daIlc\\nHc9GoIO/CJTfQy6kt3cADPDwI64ysYZ2+UPI5LYOu3RRHF3jEi82C17oI24I9Qzh\\nrEHf8UixVY9X7RpOjiJ3PO5PKjFbyClpYgybACSqQXJGZgsBVkC6Fug3b3hgSWYK\\nkaULr+pTBneiyFuNBUv3h7e3/+3MXGl3gtWsAgptgw8ueHNp7CmyHGM1sIcYVPyC\\nVLMhkLwb29TFGh+6QrA+uTP3+G9lga49B3ufRJenHXCs5DRPEqNzCkYPZAPFnOYq\\nJsBf0DYzcd21aPQ4XwoLuSoBl/xYyYF3/M5B2tiY4zDL2lLkfcAgNVkfpn/oMT9r\\n/cKdwrsJ7vZxfJRoF7j94TXGy4uvpwnCYS4LBTlcaGMMRHRaAU/3DjimVQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8SkxOUFVYUFE3WUc2VEg2VTNJSUpMN0I3RENG\\nM0lYUUVHNU1QV1hFTUg1RlRBVlJYSFROVVMyU1pMNFNLS0RDRkVCV1ZWQlNSSFJD\\nWFEzVU5HVEdCSFBWVEVDVENBU1U1MzNaNUlTQT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJECPvXEQCl3S37d8QAKQXcVEniONj\\nimzLp8adfQcH4cYx2/w0FDJ8i8XObG3+NpXvyU6mY9Lh3I8OEBiJpjEKDuNVyhll\\n2SdDW7HMKYOyuRcXzbheyOI3B/qyxKEtwanTjCePCKqVQltehOeYffihU5LGVEyq\\n0+jD+QaDAy/pBZo7alqc2yeS5j/hyubOUQ1LWgpDYkbdHeprixIPAZV+egXG/cl/\\nBIZloQQ+Q3QXQeUEtn/OhpCV6mO7Hbf9yWM8h7P/eCRhs7lve4tSOSx7WVKnL2sf\\nQ16iyaC93IYEKMNVIwyLQLif4vzkRI8EZ4TSNLMR+QMAKww2g7Y+NNYpnoFjjAud\\nUp4yKk1P5LQtcYhEUNISY09ZBLLDrKss1Vj7820RGnyEyyhxo94TwJEjKDDJxtVH\\n5Lv9sFzTAJJdEg9DhD91R2GLwAyKPJfgEA44nvRIzdBdjIbPsRP9HAz0WD8vGlDV\\n8oUd0tNL/6Uf74cCqYOD2jBlAzqBRiKC7dEwV04rY0WQrLI06N+JoCdo2Fh7MAtz\\nNUjrUm5clVsTtJAel2y+PjqZ6Z4jFiLkpaKomvT6tR33qbiTxzRzXPDHANnYNsiE\\n4JZ+/ekcsO0pH6GU7fR7OZmFSK5YBOg/MlOo4OeesjSsObLZMLOteGJWkgqkYE6P\\ntR7w1V9PkicIp1Ap9bO0d4TBEybJHYuP\\n=cPX6\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-25T14:51:46.976004Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/remove_star\", + \n \"replies_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies\", + \n \"submissions_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions\", + \n \"url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"uuid\": \"fe5f5269-7d1b-42e6-83a3-8538b4d60122\"\n }, \n {\n + \ \"add_star_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"holier-than-thou bristle\", \n + \ \"key\": {\n \"fingerprint\": \"6A220777AE0EF8C4A45E113AC442C7463D52B137\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEAC8MIKb38NvUHaL1MdDLWz7r10myn32/NqDK5eyHlXrtRJfQvH5\\niAJfT3msd/ussndpFLBtGhZS6T4XJLO/J/ssP+x7GV3wZ1Lj/kO2vD2ewSzOE7Vp\\nRFq9NhQ9LoWUcf3VPD1VK+g1HdpP1BMS/zfMZbugC5QffWz2uG0b3EugHmuWpGpS\\ni7hDEC464sByj2NW7BKdNhBesc8lGeV6l4sQluFHn8SuwKGuY6lPaxZuz9oOB2co\\n2UAByDKXn0WEPRyjzLErsn2BusJUge7gFXCHbuQ/SHsxf/OIBTBzrIfpmNL0g1Jn\\nrFc2smFCL1oDme6O7VZcFUD7TWhyZUdr7GuPOa4KFMB3uAWuFdpok/4IL2OipsS/\\nn7yCUr+e9quKvF+QIb0DVqx+oLUaUQH4jOv3eS2OnviJHP6+XN12EJhmrCNCJncB\\nzw9BXgx3p8KQe67AWrX+fWqYEbYbwxrXehXVrvIPAWzhFyE7cMaL29CMIWCJtyGp\\nFDncbDbUJF6SJFfyUacDgyiMuIrhk3xkdSfWaqg6MtKbqVT0MCzfHs9XMXbpfDmu\\nLCvfsWuGGC9ZVo37dZQT3slRyBNjrEV4QLaBktMNRIo8uB14EdFRk2/cgUhPAb+N\\n0orccsU0M12pmjMWVRH+PetLtQYCvO3MVoPtHMLywBOQ+O7cj1zix1eJEQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8V0RSWllaSEM2TFRTQTNBREk2VDdETkhaSjRY\\nWFZFSlA0NVBBN1FVS1A3T0xQTlZHRDc3U1FSM1M3UEhVR1NaRkhZN0VHMzQ3NkxG\\nWDJOV1FaWjNSR05HVU1RWldLVkpYWTZWSEI2QT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEMRCx0Y9UrE3ZoQQALo0OZEeeSDT\\nyQq0rCovGF5b8RskKEqMzIPKv5EtKwQIZgQBCG3MKhSJs98SQMBfBOLKzFMU6gEa\\naqiog0FRBEQw9G6dtmhvNdltgTDL6hcSglcGG2Ihsa4nAo1z6Kjjta29zgK1E7Q0\\nmVlp5sd5MG7wCPe9LKCcCWrekPLD+c8MZxXPu0j6YOr5EChiAL3QiE5ZTpWhaNCE\\nV3BmrkZClbIYwqUd6oRwSDNCpMc0Zj7YNjU1Z0j0EsdsE2X2yBfdp0er1jY4Nh4c\\naLe6ybDY1QqU7t8UR56LsBE4ejwrQuAWHtc9B0Ky0QdI9M6CLE42sHTHutUoumvH\\nD8ODI3mc/6NO7yrvivoiosqMM30fV/S8F5Q5W/N0T3nTCtPcjVQSCp0t7ngqnlno\\nYFvZJNP7NRlno2qICg1SecXXdZt2/PvkbEgZHykCE0vUA9RB0cfALX9bQtwMvkOn\\naRbCsW+vY9q1xH4gzG8E3gqjQG5XzQTnupgFER6wXmWzP/JEUG8eieYD+eStTX9d\\nR+P0yj/Udh+u9IwdWqP1uvvtbA5IC4Lr28BJnmKOQodEoyJQtb6Y5jwaR3hU1J4K\\ncbiAKk+6YZM7usOuxW74plSk8LiRWgypCcb8pum8LnENa3kYGizump6+np9wxlQ4\\nGUaAGingR4kg2645Shn+9xUIE78jCl95\\n=FfUY\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-25T14:51:48.114824Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/remove_star\", + \n \"replies_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies\", + \n \"submissions_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions\", + \n \"url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"uuid\": \"d894d52c-c191-4aa6-bfed-869f598783df\"\n }\n ]\n}\n" + headers: + Content-Length: + - '5354' + Content-Type: + - application/json + Date: + - Tue, 25 Feb 2020 14:55:52 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTM1MSwiaWF0IjoxNTgyNjQyNTUxfQ.eyJpZCI6MX0.2XH0eSaJk63SJZj7hEt8ygbBPSF7s-_Tu6yp5gWc2I4 + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/submissions + response: + body: + string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/81968b5d-3f68-4e14-9749-e800434834ea/download\", + \n \"filename\": \"1-shattering_lung-msg.gpg\", \n \"is_read\": + false, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"submission_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/81968b5d-3f68-4e14-9749-e800434834ea\", + \n \"uuid\": \"81968b5d-3f68-4e14-9749-e800434834ea\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/6df30b7c-a168-4009-aabc-bb39abb4a018/download\", + \n \"filename\": \"2-shattering_lung-msg.gpg\", \n \"is_read\": + false, \n \"size\": 692, \n \"source_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"submission_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/6df30b7c-a168-4009-aabc-bb39abb4a018\", + \n \"uuid\": \"6df30b7c-a168-4009-aabc-bb39abb4a018\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/f04ca1de-b40a-44df-a099-a07882ce6607/download\", + \n \"filename\": \"1-holier-than-thou_bristle-msg.gpg\", \n \"is_read\": + false, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"submission_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/f04ca1de-b40a-44df-a099-a07882ce6607\", + \n \"uuid\": \"f04ca1de-b40a-44df-a099-a07882ce6607\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/87e57d4f-c6a0-4ee6-8d99-2a23bfebd10d/download\", + \n \"filename\": \"2-holier-than-thou_bristle-msg.gpg\", \n \"is_read\": + false, \n \"size\": 692, \n \"source_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"submission_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/87e57d4f-c6a0-4ee6-8d99-2a23bfebd10d\", + \n \"uuid\": \"87e57d4f-c6a0-4ee6-8d99-2a23bfebd10d\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2059' + Content-Type: + - application/json + Date: + - Tue, 25 Feb 2020 14:55:52 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTM1MSwiaWF0IjoxNTgyNjQyNTUxfQ.eyJpZCI6MX0.2XH0eSaJk63SJZj7hEt8ygbBPSF7s-_Tu6yp5gWc2I4 + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/replies + response: + body: + string: "{\n \"replies\": [\n {\n \"filename\": \"3-shattering_lung-reply.gpg\", + \n \"is_deleted_by_source\": false, \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_username\": + \"journalist\", \n \"journalist_uuid\": \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", + \n \"reply_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies/d8bf6bdd-9a8c-4354-8d86-971b0cfdd133\", + \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"uuid\": \"d8bf6bdd-9a8c-4354-8d86-971b0cfdd133\"\n }, \n {\n + \ \"filename\": \"4-shattering_lung-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", \n \"reply_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies/4f148efa-6d29-4928-ae37-264118431bcc\", + \n \"size\": 1217, \n \"source_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"uuid\": \"4f148efa-6d29-4928-ae37-264118431bcc\"\n }, \n {\n + \ \"filename\": \"3-holier-than-thou_bristle-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", \n \"reply_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies/2959968f-dc8e-49a0-9121-ea172d0eddc5\", + \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"uuid\": \"2959968f-dc8e-49a0-9121-ea172d0eddc5\"\n }, \n {\n + \ \"filename\": \"4-holier-than-thou_bristle-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", \n \"reply_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies/f0ca496c-8e55-488f-8da1-ccb2df4299b6\", + \n \"size\": 1217, \n \"source_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"uuid\": \"f0ca496c-8e55-488f-8da1-ccb2df4299b6\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2275' + Content-Type: + - application/json + Date: + - Tue, 25 Feb 2020 14:55:52 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTM1MSwiaWF0IjoxNTgyNjQyNTUxfQ.eyJpZCI6MX0.2XH0eSaJk63SJZj7hEt8ygbBPSF7s-_Tu6yp5gWc2I4 + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/81968b5d-3f68-4e14-9749-e800434834ea/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ//W9Kq8XkYkXBfLXZG8CLgc+nzNrBJYLsiT5B6NP/1vACCUUFpCmPGM/DH + jGKOp7QcjLhKXLW0h96ED3lavwpRTV8oy7IuXFNcld+n06mgosT2I6m9W+q0GaoY98ClTk+liU7F + raU8n37kB84Zh0dS9MFErLanAScDm7/RakmolDXA0TdhPagMBmXMHHk/rFRd5R7VIXHFipgu9pXt + 9g7YmELJHiwkLkA4f+0VQOaTVL4TqoUm/M9lRBv6Y0Ypr/pksfYm9SoANCSDnY8H6OWvETjWhlI0 + C4BoAij+/zsmJviYjbBBlKQx22WFnFsqCQ/DqipUd5LNrI2bkYmw9tUfquW+l/GjcvHusVLBhGn9 + zIq7K5FDdcnFUUtMbkD1zN404/ZgpgEf4CjuyyfbNBpW4hCFoUVn6qkoIy4VBklEDS134TjKeE/B + 1ZGSmTm5dGZ+GpR5SY8hxtr2s9zrIAraGEWHdlchb9joanGpvCxKC9kAFnf01hsoM9F0WTcySIl3 + yn8yido4DNZnc2y0jBmxo9uPaU2Z6xYbEBykOu4FZvIPxozV4mY9N5LFOMPASU/dM0cOPONgD8VQ + kq+ujwlrr2T4Q+ZVW0f4j5xatb658muZqxJK48kE7JlgEkwu2PitLTB/gP0E1mM+i5ykZXsjrZJN + UqioaJctC0uDqJHBIwfSYgGK6tM3O/Iq9GOxNnzCVISapJLsBF4uWAV1KhML7xJiZJ7UxbM/Xmoy + qFd+G1w0sWWSfzPsAttFYXTMRnlsyZ3rzr+BFKo9zSdUFjUAt2BdN+ij/o9HT2MQ1hsEEan5tREs + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=1-shattering_lung-msg.gpg + Content-Length: + - '627' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:55:52 GMT + Etag: + - sha256:e65a2a839d9b897b31032d2734362c027eada69e3085558855b5ec93802a29b3 + Expires: + - Wed, 26 Feb 2020 02:55:52 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:46 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTM1MSwiaWF0IjoxNTgyNjQyNTUxfQ.eyJpZCI6MX0.2XH0eSaJk63SJZj7hEt8ygbBPSF7s-_Tu6yp5gWc2I4 + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/6df30b7c-a168-4009-aabc-bb39abb4a018/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ/+OEK1sLSC/73KDsYffVoOYgUJ3eJ1qWulY9y7ZZPgr9XnklQY6uTmM5W2 + YQ2hBQCl544PPswy4rK+3xdxqbShsuaCc8INFKKyn9KcV0RyL4BFV0Ch3r1pS8QEMYcuooFDeSGC + M2P1SJsBKdgoH+Rh3oWEV2naeQGQf/TZ3C0fVb9mikVncHS6lyMgEY1Qk8bYBZV2Jd/XtE8FHiwl + yHlQXdTBDHUs6Wr2KUvY8oxVqupJf8Nv033kYiT+2k/ngV4HcNKAfyTkoqfhASWfl/ltnJiXpCct + /egLH0Rqr0Ha2nO+KE0jaqArzXefsrxRt4Ps9uiRgdXDFdrF+DsOojyxLMaWQzUWqiTsnsmanhhB + uIRdQPfw0FlRf2MyDDCBXWQTjtUhYPVGSm0iCuFf/gMoN57gouL8+QYqnzWmnryyj/XbTrVEUsdB + aCJ8t+/UAYLazlNc4XsF8MW/yHmxs37CoLmR98GFhgpNk/PRJnKaiITBRVMfXe/XuEEfTuGryUKE + IXCtNgSwz1eSxezLmqiJhMv0SysjlXhSxxicZ1henY0JQUr8eMU4Ag3Y/uP2mLBlKe8xPuGME8Vt + g3gDZHhA4ClqoPzBcys1tHe9Ll6DBlJtJ5UJHYNCBdJWIy5f1oBoivQNTnO+ytImK4rNozPSLRAe + qUZIcCKciBabF+CaKODSowHA8pYMt6IJIeUsy2l0kdbJIWtpSgahCSAcM1qPGPAEiIYJhrgqbgi4 + imSeUdOFJrvOHV74uN76tZxLdd50OGfKfqclNua8VcTclnWccbaIHAarWOAMgh8sPPtHd57wfIed + ntluC9P6JltuS5Mb4ggkCTgxxxthVSmeAkVeZhB7DkfcSL6r6NJqlJjlcevG8N6TQ1VbQE7VmBE3 + gyFf6uTVcLQ= + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=2-shattering_lung-msg.gpg + Content-Length: + - '692' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:55:52 GMT + Etag: + - sha256:2b3e6e346dcd09ff06d0cc93b39c33687093fe1762bcd95db0dd1a144b42eb67 + Expires: + - Wed, 26 Feb 2020 02:55:52 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:46 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTM1MSwiaWF0IjoxNTgyNjQyNTUxfQ.eyJpZCI6MX0.2XH0eSaJk63SJZj7hEt8ygbBPSF7s-_Tu6yp5gWc2I4 + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/f04ca1de-b40a-44df-a099-a07882ce6607/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqARAAwnhdBSmNYngWmN/VO3X4gEYqJYXu6DZZ+KkY7+Lxfip2x7qS0VHf2+gc + kTqShZA3ODlLcfuP2DCc6pvR8P3yQMUPHFZAEOKG6HMgBglmuaavDzEVj7IBEZ99leX1PGFyVVwn + c5M5jaKOLFJHdBXmWJ+YJ1KUdlx42LZGY3eCXL+aD5aFu9Kze0nkRcIUGMZk2YIdtPIJujW2VUzF + qHQ/EIoe3YXjXu2FrWM94WHrxs2BHWBQ6pKU11dQgM5g6hOql3J0//2I5LD64akk1gKP16ONeXpH + hC4vtb75xv687XnhoSOV90Zi6Uujj2/PK4YkEW+XAB+VxT3GoEyG+XWMjAsRzMBK1WkfXdQmRUBU + jM7kOsu0CDfqYVrVMidWtW8Ldlg2VkMaxVA6EwkzxmGKa49W7RIvQCBUd6O2sGLRojAf1QCtvTnF + kxtcmgNAKSQIFQA/QyY2gsXbO/vD4tFTGxCtHe0ODkyISsJz+w5FzZts5ySJmauT09EZikcvUqft + 7njsKLmxCpK59Gx3SwJ57hlKPm4AYuPz/zgy+JvrmGYEz2JhYmH8HWmRQtpXdCGzS6FU59/51dUt + I09RSIbvWEqzrR85Av2tMLbeuF+2MdRNuribbf0ZTJ7VtcBwq91GHNd0x2UKC5Jx8mqsgbVAYA9X + 8hU+43azu7EErDOR2A7SYgFUTI3KX7XOZVFWE2Vas4GPkSM1F/C/Dd6SZDpFZZEhrRp+pFuyPDSz + zZdiK98NLrppwIfr6sSc6Ksb2k8qs2kc3zpaYH+ubgFNt3blq9j9VVB0sLvFvffiZRU/qL/RqN18 + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=1-holier-than-thou_bristle-msg.gpg + Content-Length: + - '627' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:55:52 GMT + Etag: + - sha256:3c408cb123907551d63ec2dffe0188d466343e227ad7ca467ed2881a92ec8506 + Expires: + - Wed, 26 Feb 2020 02:55:52 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:48 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTM1MSwiaWF0IjoxNTgyNjQyNTUxfQ.eyJpZCI6MX0.2XH0eSaJk63SJZj7hEt8ygbBPSF7s-_Tu6yp5gWc2I4 + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/87e57d4f-c6a0-4ee6-8d99-2a23bfebd10d/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ/+L664jCUtzr0iFOHkWf8Cdo5hXQtlDCYxEbR+Jj3j2FyOWtGpDX5aSdTj + ecLhyDWmaZtm9xnXaIrmJQY0TAJG7VabilYFrgARihUt0oOZyi+vwO9gEc5szEP2Y54aGkV7ZEPi + qdBzjCpWTmrIyU1DcA894EXTgtsyCOJ21FPVPfuIhXFBO7Qz3bXrCdeBGUKpz5IiiYxV1GASvgFm + VYmuAKNWBKMnBjxbJ4BLe0zYTQdSWP5xgpmkHmBDrPDpjlrg1Vt+EPXBcxcGo9y/zOE7ovkhyxwo + pERh4CGdDnKVHLIhkDOOXKJv/Bi8Wwvle39A4jSXudfqTzplqD2Xmg/yZeV2V2coqDhFnkkgJ4W9 + 4hNAF8bvkHDV/LtihukhJoIWYzV3uD0rwwwpU5QEzo9LxpqqH0QsNKfD0BysUsmyHgeJcxxdc/AF + jORUMtB4EwaQuhA2lOnJEbx5TMvripQ6CH/xjJmot5KdbD3CD1tsdDzm0EC8QTuD2u4bHBRyVkk+ + QXDMbVA52NvJXLABNiZckfZf2TUk9S/6/9pt3CRv2Iygm0D5hw8P0H8mu85HpQfxkFDHQOHHyfF/ + zaXndJZ93a4cEt7rdH1xcJd43K42Dy+kXe+m44ch8iyevNhMtaFZVOovHNkEA+k/Zq7HtLFdUBgN + 5GiiG1/f9x/9duC7JWHSowFNBFYJUZoIUML46U85bOD6Ac/CSXVOdhq1KJp4JADQJVSNNtOSerw1 + yzg4aoyIjbpZWuPHtYhQPrCY/8qh3RAe3Yv72VtUXS4puAGnKqZdXfGWFKzI7b7ixd4rk9RFGXLz + tmUFgwaejxYokNlFgqD5Rpbzp2mocdF5f5IgW8eMB05zhkZC9B9U2qyt9kWaNAJ1RGxC91aZ+Q5G + xEL5UDAa6lM= + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=2-holier-than-thou_bristle-msg.gpg + Content-Length: + - '692' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:55:52 GMT + Etag: + - sha256:24696d5014d068dd0ddab067e559c7289e3481a0f973ae62ed858ee76b70c050 + Expires: + - Wed, 26 Feb 2020 02:55:52 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:48 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTM1MSwiaWF0IjoxNTgyNjQyNTUxfQ.eyJpZCI6MX0.2XH0eSaJk63SJZj7hEt8ygbBPSF7s-_Tu6yp5gWc2I4 + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies/d8bf6bdd-9a8c-4354-8d86-971b0cfdd133/download + response: + body: + string: !!binary | + hQIMAyPvXEQCl3S3AQ//Su4IbbZUNp9y375XQP/FfjRQ1QkOhoUTeiTxl9+oHrDIv/2BYMjc60Qs + AwX2215UPn1NF2p+CZYH+RPEAVwKckmvsIesi7G0d73mR5P7c3Gbzve2fVZzbd78WQWCfDS0ABaw + DTJwysaIG8aGKrOE0wPTaV6OITW463uAxKzkYrTLYYFSprtjAJ7mAGaqfuuSbocFNYYaqCxg1AoL + R+tXNzr1jCvHBMtaQEZf2pN/uaXb+Hon7rBq/pt+tv0+oN5p27XlQd4dr6xxb8RRmBsyKVaZa2DB + J72ePmrZMWLfrwUeg1ni05MxohRmkauTuNTAB7AHZBFoLBaeAmQZXg9BuXTdZAE3R4QVyFiuCe83 + ttZ5I/jznZ28fQTXmh5yM7LDHRvoNDvic/q1GV1Is7FHScXPO7tMetnDBvQew2cJIjiDTPcdjYJA + 4nH0OJR7lYyosqev7yMmW9vghNGd7hOWl1NcOFiIf7UGYw1qatV/GH4XZdZfXqkpOfwHcrr9XD/G + QGAfA7C77loy/EWyfwyzZYKdGg/OHjstc4QfeBOZjfl6L589eoH8f5pWj+c1M14fwls/e1Gv69XQ + KQNJGG6IFHg4W70bA7xMJCHkF1/9TBTe37widKrb3HIUrxAe2XkcWCllRBZNvTI4/jbbmNz2vLEm + W2Sbh8HQP0qxRvDW7i6FAgwDw+fEwKIgGyoBD/44JNVkjyhoDr+pefNFZuoXya61PJVRWPVoudO4 + Sze1nKTfyWbpYNMdWeqWZL6R8Df3x7wVX6M9oHYVnUSHxXTKddv2E3CUWAPowV+G53pfpL3y7Ik9 + WMTKxqoSw/hdY6g5+SqmTMbDDE7wrSkZu/aknUEwHetvSBeCx5H8Jg8JliDcMXbH+fSxn0TqS5PR + ipz0I8e9PJI2gKo61qOUBGtyftsVAdvopG/5t+rRBeuShNq0ZOkJbvK08pAAqkbrOHLtawR6HZOZ + 4tFRZxXOtXebV82EHQXDY+crNXK1Ur/0oV8/bef++9UtB/hVM/Dw0YBTTwa2JUCNjbHv0OIA/lIo + sd2TpZRUB/R+AXX7AKiySERpD9VPTzi7DmilZS4xHOQGArrmxQBbvNl72SorZNziBk+LH9z4Sizi + oQKs3Yp8JOsQdtvldyzGo05CCshi0ffSOJHuIetyZ2S2Xpg2XyNXpcxSFgLDhQ6zVDI42YOFlUPD + zvpJoeMvSAVWgwsk6Gu7tk5pdUM1hW1MpscHZGSRiiaYYQxvHbESXZ5hleY2IADIu4G0J71lQkA7 + Gx68KD4AKHII0qCctRV3F1RASNCVDJBPa1Q7JODNv/DTg8dcYSvyKzh6XXJlK4hkTdvoZcoYeT4L + 0c22bFDoIJnrKui305Sfgdt7mc+YWc+hkQj32NJdAR0eL6TTeawH9BkKT7WKpkno0Ay7p4FQjWwZ + Xae5+i+AcSDX6/v/EDfTva3unUpdQlhYt331qEYOFGX4o+7NPrS2SZZUEC3uitOgQWUqUclAM1qt + LpAaMbKqhjyr + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=3-shattering_lung-reply.gpg + Content-Length: + - '1149' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:55:52 GMT + Etag: + - sha256:eb0474c74f62b39f05a8cd3fa85772f0ab20583e6b18bd62f9954f8d286a733f + Expires: + - Wed, 26 Feb 2020 02:55:52 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:46 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTM1MSwiaWF0IjoxNTgyNjQyNTUxfQ.eyJpZCI6MX0.2XH0eSaJk63SJZj7hEt8ygbBPSF7s-_Tu6yp5gWc2I4 + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies/4f148efa-6d29-4928-ae37-264118431bcc/download + response: + body: + string: !!binary | + hQIMAyPvXEQCl3S3ARAA0g0zxtmYrfk4v/SdaDV12hrRHnzUUj0dVseJYe2ttRNR15sA8Zaf5tpq + O6Iw7mclFm35zw8cdWGDmxQtHBgGxsfOTeHesq2RdrcYGpYl08gFTfQNI2SJYrlBDtMbqBSYbYgw + f/dHvz0ZIf5cxP/2Fi39sfjBzXuEMb39FP2Z9y2IstFPx5tshzk/VwltEPRY+kFVXYZ5ZenVbawI + ouyEbkc/thy9cdk1DgEqSNOLfN2XtA+e9QWAcZY94kVGEFXeekOczU3NBHUvHRMQAD76W/ymCIBF + gqu+0yDKRUVdABey6g9UfPhEKbbFA8LErKsFFt1TdnQ1+jOtbrs8JGkyF5w/oxEihiHmLBR6XwPT + 3HO7voV73wRrvO+S46nFB5TH8R0sVcFtej2ETMqC1Bb9MIV3FjqE2nq3j3KPP6mOn8QnlpIAlJPR + Ua9DE5e/C3jq/xeSQTM1k+/q36A/xqoGlt7dqkX9kSUWj6gP4RVMhocB7+E7xlmSI8dRT+IDOtrS + zuYM6ND0BewiFbZsXKeVF+adOJF7zZ3tjem0wZbewN+JVE3LVj1krkQS60AyLXUnrFylDTWw5uWH + fYCfJmWVFX4AjrplkcEcXKi9nR9/VBTkLWjzU0up3UrIY+EYErbXQ/QWwMmla59qwlwcUfkIoZ90 + o0NReHnPeS7rrUv0tm+FAgwDw+fEwKIgGyoBD/9GJZNdGhgVQYidN2swLPPpVB7UcC8OxtCHfYlL + xEI5LVEWJr/P7QBlEUVNQ64qW3rYPUpS/2F6ECnqOa5mLfHRNAzFZRHr+Cwinoo7epmkr4dXfmw+ + IH9AkZVP5eDBFG5Eg2iMqfCKUi/zYqJu0SWxIOGzY/iR6e2QdllnEkaSWQm/IVs2QELU7b/nSVSQ + jkkULXnGWxXLljZqrBHMahdGNIF4yzC2ndVF/oezUuNOVFbtzdSEo9dMqOZozpBJbpoHxHJrDhfJ + u6VGT1Bk5M8Ncc6KNYpmVx2if+CRHJX9mRkySFF9O3N3dV6+crQepi37aOi+yhwzKWvKZsV8TGf5 + 0RT/YmZs9LHvzOZdRnVcpanvlgf9js4q09RmhA39VIcAsM/zJziZVxRw92MW1MatKc1+s9IxgPa/ + uA1QbBA09Tgbd1ZwrBWRNFdrr75U01hL0n/ybNpMK3RgEha3OTaUTUv0z2+hIX5I+oTvY/cG21sc + zRkdmrrrZ4zITBZOHSZxcAVTzxZRG0990/n4HRt94gJrR853/bZmMZpHsYRwjw13iaLh/Y05/Uct + 1VL6cSbXAOnBreBq282koCo5rhGsscM94D5pfi1gNEXdRDrzYu4JUo/vbZ2i6gZlIB3IXu/PIY4J + XVmOVHlZTiHTS000U9Owwqy3c/awB6NJDOsl6NKhAdphXz+N+FTbMsD+I9lpf7jIUnh6s32WyUKv + JwIj8H45N6jRfrEiYesDis4TFCDHuIaGABJSathAtlREWM4IpTUlQULECbeVAPkrrt0/L0Ei6kho + ia3I+YdvjJ1L3tWjzsJy3CmeMg0xSkcdKGaA2PGSgW8CcjS3BoqWDC/4uLnaLYtCogy1Vj7PVZlR + LeAFExfBbs5i68l4Btgx1W9vVi0= + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=4-shattering_lung-reply.gpg + Content-Length: + - '1217' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:55:52 GMT + Etag: + - sha256:7c85972174fa8aa8ffa3aba4854b94dd632d60059571e888446ab7097bc549ca + Expires: + - Wed, 26 Feb 2020 02:55:52 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:47 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTM1MSwiaWF0IjoxNTgyNjQyNTUxfQ.eyJpZCI6MX0.2XH0eSaJk63SJZj7hEt8ygbBPSF7s-_Tu6yp5gWc2I4 + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies/2959968f-dc8e-49a0-9121-ea172d0eddc5/download + response: + body: + string: !!binary | + hQIMA8RCx0Y9UrE3AQ/9HYSN9b87iFtrxLwDrM9+RknIZnh72wokumSkNxa0IOKYz9xL7Mzt4SSt + 7LHXr4A/ICi0KHJNRLcDBfviZBW1ByG2p4N5pCa31r7otaXtmwHm3fY5o3wgFE7m5rD5r6RizI9b + jYrGd0VtGLkyHgRN74n1VsPSuiXM9CyoNHMuFv7E5Dk+952Wfy/WRqhX/4Tb2dZOtA8Bj42Txr9R + 27iXOIVhlhWltD4LSXT/hH4QEmex5pVo86F0pvCTH7WIFBFY0W5pyVdG/AuwKPe92Wav5usS5HI4 + GcmRgESrK43GmqtO4L9/ElIpP0fKzvmTwS9iQ57CnG8vTnVOYxPkzrrpydOzn3rN8e6YCdiT3c45 + YSgAI3ibb8aiX082IjspCgm75ob23o1CdMo+W/4bKa3j2tUhQcKCOzACBMNAmJbJS/ylKcB1uOdb + X5K6ZxEMvzeWgOfZ+e6BvxAVir9o0HxW2knv13jVvbQsT3m/wIi+7PgCrgi1GqYLwsxtsmEQz4SO + L8qnCHmA79jF6v5XKgop+vuoAhhPepmHzRLxMaCptwFTBb8sv6uw25FZWLRRnSLx/3BLk78SXLyi + ki4KGWbaFmWeElDJx9EK39nvY238x/QVfEiGVExsiKLBZ0nyB6sBYK1czmY+bnwZxplTO4fqZfdL + V94+dpKEzSPR10dfVliFAgwDw+fEwKIgGyoBD/4u9udpPbhgQ15A+Q1wXroNyczh9NgIuG1N3NyM + oCc/alGOPpL8DnwELKQvRJuFSQ1iToS3lij3ILEQa+A95HKl14l3IwtrrIRVUbjcki2dijORbIb9 + rWctFxLzdKtSEFN3gnbiey6S18r8zeZIZv25ZvJqlXQJYU0aHVnLUvFYUEohW0ZfyT9km/xQVqsB + dO15JoZJ7u8ZyrFMSUFAbzKuseuyvphDCnWDzWQ6lGEOMNTvlA+zEMFAuCpSfQ+gQabW4CbvtPT3 + TGJcti+IxCOi3/Jb7X4BBTXbI1Qx5QI63q7monx3T3U92PakVovyH+AzO/DkgRv3nHCZaRMFU+jn + U9fKt6yJTYNaP3Qf6tQev2fPRXZkQ40F08NhAeMlJZsooRn04A0uIviIzsPhpEm/M3z6prgBOAsO + fp6vFf3VttAgkpeDA876VvrpWMsVIm9sY9rwVMbIIC1/Bb9MT4Od+MnZQkxl49ey2vpEZl3fNsXY + VoygF4TwUBtEvHdoRF92dl405kIisq/NjXwhkwLeEpoqKm6vwdQQMwIYvWILorSkj8RCwX3xgQUY + WUBLS3V7lYc+hXWiGGQIWYaFxs18bozc0egVTG5ZHfNpBUblZxCS6AlUDz0Bai4WrEY693KV43Be + YHg/giqoXAffqFWrahAgEnNggfLGSSnedTFCn9JdAVyqrC39HyNCcRNrpSCnp0726smN98RDz0t8 + 2kSEBeI7xzcL3leaIqNalkelnyz+wT0it+UdExn+kUnmleycYNgnLHuoU80uZ/qffGIPiE0GtiKP + zZCieEk9E5fu + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=3-holier-than-thou_bristle-reply.gpg + Content-Length: + - '1149' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:55:52 GMT + Etag: + - sha256:28477ea9d94680deb5811e5353156c845a12b1be64241bd1a12daca38aa676c3 + Expires: + - Wed, 26 Feb 2020 02:55:52 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:48 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTM1MSwiaWF0IjoxNTgyNjQyNTUxfQ.eyJpZCI6MX0.2XH0eSaJk63SJZj7hEt8ygbBPSF7s-_Tu6yp5gWc2I4 + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies/f0ca496c-8e55-488f-8da1-ccb2df4299b6/download + response: + body: + string: !!binary | + hQIMA8RCx0Y9UrE3AQ/9F2yciHwJu/CbKrZsLFSNVNjrCbv/ykpPwcSGg73xoN3r4vX8AvYziLsA + 20piFZQJIbfAawOci3yzaYLbaTAzq+gR+PFj143MTOrGd/GIy5XbRTfI8Elq4VVLSbRoPuNz2UvB + nS01q7LnZ/Q3jrSDOZtshAGvFqzJh1vJgIA0SO/GR4xDv8ie9iPk+YJh19SIUvYvDoKwt+x0e5sX + 6jF9sgD3x8aU5ZEBomvHH4hQwGJAuDzePyosP6Pjv0OsLaVby7npsK4u15dkHZTVeSUejbv/NwgK + 7GEtf/jg5tBweMcn0yEFmHluIRGF1UjZFnUkdsEgSqK5aIQ0aIhxKjl4emgLyj+teNYB3BCYaWMR + FW6y4hcINkPuhYAy92nHl5QEi3B/V254VBAvqtApEuENj0zOt+6UbUxa4B9/mR08kZ6jc74+DiST + YzTbZovy69BDnbB8H5yE/9IBDf57KgGhgzoIG75L3EQlrpq8HFk3v7U0UUGm/hfg6eBrZAro1Hy3 + SEyGcwM7HFBPnvfdfnuGkx2npWrcy9r9xBh8Z43Yp9w7SagERLtx3NRbpRY22hC+3PjFnuTHfDsh + 5+gA+DGmdThmArN92Is2pURr2c3cPesArFE7/uuef00wuAdwCub0HsQ/IbnJefY0oM3OMaDSFgtS + w5JX/cGq6sVsBMrZKRmFAgwDw+fEwKIgGyoBEADJB4rA0W4Ttqmx729YFz1xCkLtdHD8EHu5pZDs + Ppmc5uD9pZ/eXSBPj/BL6vkx7VVLVfvb52W4w92SiRffPmfyzE/6qIvcViuRCIFGhQ9e6nA3R0+C + BDj2DzcxIibuVdKISOjCHosOHH9AU3nnxlxzcSWJ2T+GDAp7jIwbkI0vBk0KvLUB62cH3nn5ZoM2 + /Krub0ONFl8p+wegPqt19U6h5lE3aZVD0il/udbHdsaYRvQ7mEGd5dAWUzV3iPiPtL2vBPd2EDP1 + X2c1n8CH9BKMN+/elUtln7G67sldN7aFD53eaowo+DTr52J+adCLZWnvct4d3kYpO5C5V8ScVYel + sUqrvFSnrIMmBjq5EJO0ENImOCAcd4OXsAhlZxBa8BsOlpsvGnO68QNGxpyXMca9fkQPkHHANDXP + qjI8yg+YHjTTxu402raHZ84AUAGm6+QyFOeDcALcm6S0ADOJV6qVhJdVlmNBO/HF38JR2iL2OqQ7 + E+tYkRUFTf4EMm6Wf1QQabScLaR88PnkGSq7WlEFZKWtBmfuhlOExBysfXgckXNos/1qppvgF7po + nlqfXIhPheIDsn2DU2tUOr8fCb/YIo/GIuk7EATy6m3mtzM7YyY+NtUaDkq1Y3Hwzpq/5PnO1arx + wH/FhgELxEpH09Quyd/P1NWLhuxWAfjHZVRcRtKhAdCnLuAf42NtyLgGMEvSyz0lr+hFGgPPyZ+j + GkyZLH5CBvvY02Nu1rmHDi9nq61DyZ/osxoDwVNaDufC5lghkr8sqZZtmUuFR50H/ukWZGrhnHS3 + SfjKYfo4Blr7gAX6rHWO5BZdCPEsIUJ5D78xzYPYM2L9idAcV/AkU68O5/RARNzHw6V1yfLAXGtd + PQf6Zki/cHYAFdfAYHYFwtX4HyY= + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=4-holier-than-thou_bristle-reply.gpg + Content-Length: + - '1217' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:55:52 GMT + Etag: + - sha256:f2fbfa8f81c9d4176749bedec3ee8bee6b3f6269ad9b9d3c35b42e68aee7106a + Expires: + - Wed, 26 Feb 2020 02:55:52 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:48 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTM1MSwiaWF0IjoxNTgyNjQyNTUxfQ.eyJpZCI6MX0.2XH0eSaJk63SJZj7hEt8ygbBPSF7s-_Tu6yp5gWc2I4 + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: POST + uri: http://localhost:8081/api/v1/logout + response: + body: + string: "{\n \"message\": \"Your token has been revoked.\"\n}\n" + headers: + Content-Length: + - '48' + Content-Type: + - application/json + Date: + - Tue, 25 Feb 2020 14:55:53 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/functional/cassettes/test_offline_send_reply_to_source.yaml b/tests/functional/cassettes/test_offline_send_reply_to_source.yaml new file mode 100644 index 000000000..358c27dc9 --- /dev/null +++ b/tests/functional/cassettes/test_offline_send_reply_to_source.yaml @@ -0,0 +1,667 @@ +interactions: +- request: + body: '{"username": "journalist", "passphrase": "correct horse battery staple + profanity oil chewy", "one_time_code": "468936"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '119' + User-Agent: + - python-requests/2.20.0 + method: POST + uri: http://localhost:8081/api/v1/token + response: + body: + string: "{\n \"expiration\": \"2020-02-25T22:59:50.313524Z\", \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_uuid\": \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", + \n \"token\": \"eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTU5MCwiaWF0IjoxNTgyNjQyNzkwfQ.eyJpZCI6MX0.utlzj23Dv4njl4DTNVhOWgihrNnvlkJHbQ01GiY87FM\"\n}\n" + headers: + Content-Length: + - '317' + Content-Type: + - application/json + Date: + - Tue, 25 Feb 2020 14:59:50 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTU5MCwiaWF0IjoxNTgyNjQyNzkwfQ.eyJpZCI6MX0.utlzj23Dv4njl4DTNVhOWgihrNnvlkJHbQ01GiY87FM + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources + response: + body: + string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"shattering lung\", \n \"key\": + {\n \"fingerprint\": \"FEBDFDBB44595D38025EBD7423EF5C44029774B7\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADb+ADPxqZiKVKvYqTKQJgWsAMtLUWmab+YV0XM7+ytuz61F8xh\\nBJve/MoxlsFJTEvau0JBRIv0SGLAeFfCtc6WbC6MJ5tQ/ioWoIKTRfv2LqjkZr4e\\nCpbUHElvPfxxDE+zEKGPJE8tneJG5ajMIiXBbh9bt8/RWuAcSq9XldmmRAPct5iS\\n/PG49up/ztECkxKKvsLxVjpqJIH9auI1wZPpE/HfSI9PWLS/oAbSxIobcSvtxCAv\\nKlzfbF8iN9zeI+2mfrLlUgAvXwuwhDyzg1o5L7fNgkfVaL+C8+Uw9kyDLh9daIlc\\nHc9GoIO/CJTfQy6kt3cADPDwI64ysYZ2+UPI5LYOu3RRHF3jEi82C17oI24I9Qzh\\nrEHf8UixVY9X7RpOjiJ3PO5PKjFbyClpYgybACSqQXJGZgsBVkC6Fug3b3hgSWYK\\nkaULr+pTBneiyFuNBUv3h7e3/+3MXGl3gtWsAgptgw8ueHNp7CmyHGM1sIcYVPyC\\nVLMhkLwb29TFGh+6QrA+uTP3+G9lga49B3ufRJenHXCs5DRPEqNzCkYPZAPFnOYq\\nJsBf0DYzcd21aPQ4XwoLuSoBl/xYyYF3/M5B2tiY4zDL2lLkfcAgNVkfpn/oMT9r\\n/cKdwrsJ7vZxfJRoF7j94TXGy4uvpwnCYS4LBTlcaGMMRHRaAU/3DjimVQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8SkxOUFVYUFE3WUc2VEg2VTNJSUpMN0I3RENG\\nM0lYUUVHNU1QV1hFTUg1RlRBVlJYSFROVVMyU1pMNFNLS0RDRkVCV1ZWQlNSSFJD\\nWFEzVU5HVEdCSFBWVEVDVENBU1U1MzNaNUlTQT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJECPvXEQCl3S37d8QAKQXcVEniONj\\nimzLp8adfQcH4cYx2/w0FDJ8i8XObG3+NpXvyU6mY9Lh3I8OEBiJpjEKDuNVyhll\\n2SdDW7HMKYOyuRcXzbheyOI3B/qyxKEtwanTjCePCKqVQltehOeYffihU5LGVEyq\\n0+jD+QaDAy/pBZo7alqc2yeS5j/hyubOUQ1LWgpDYkbdHeprixIPAZV+egXG/cl/\\nBIZloQQ+Q3QXQeUEtn/OhpCV6mO7Hbf9yWM8h7P/eCRhs7lve4tSOSx7WVKnL2sf\\nQ16iyaC93IYEKMNVIwyLQLif4vzkRI8EZ4TSNLMR+QMAKww2g7Y+NNYpnoFjjAud\\nUp4yKk1P5LQtcYhEUNISY09ZBLLDrKss1Vj7820RGnyEyyhxo94TwJEjKDDJxtVH\\n5Lv9sFzTAJJdEg9DhD91R2GLwAyKPJfgEA44nvRIzdBdjIbPsRP9HAz0WD8vGlDV\\n8oUd0tNL/6Uf74cCqYOD2jBlAzqBRiKC7dEwV04rY0WQrLI06N+JoCdo2Fh7MAtz\\nNUjrUm5clVsTtJAel2y+PjqZ6Z4jFiLkpaKomvT6tR33qbiTxzRzXPDHANnYNsiE\\n4JZ+/ekcsO0pH6GU7fR7OZmFSK5YBOg/MlOo4OeesjSsObLZMLOteGJWkgqkYE6P\\ntR7w1V9PkicIp1Ap9bO0d4TBEybJHYuP\\n=cPX6\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-25T14:51:46.976004Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/remove_star\", + \n \"replies_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies\", + \n \"submissions_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions\", + \n \"url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"uuid\": \"fe5f5269-7d1b-42e6-83a3-8538b4d60122\"\n }, \n {\n + \ \"add_star_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"holier-than-thou bristle\", \n + \ \"key\": {\n \"fingerprint\": \"6A220777AE0EF8C4A45E113AC442C7463D52B137\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEAC8MIKb38NvUHaL1MdDLWz7r10myn32/NqDK5eyHlXrtRJfQvH5\\niAJfT3msd/ussndpFLBtGhZS6T4XJLO/J/ssP+x7GV3wZ1Lj/kO2vD2ewSzOE7Vp\\nRFq9NhQ9LoWUcf3VPD1VK+g1HdpP1BMS/zfMZbugC5QffWz2uG0b3EugHmuWpGpS\\ni7hDEC464sByj2NW7BKdNhBesc8lGeV6l4sQluFHn8SuwKGuY6lPaxZuz9oOB2co\\n2UAByDKXn0WEPRyjzLErsn2BusJUge7gFXCHbuQ/SHsxf/OIBTBzrIfpmNL0g1Jn\\nrFc2smFCL1oDme6O7VZcFUD7TWhyZUdr7GuPOa4KFMB3uAWuFdpok/4IL2OipsS/\\nn7yCUr+e9quKvF+QIb0DVqx+oLUaUQH4jOv3eS2OnviJHP6+XN12EJhmrCNCJncB\\nzw9BXgx3p8KQe67AWrX+fWqYEbYbwxrXehXVrvIPAWzhFyE7cMaL29CMIWCJtyGp\\nFDncbDbUJF6SJFfyUacDgyiMuIrhk3xkdSfWaqg6MtKbqVT0MCzfHs9XMXbpfDmu\\nLCvfsWuGGC9ZVo37dZQT3slRyBNjrEV4QLaBktMNRIo8uB14EdFRk2/cgUhPAb+N\\n0orccsU0M12pmjMWVRH+PetLtQYCvO3MVoPtHMLywBOQ+O7cj1zix1eJEQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8V0RSWllaSEM2TFRTQTNBREk2VDdETkhaSjRY\\nWFZFSlA0NVBBN1FVS1A3T0xQTlZHRDc3U1FSM1M3UEhVR1NaRkhZN0VHMzQ3NkxG\\nWDJOV1FaWjNSR05HVU1RWldLVkpYWTZWSEI2QT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEMRCx0Y9UrE3ZoQQALo0OZEeeSDT\\nyQq0rCovGF5b8RskKEqMzIPKv5EtKwQIZgQBCG3MKhSJs98SQMBfBOLKzFMU6gEa\\naqiog0FRBEQw9G6dtmhvNdltgTDL6hcSglcGG2Ihsa4nAo1z6Kjjta29zgK1E7Q0\\nmVlp5sd5MG7wCPe9LKCcCWrekPLD+c8MZxXPu0j6YOr5EChiAL3QiE5ZTpWhaNCE\\nV3BmrkZClbIYwqUd6oRwSDNCpMc0Zj7YNjU1Z0j0EsdsE2X2yBfdp0er1jY4Nh4c\\naLe6ybDY1QqU7t8UR56LsBE4ejwrQuAWHtc9B0Ky0QdI9M6CLE42sHTHutUoumvH\\nD8ODI3mc/6NO7yrvivoiosqMM30fV/S8F5Q5W/N0T3nTCtPcjVQSCp0t7ngqnlno\\nYFvZJNP7NRlno2qICg1SecXXdZt2/PvkbEgZHykCE0vUA9RB0cfALX9bQtwMvkOn\\naRbCsW+vY9q1xH4gzG8E3gqjQG5XzQTnupgFER6wXmWzP/JEUG8eieYD+eStTX9d\\nR+P0yj/Udh+u9IwdWqP1uvvtbA5IC4Lr28BJnmKOQodEoyJQtb6Y5jwaR3hU1J4K\\ncbiAKk+6YZM7usOuxW74plSk8LiRWgypCcb8pum8LnENa3kYGizump6+np9wxlQ4\\nGUaAGingR4kg2645Shn+9xUIE78jCl95\\n=FfUY\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-25T14:51:48.114824Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/remove_star\", + \n \"replies_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies\", + \n \"submissions_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions\", + \n \"url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"uuid\": \"d894d52c-c191-4aa6-bfed-869f598783df\"\n }\n ]\n}\n" + headers: + Content-Length: + - '5354' + Content-Type: + - application/json + Date: + - Tue, 25 Feb 2020 14:59:50 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTU5MCwiaWF0IjoxNTgyNjQyNzkwfQ.eyJpZCI6MX0.utlzj23Dv4njl4DTNVhOWgihrNnvlkJHbQ01GiY87FM + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/submissions + response: + body: + string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/81968b5d-3f68-4e14-9749-e800434834ea/download\", + \n \"filename\": \"1-shattering_lung-msg.gpg\", \n \"is_read\": + true, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"submission_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/81968b5d-3f68-4e14-9749-e800434834ea\", + \n \"uuid\": \"81968b5d-3f68-4e14-9749-e800434834ea\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/6df30b7c-a168-4009-aabc-bb39abb4a018/download\", + \n \"filename\": \"2-shattering_lung-msg.gpg\", \n \"is_read\": + true, \n \"size\": 692, \n \"source_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"submission_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/6df30b7c-a168-4009-aabc-bb39abb4a018\", + \n \"uuid\": \"6df30b7c-a168-4009-aabc-bb39abb4a018\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/f04ca1de-b40a-44df-a099-a07882ce6607/download\", + \n \"filename\": \"1-holier-than-thou_bristle-msg.gpg\", \n \"is_read\": + true, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"submission_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/f04ca1de-b40a-44df-a099-a07882ce6607\", + \n \"uuid\": \"f04ca1de-b40a-44df-a099-a07882ce6607\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/87e57d4f-c6a0-4ee6-8d99-2a23bfebd10d/download\", + \n \"filename\": \"2-holier-than-thou_bristle-msg.gpg\", \n \"is_read\": + true, \n \"size\": 692, \n \"source_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"submission_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/87e57d4f-c6a0-4ee6-8d99-2a23bfebd10d\", + \n \"uuid\": \"87e57d4f-c6a0-4ee6-8d99-2a23bfebd10d\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2055' + Content-Type: + - application/json + Date: + - Tue, 25 Feb 2020 14:59:50 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTU5MCwiaWF0IjoxNTgyNjQyNzkwfQ.eyJpZCI6MX0.utlzj23Dv4njl4DTNVhOWgihrNnvlkJHbQ01GiY87FM + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/replies + response: + body: + string: "{\n \"replies\": [\n {\n \"filename\": \"3-shattering_lung-reply.gpg\", + \n \"is_deleted_by_source\": false, \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_username\": + \"journalist\", \n \"journalist_uuid\": \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", + \n \"reply_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies/d8bf6bdd-9a8c-4354-8d86-971b0cfdd133\", + \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"uuid\": \"d8bf6bdd-9a8c-4354-8d86-971b0cfdd133\"\n }, \n {\n + \ \"filename\": \"4-shattering_lung-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", \n \"reply_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies/4f148efa-6d29-4928-ae37-264118431bcc\", + \n \"size\": 1217, \n \"source_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"uuid\": \"4f148efa-6d29-4928-ae37-264118431bcc\"\n }, \n {\n + \ \"filename\": \"3-holier-than-thou_bristle-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", \n \"reply_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies/2959968f-dc8e-49a0-9121-ea172d0eddc5\", + \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"uuid\": \"2959968f-dc8e-49a0-9121-ea172d0eddc5\"\n }, \n {\n + \ \"filename\": \"4-holier-than-thou_bristle-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", \n \"reply_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies/f0ca496c-8e55-488f-8da1-ccb2df4299b6\", + \n \"size\": 1217, \n \"source_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"uuid\": \"f0ca496c-8e55-488f-8da1-ccb2df4299b6\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2275' + Content-Type: + - application/json + Date: + - Tue, 25 Feb 2020 14:59:50 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTU5MCwiaWF0IjoxNTgyNjQyNzkwfQ.eyJpZCI6MX0.utlzj23Dv4njl4DTNVhOWgihrNnvlkJHbQ01GiY87FM + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/81968b5d-3f68-4e14-9749-e800434834ea/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ//W9Kq8XkYkXBfLXZG8CLgc+nzNrBJYLsiT5B6NP/1vACCUUFpCmPGM/DH + jGKOp7QcjLhKXLW0h96ED3lavwpRTV8oy7IuXFNcld+n06mgosT2I6m9W+q0GaoY98ClTk+liU7F + raU8n37kB84Zh0dS9MFErLanAScDm7/RakmolDXA0TdhPagMBmXMHHk/rFRd5R7VIXHFipgu9pXt + 9g7YmELJHiwkLkA4f+0VQOaTVL4TqoUm/M9lRBv6Y0Ypr/pksfYm9SoANCSDnY8H6OWvETjWhlI0 + C4BoAij+/zsmJviYjbBBlKQx22WFnFsqCQ/DqipUd5LNrI2bkYmw9tUfquW+l/GjcvHusVLBhGn9 + zIq7K5FDdcnFUUtMbkD1zN404/ZgpgEf4CjuyyfbNBpW4hCFoUVn6qkoIy4VBklEDS134TjKeE/B + 1ZGSmTm5dGZ+GpR5SY8hxtr2s9zrIAraGEWHdlchb9joanGpvCxKC9kAFnf01hsoM9F0WTcySIl3 + yn8yido4DNZnc2y0jBmxo9uPaU2Z6xYbEBykOu4FZvIPxozV4mY9N5LFOMPASU/dM0cOPONgD8VQ + kq+ujwlrr2T4Q+ZVW0f4j5xatb658muZqxJK48kE7JlgEkwu2PitLTB/gP0E1mM+i5ykZXsjrZJN + UqioaJctC0uDqJHBIwfSYgGK6tM3O/Iq9GOxNnzCVISapJLsBF4uWAV1KhML7xJiZJ7UxbM/Xmoy + qFd+G1w0sWWSfzPsAttFYXTMRnlsyZ3rzr+BFKo9zSdUFjUAt2BdN+ij/o9HT2MQ1hsEEan5tREs + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=1-shattering_lung-msg.gpg + Content-Length: + - '627' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:59:50 GMT + Etag: + - sha256:e65a2a839d9b897b31032d2734362c027eada69e3085558855b5ec93802a29b3 + Expires: + - Wed, 26 Feb 2020 02:59:50 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:46 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTU5MCwiaWF0IjoxNTgyNjQyNzkwfQ.eyJpZCI6MX0.utlzj23Dv4njl4DTNVhOWgihrNnvlkJHbQ01GiY87FM + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/6df30b7c-a168-4009-aabc-bb39abb4a018/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ/+OEK1sLSC/73KDsYffVoOYgUJ3eJ1qWulY9y7ZZPgr9XnklQY6uTmM5W2 + YQ2hBQCl544PPswy4rK+3xdxqbShsuaCc8INFKKyn9KcV0RyL4BFV0Ch3r1pS8QEMYcuooFDeSGC + M2P1SJsBKdgoH+Rh3oWEV2naeQGQf/TZ3C0fVb9mikVncHS6lyMgEY1Qk8bYBZV2Jd/XtE8FHiwl + yHlQXdTBDHUs6Wr2KUvY8oxVqupJf8Nv033kYiT+2k/ngV4HcNKAfyTkoqfhASWfl/ltnJiXpCct + /egLH0Rqr0Ha2nO+KE0jaqArzXefsrxRt4Ps9uiRgdXDFdrF+DsOojyxLMaWQzUWqiTsnsmanhhB + uIRdQPfw0FlRf2MyDDCBXWQTjtUhYPVGSm0iCuFf/gMoN57gouL8+QYqnzWmnryyj/XbTrVEUsdB + aCJ8t+/UAYLazlNc4XsF8MW/yHmxs37CoLmR98GFhgpNk/PRJnKaiITBRVMfXe/XuEEfTuGryUKE + IXCtNgSwz1eSxezLmqiJhMv0SysjlXhSxxicZ1henY0JQUr8eMU4Ag3Y/uP2mLBlKe8xPuGME8Vt + g3gDZHhA4ClqoPzBcys1tHe9Ll6DBlJtJ5UJHYNCBdJWIy5f1oBoivQNTnO+ytImK4rNozPSLRAe + qUZIcCKciBabF+CaKODSowHA8pYMt6IJIeUsy2l0kdbJIWtpSgahCSAcM1qPGPAEiIYJhrgqbgi4 + imSeUdOFJrvOHV74uN76tZxLdd50OGfKfqclNua8VcTclnWccbaIHAarWOAMgh8sPPtHd57wfIed + ntluC9P6JltuS5Mb4ggkCTgxxxthVSmeAkVeZhB7DkfcSL6r6NJqlJjlcevG8N6TQ1VbQE7VmBE3 + gyFf6uTVcLQ= + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=2-shattering_lung-msg.gpg + Content-Length: + - '692' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:59:50 GMT + Etag: + - sha256:2b3e6e346dcd09ff06d0cc93b39c33687093fe1762bcd95db0dd1a144b42eb67 + Expires: + - Wed, 26 Feb 2020 02:59:50 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:46 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTU5MCwiaWF0IjoxNTgyNjQyNzkwfQ.eyJpZCI6MX0.utlzj23Dv4njl4DTNVhOWgihrNnvlkJHbQ01GiY87FM + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/f04ca1de-b40a-44df-a099-a07882ce6607/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqARAAwnhdBSmNYngWmN/VO3X4gEYqJYXu6DZZ+KkY7+Lxfip2x7qS0VHf2+gc + kTqShZA3ODlLcfuP2DCc6pvR8P3yQMUPHFZAEOKG6HMgBglmuaavDzEVj7IBEZ99leX1PGFyVVwn + c5M5jaKOLFJHdBXmWJ+YJ1KUdlx42LZGY3eCXL+aD5aFu9Kze0nkRcIUGMZk2YIdtPIJujW2VUzF + qHQ/EIoe3YXjXu2FrWM94WHrxs2BHWBQ6pKU11dQgM5g6hOql3J0//2I5LD64akk1gKP16ONeXpH + hC4vtb75xv687XnhoSOV90Zi6Uujj2/PK4YkEW+XAB+VxT3GoEyG+XWMjAsRzMBK1WkfXdQmRUBU + jM7kOsu0CDfqYVrVMidWtW8Ldlg2VkMaxVA6EwkzxmGKa49W7RIvQCBUd6O2sGLRojAf1QCtvTnF + kxtcmgNAKSQIFQA/QyY2gsXbO/vD4tFTGxCtHe0ODkyISsJz+w5FzZts5ySJmauT09EZikcvUqft + 7njsKLmxCpK59Gx3SwJ57hlKPm4AYuPz/zgy+JvrmGYEz2JhYmH8HWmRQtpXdCGzS6FU59/51dUt + I09RSIbvWEqzrR85Av2tMLbeuF+2MdRNuribbf0ZTJ7VtcBwq91GHNd0x2UKC5Jx8mqsgbVAYA9X + 8hU+43azu7EErDOR2A7SYgFUTI3KX7XOZVFWE2Vas4GPkSM1F/C/Dd6SZDpFZZEhrRp+pFuyPDSz + zZdiK98NLrppwIfr6sSc6Ksb2k8qs2kc3zpaYH+ubgFNt3blq9j9VVB0sLvFvffiZRU/qL/RqN18 + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=1-holier-than-thou_bristle-msg.gpg + Content-Length: + - '627' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:59:50 GMT + Etag: + - sha256:3c408cb123907551d63ec2dffe0188d466343e227ad7ca467ed2881a92ec8506 + Expires: + - Wed, 26 Feb 2020 02:59:50 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:48 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTU5MCwiaWF0IjoxNTgyNjQyNzkwfQ.eyJpZCI6MX0.utlzj23Dv4njl4DTNVhOWgihrNnvlkJHbQ01GiY87FM + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/87e57d4f-c6a0-4ee6-8d99-2a23bfebd10d/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ/+L664jCUtzr0iFOHkWf8Cdo5hXQtlDCYxEbR+Jj3j2FyOWtGpDX5aSdTj + ecLhyDWmaZtm9xnXaIrmJQY0TAJG7VabilYFrgARihUt0oOZyi+vwO9gEc5szEP2Y54aGkV7ZEPi + qdBzjCpWTmrIyU1DcA894EXTgtsyCOJ21FPVPfuIhXFBO7Qz3bXrCdeBGUKpz5IiiYxV1GASvgFm + VYmuAKNWBKMnBjxbJ4BLe0zYTQdSWP5xgpmkHmBDrPDpjlrg1Vt+EPXBcxcGo9y/zOE7ovkhyxwo + pERh4CGdDnKVHLIhkDOOXKJv/Bi8Wwvle39A4jSXudfqTzplqD2Xmg/yZeV2V2coqDhFnkkgJ4W9 + 4hNAF8bvkHDV/LtihukhJoIWYzV3uD0rwwwpU5QEzo9LxpqqH0QsNKfD0BysUsmyHgeJcxxdc/AF + jORUMtB4EwaQuhA2lOnJEbx5TMvripQ6CH/xjJmot5KdbD3CD1tsdDzm0EC8QTuD2u4bHBRyVkk+ + QXDMbVA52NvJXLABNiZckfZf2TUk9S/6/9pt3CRv2Iygm0D5hw8P0H8mu85HpQfxkFDHQOHHyfF/ + zaXndJZ93a4cEt7rdH1xcJd43K42Dy+kXe+m44ch8iyevNhMtaFZVOovHNkEA+k/Zq7HtLFdUBgN + 5GiiG1/f9x/9duC7JWHSowFNBFYJUZoIUML46U85bOD6Ac/CSXVOdhq1KJp4JADQJVSNNtOSerw1 + yzg4aoyIjbpZWuPHtYhQPrCY/8qh3RAe3Yv72VtUXS4puAGnKqZdXfGWFKzI7b7ixd4rk9RFGXLz + tmUFgwaejxYokNlFgqD5Rpbzp2mocdF5f5IgW8eMB05zhkZC9B9U2qyt9kWaNAJ1RGxC91aZ+Q5G + xEL5UDAa6lM= + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=2-holier-than-thou_bristle-msg.gpg + Content-Length: + - '692' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:59:50 GMT + Etag: + - sha256:24696d5014d068dd0ddab067e559c7289e3481a0f973ae62ed858ee76b70c050 + Expires: + - Wed, 26 Feb 2020 02:59:50 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:48 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTU5MCwiaWF0IjoxNTgyNjQyNzkwfQ.eyJpZCI6MX0.utlzj23Dv4njl4DTNVhOWgihrNnvlkJHbQ01GiY87FM + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies/d8bf6bdd-9a8c-4354-8d86-971b0cfdd133/download + response: + body: + string: !!binary | + hQIMAyPvXEQCl3S3AQ//Su4IbbZUNp9y375XQP/FfjRQ1QkOhoUTeiTxl9+oHrDIv/2BYMjc60Qs + AwX2215UPn1NF2p+CZYH+RPEAVwKckmvsIesi7G0d73mR5P7c3Gbzve2fVZzbd78WQWCfDS0ABaw + DTJwysaIG8aGKrOE0wPTaV6OITW463uAxKzkYrTLYYFSprtjAJ7mAGaqfuuSbocFNYYaqCxg1AoL + R+tXNzr1jCvHBMtaQEZf2pN/uaXb+Hon7rBq/pt+tv0+oN5p27XlQd4dr6xxb8RRmBsyKVaZa2DB + J72ePmrZMWLfrwUeg1ni05MxohRmkauTuNTAB7AHZBFoLBaeAmQZXg9BuXTdZAE3R4QVyFiuCe83 + ttZ5I/jznZ28fQTXmh5yM7LDHRvoNDvic/q1GV1Is7FHScXPO7tMetnDBvQew2cJIjiDTPcdjYJA + 4nH0OJR7lYyosqev7yMmW9vghNGd7hOWl1NcOFiIf7UGYw1qatV/GH4XZdZfXqkpOfwHcrr9XD/G + QGAfA7C77loy/EWyfwyzZYKdGg/OHjstc4QfeBOZjfl6L589eoH8f5pWj+c1M14fwls/e1Gv69XQ + KQNJGG6IFHg4W70bA7xMJCHkF1/9TBTe37widKrb3HIUrxAe2XkcWCllRBZNvTI4/jbbmNz2vLEm + W2Sbh8HQP0qxRvDW7i6FAgwDw+fEwKIgGyoBD/44JNVkjyhoDr+pefNFZuoXya61PJVRWPVoudO4 + Sze1nKTfyWbpYNMdWeqWZL6R8Df3x7wVX6M9oHYVnUSHxXTKddv2E3CUWAPowV+G53pfpL3y7Ik9 + WMTKxqoSw/hdY6g5+SqmTMbDDE7wrSkZu/aknUEwHetvSBeCx5H8Jg8JliDcMXbH+fSxn0TqS5PR + ipz0I8e9PJI2gKo61qOUBGtyftsVAdvopG/5t+rRBeuShNq0ZOkJbvK08pAAqkbrOHLtawR6HZOZ + 4tFRZxXOtXebV82EHQXDY+crNXK1Ur/0oV8/bef++9UtB/hVM/Dw0YBTTwa2JUCNjbHv0OIA/lIo + sd2TpZRUB/R+AXX7AKiySERpD9VPTzi7DmilZS4xHOQGArrmxQBbvNl72SorZNziBk+LH9z4Sizi + oQKs3Yp8JOsQdtvldyzGo05CCshi0ffSOJHuIetyZ2S2Xpg2XyNXpcxSFgLDhQ6zVDI42YOFlUPD + zvpJoeMvSAVWgwsk6Gu7tk5pdUM1hW1MpscHZGSRiiaYYQxvHbESXZ5hleY2IADIu4G0J71lQkA7 + Gx68KD4AKHII0qCctRV3F1RASNCVDJBPa1Q7JODNv/DTg8dcYSvyKzh6XXJlK4hkTdvoZcoYeT4L + 0c22bFDoIJnrKui305Sfgdt7mc+YWc+hkQj32NJdAR0eL6TTeawH9BkKT7WKpkno0Ay7p4FQjWwZ + Xae5+i+AcSDX6/v/EDfTva3unUpdQlhYt331qEYOFGX4o+7NPrS2SZZUEC3uitOgQWUqUclAM1qt + LpAaMbKqhjyr + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=3-shattering_lung-reply.gpg + Content-Length: + - '1149' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:59:51 GMT + Etag: + - sha256:eb0474c74f62b39f05a8cd3fa85772f0ab20583e6b18bd62f9954f8d286a733f + Expires: + - Wed, 26 Feb 2020 02:59:51 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:46 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTU5MCwiaWF0IjoxNTgyNjQyNzkwfQ.eyJpZCI6MX0.utlzj23Dv4njl4DTNVhOWgihrNnvlkJHbQ01GiY87FM + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies/4f148efa-6d29-4928-ae37-264118431bcc/download + response: + body: + string: !!binary | + hQIMAyPvXEQCl3S3ARAA0g0zxtmYrfk4v/SdaDV12hrRHnzUUj0dVseJYe2ttRNR15sA8Zaf5tpq + O6Iw7mclFm35zw8cdWGDmxQtHBgGxsfOTeHesq2RdrcYGpYl08gFTfQNI2SJYrlBDtMbqBSYbYgw + f/dHvz0ZIf5cxP/2Fi39sfjBzXuEMb39FP2Z9y2IstFPx5tshzk/VwltEPRY+kFVXYZ5ZenVbawI + ouyEbkc/thy9cdk1DgEqSNOLfN2XtA+e9QWAcZY94kVGEFXeekOczU3NBHUvHRMQAD76W/ymCIBF + gqu+0yDKRUVdABey6g9UfPhEKbbFA8LErKsFFt1TdnQ1+jOtbrs8JGkyF5w/oxEihiHmLBR6XwPT + 3HO7voV73wRrvO+S46nFB5TH8R0sVcFtej2ETMqC1Bb9MIV3FjqE2nq3j3KPP6mOn8QnlpIAlJPR + Ua9DE5e/C3jq/xeSQTM1k+/q36A/xqoGlt7dqkX9kSUWj6gP4RVMhocB7+E7xlmSI8dRT+IDOtrS + zuYM6ND0BewiFbZsXKeVF+adOJF7zZ3tjem0wZbewN+JVE3LVj1krkQS60AyLXUnrFylDTWw5uWH + fYCfJmWVFX4AjrplkcEcXKi9nR9/VBTkLWjzU0up3UrIY+EYErbXQ/QWwMmla59qwlwcUfkIoZ90 + o0NReHnPeS7rrUv0tm+FAgwDw+fEwKIgGyoBD/9GJZNdGhgVQYidN2swLPPpVB7UcC8OxtCHfYlL + xEI5LVEWJr/P7QBlEUVNQ64qW3rYPUpS/2F6ECnqOa5mLfHRNAzFZRHr+Cwinoo7epmkr4dXfmw+ + IH9AkZVP5eDBFG5Eg2iMqfCKUi/zYqJu0SWxIOGzY/iR6e2QdllnEkaSWQm/IVs2QELU7b/nSVSQ + jkkULXnGWxXLljZqrBHMahdGNIF4yzC2ndVF/oezUuNOVFbtzdSEo9dMqOZozpBJbpoHxHJrDhfJ + u6VGT1Bk5M8Ncc6KNYpmVx2if+CRHJX9mRkySFF9O3N3dV6+crQepi37aOi+yhwzKWvKZsV8TGf5 + 0RT/YmZs9LHvzOZdRnVcpanvlgf9js4q09RmhA39VIcAsM/zJziZVxRw92MW1MatKc1+s9IxgPa/ + uA1QbBA09Tgbd1ZwrBWRNFdrr75U01hL0n/ybNpMK3RgEha3OTaUTUv0z2+hIX5I+oTvY/cG21sc + zRkdmrrrZ4zITBZOHSZxcAVTzxZRG0990/n4HRt94gJrR853/bZmMZpHsYRwjw13iaLh/Y05/Uct + 1VL6cSbXAOnBreBq282koCo5rhGsscM94D5pfi1gNEXdRDrzYu4JUo/vbZ2i6gZlIB3IXu/PIY4J + XVmOVHlZTiHTS000U9Owwqy3c/awB6NJDOsl6NKhAdphXz+N+FTbMsD+I9lpf7jIUnh6s32WyUKv + JwIj8H45N6jRfrEiYesDis4TFCDHuIaGABJSathAtlREWM4IpTUlQULECbeVAPkrrt0/L0Ei6kho + ia3I+YdvjJ1L3tWjzsJy3CmeMg0xSkcdKGaA2PGSgW8CcjS3BoqWDC/4uLnaLYtCogy1Vj7PVZlR + LeAFExfBbs5i68l4Btgx1W9vVi0= + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=4-shattering_lung-reply.gpg + Content-Length: + - '1217' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:59:51 GMT + Etag: + - sha256:7c85972174fa8aa8ffa3aba4854b94dd632d60059571e888446ab7097bc549ca + Expires: + - Wed, 26 Feb 2020 02:59:51 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:47 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTU5MCwiaWF0IjoxNTgyNjQyNzkwfQ.eyJpZCI6MX0.utlzj23Dv4njl4DTNVhOWgihrNnvlkJHbQ01GiY87FM + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies/2959968f-dc8e-49a0-9121-ea172d0eddc5/download + response: + body: + string: !!binary | + hQIMA8RCx0Y9UrE3AQ/9HYSN9b87iFtrxLwDrM9+RknIZnh72wokumSkNxa0IOKYz9xL7Mzt4SSt + 7LHXr4A/ICi0KHJNRLcDBfviZBW1ByG2p4N5pCa31r7otaXtmwHm3fY5o3wgFE7m5rD5r6RizI9b + jYrGd0VtGLkyHgRN74n1VsPSuiXM9CyoNHMuFv7E5Dk+952Wfy/WRqhX/4Tb2dZOtA8Bj42Txr9R + 27iXOIVhlhWltD4LSXT/hH4QEmex5pVo86F0pvCTH7WIFBFY0W5pyVdG/AuwKPe92Wav5usS5HI4 + GcmRgESrK43GmqtO4L9/ElIpP0fKzvmTwS9iQ57CnG8vTnVOYxPkzrrpydOzn3rN8e6YCdiT3c45 + YSgAI3ibb8aiX082IjspCgm75ob23o1CdMo+W/4bKa3j2tUhQcKCOzACBMNAmJbJS/ylKcB1uOdb + X5K6ZxEMvzeWgOfZ+e6BvxAVir9o0HxW2knv13jVvbQsT3m/wIi+7PgCrgi1GqYLwsxtsmEQz4SO + L8qnCHmA79jF6v5XKgop+vuoAhhPepmHzRLxMaCptwFTBb8sv6uw25FZWLRRnSLx/3BLk78SXLyi + ki4KGWbaFmWeElDJx9EK39nvY238x/QVfEiGVExsiKLBZ0nyB6sBYK1czmY+bnwZxplTO4fqZfdL + V94+dpKEzSPR10dfVliFAgwDw+fEwKIgGyoBD/4u9udpPbhgQ15A+Q1wXroNyczh9NgIuG1N3NyM + oCc/alGOPpL8DnwELKQvRJuFSQ1iToS3lij3ILEQa+A95HKl14l3IwtrrIRVUbjcki2dijORbIb9 + rWctFxLzdKtSEFN3gnbiey6S18r8zeZIZv25ZvJqlXQJYU0aHVnLUvFYUEohW0ZfyT9km/xQVqsB + dO15JoZJ7u8ZyrFMSUFAbzKuseuyvphDCnWDzWQ6lGEOMNTvlA+zEMFAuCpSfQ+gQabW4CbvtPT3 + TGJcti+IxCOi3/Jb7X4BBTXbI1Qx5QI63q7monx3T3U92PakVovyH+AzO/DkgRv3nHCZaRMFU+jn + U9fKt6yJTYNaP3Qf6tQev2fPRXZkQ40F08NhAeMlJZsooRn04A0uIviIzsPhpEm/M3z6prgBOAsO + fp6vFf3VttAgkpeDA876VvrpWMsVIm9sY9rwVMbIIC1/Bb9MT4Od+MnZQkxl49ey2vpEZl3fNsXY + VoygF4TwUBtEvHdoRF92dl405kIisq/NjXwhkwLeEpoqKm6vwdQQMwIYvWILorSkj8RCwX3xgQUY + WUBLS3V7lYc+hXWiGGQIWYaFxs18bozc0egVTG5ZHfNpBUblZxCS6AlUDz0Bai4WrEY693KV43Be + YHg/giqoXAffqFWrahAgEnNggfLGSSnedTFCn9JdAVyqrC39HyNCcRNrpSCnp0726smN98RDz0t8 + 2kSEBeI7xzcL3leaIqNalkelnyz+wT0it+UdExn+kUnmleycYNgnLHuoU80uZ/qffGIPiE0GtiKP + zZCieEk9E5fu + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=3-holier-than-thou_bristle-reply.gpg + Content-Length: + - '1149' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:59:51 GMT + Etag: + - sha256:28477ea9d94680deb5811e5353156c845a12b1be64241bd1a12daca38aa676c3 + Expires: + - Wed, 26 Feb 2020 02:59:51 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:48 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTU5MCwiaWF0IjoxNTgyNjQyNzkwfQ.eyJpZCI6MX0.utlzj23Dv4njl4DTNVhOWgihrNnvlkJHbQ01GiY87FM + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies/f0ca496c-8e55-488f-8da1-ccb2df4299b6/download + response: + body: + string: !!binary | + hQIMA8RCx0Y9UrE3AQ/9F2yciHwJu/CbKrZsLFSNVNjrCbv/ykpPwcSGg73xoN3r4vX8AvYziLsA + 20piFZQJIbfAawOci3yzaYLbaTAzq+gR+PFj143MTOrGd/GIy5XbRTfI8Elq4VVLSbRoPuNz2UvB + nS01q7LnZ/Q3jrSDOZtshAGvFqzJh1vJgIA0SO/GR4xDv8ie9iPk+YJh19SIUvYvDoKwt+x0e5sX + 6jF9sgD3x8aU5ZEBomvHH4hQwGJAuDzePyosP6Pjv0OsLaVby7npsK4u15dkHZTVeSUejbv/NwgK + 7GEtf/jg5tBweMcn0yEFmHluIRGF1UjZFnUkdsEgSqK5aIQ0aIhxKjl4emgLyj+teNYB3BCYaWMR + FW6y4hcINkPuhYAy92nHl5QEi3B/V254VBAvqtApEuENj0zOt+6UbUxa4B9/mR08kZ6jc74+DiST + YzTbZovy69BDnbB8H5yE/9IBDf57KgGhgzoIG75L3EQlrpq8HFk3v7U0UUGm/hfg6eBrZAro1Hy3 + SEyGcwM7HFBPnvfdfnuGkx2npWrcy9r9xBh8Z43Yp9w7SagERLtx3NRbpRY22hC+3PjFnuTHfDsh + 5+gA+DGmdThmArN92Is2pURr2c3cPesArFE7/uuef00wuAdwCub0HsQ/IbnJefY0oM3OMaDSFgtS + w5JX/cGq6sVsBMrZKRmFAgwDw+fEwKIgGyoBEADJB4rA0W4Ttqmx729YFz1xCkLtdHD8EHu5pZDs + Ppmc5uD9pZ/eXSBPj/BL6vkx7VVLVfvb52W4w92SiRffPmfyzE/6qIvcViuRCIFGhQ9e6nA3R0+C + BDj2DzcxIibuVdKISOjCHosOHH9AU3nnxlxzcSWJ2T+GDAp7jIwbkI0vBk0KvLUB62cH3nn5ZoM2 + /Krub0ONFl8p+wegPqt19U6h5lE3aZVD0il/udbHdsaYRvQ7mEGd5dAWUzV3iPiPtL2vBPd2EDP1 + X2c1n8CH9BKMN+/elUtln7G67sldN7aFD53eaowo+DTr52J+adCLZWnvct4d3kYpO5C5V8ScVYel + sUqrvFSnrIMmBjq5EJO0ENImOCAcd4OXsAhlZxBa8BsOlpsvGnO68QNGxpyXMca9fkQPkHHANDXP + qjI8yg+YHjTTxu402raHZ84AUAGm6+QyFOeDcALcm6S0ADOJV6qVhJdVlmNBO/HF38JR2iL2OqQ7 + E+tYkRUFTf4EMm6Wf1QQabScLaR88PnkGSq7WlEFZKWtBmfuhlOExBysfXgckXNos/1qppvgF7po + nlqfXIhPheIDsn2DU2tUOr8fCb/YIo/GIuk7EATy6m3mtzM7YyY+NtUaDkq1Y3Hwzpq/5PnO1arx + wH/FhgELxEpH09Quyd/P1NWLhuxWAfjHZVRcRtKhAdCnLuAf42NtyLgGMEvSyz0lr+hFGgPPyZ+j + GkyZLH5CBvvY02Nu1rmHDi9nq61DyZ/osxoDwVNaDufC5lghkr8sqZZtmUuFR50H/ukWZGrhnHS3 + SfjKYfo4Blr7gAX6rHWO5BZdCPEsIUJ5D78xzYPYM2L9idAcV/AkU68O5/RARNzHw6V1yfLAXGtd + PQf6Zki/cHYAFdfAYHYFwtX4HyY= + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=4-holier-than-thou_bristle-reply.gpg + Content-Length: + - '1217' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 14:59:51 GMT + Etag: + - sha256:f2fbfa8f81c9d4176749bedec3ee8bee6b3f6269ad9b9d3c35b42e68aee7106a + Expires: + - Wed, 26 Feb 2020 02:59:51 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:48 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/functional/cassettes/test_offline_star_source.yaml b/tests/functional/cassettes/test_offline_star_source.yaml new file mode 100644 index 000000000..4eac4a7fc --- /dev/null +++ b/tests/functional/cassettes/test_offline_star_source.yaml @@ -0,0 +1,701 @@ +interactions: +- request: + body: '{"username": "journalist", "passphrase": "correct horse battery staple + profanity oil chewy", "one_time_code": "994892"}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '119' + User-Agent: + - python-requests/2.20.0 + method: POST + uri: http://localhost:8081/api/v1/token + response: + body: + string: "{\n \"expiration\": \"2020-02-25T23:00:39.331899Z\", \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_uuid\": \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", + \n \"token\": \"eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTYzOSwiaWF0IjoxNTgyNjQyODM5fQ.eyJpZCI6MX0.m-X3wCsMwNvlmsx5pbB68cyJ5_22zfoakJ0VLCJML7c\"\n}\n" + headers: + Content-Length: + - '317' + Content-Type: + - application/json + Date: + - Tue, 25 Feb 2020 15:00:39 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTYzOSwiaWF0IjoxNTgyNjQyODM5fQ.eyJpZCI6MX0.m-X3wCsMwNvlmsx5pbB68cyJ5_22zfoakJ0VLCJML7c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources + response: + body: + string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"shattering lung\", \n \"key\": + {\n \"fingerprint\": \"FEBDFDBB44595D38025EBD7423EF5C44029774B7\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADb+ADPxqZiKVKvYqTKQJgWsAMtLUWmab+YV0XM7+ytuz61F8xh\\nBJve/MoxlsFJTEvau0JBRIv0SGLAeFfCtc6WbC6MJ5tQ/ioWoIKTRfv2LqjkZr4e\\nCpbUHElvPfxxDE+zEKGPJE8tneJG5ajMIiXBbh9bt8/RWuAcSq9XldmmRAPct5iS\\n/PG49up/ztECkxKKvsLxVjpqJIH9auI1wZPpE/HfSI9PWLS/oAbSxIobcSvtxCAv\\nKlzfbF8iN9zeI+2mfrLlUgAvXwuwhDyzg1o5L7fNgkfVaL+C8+Uw9kyDLh9daIlc\\nHc9GoIO/CJTfQy6kt3cADPDwI64ysYZ2+UPI5LYOu3RRHF3jEi82C17oI24I9Qzh\\nrEHf8UixVY9X7RpOjiJ3PO5PKjFbyClpYgybACSqQXJGZgsBVkC6Fug3b3hgSWYK\\nkaULr+pTBneiyFuNBUv3h7e3/+3MXGl3gtWsAgptgw8ueHNp7CmyHGM1sIcYVPyC\\nVLMhkLwb29TFGh+6QrA+uTP3+G9lga49B3ufRJenHXCs5DRPEqNzCkYPZAPFnOYq\\nJsBf0DYzcd21aPQ4XwoLuSoBl/xYyYF3/M5B2tiY4zDL2lLkfcAgNVkfpn/oMT9r\\n/cKdwrsJ7vZxfJRoF7j94TXGy4uvpwnCYS4LBTlcaGMMRHRaAU/3DjimVQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8SkxOUFVYUFE3WUc2VEg2VTNJSUpMN0I3RENG\\nM0lYUUVHNU1QV1hFTUg1RlRBVlJYSFROVVMyU1pMNFNLS0RDRkVCV1ZWQlNSSFJD\\nWFEzVU5HVEdCSFBWVEVDVENBU1U1MzNaNUlTQT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJECPvXEQCl3S37d8QAKQXcVEniONj\\nimzLp8adfQcH4cYx2/w0FDJ8i8XObG3+NpXvyU6mY9Lh3I8OEBiJpjEKDuNVyhll\\n2SdDW7HMKYOyuRcXzbheyOI3B/qyxKEtwanTjCePCKqVQltehOeYffihU5LGVEyq\\n0+jD+QaDAy/pBZo7alqc2yeS5j/hyubOUQ1LWgpDYkbdHeprixIPAZV+egXG/cl/\\nBIZloQQ+Q3QXQeUEtn/OhpCV6mO7Hbf9yWM8h7P/eCRhs7lve4tSOSx7WVKnL2sf\\nQ16iyaC93IYEKMNVIwyLQLif4vzkRI8EZ4TSNLMR+QMAKww2g7Y+NNYpnoFjjAud\\nUp4yKk1P5LQtcYhEUNISY09ZBLLDrKss1Vj7820RGnyEyyhxo94TwJEjKDDJxtVH\\n5Lv9sFzTAJJdEg9DhD91R2GLwAyKPJfgEA44nvRIzdBdjIbPsRP9HAz0WD8vGlDV\\n8oUd0tNL/6Uf74cCqYOD2jBlAzqBRiKC7dEwV04rY0WQrLI06N+JoCdo2Fh7MAtz\\nNUjrUm5clVsTtJAel2y+PjqZ6Z4jFiLkpaKomvT6tR33qbiTxzRzXPDHANnYNsiE\\n4JZ+/ekcsO0pH6GU7fR7OZmFSK5YBOg/MlOo4OeesjSsObLZMLOteGJWkgqkYE6P\\ntR7w1V9PkicIp1Ap9bO0d4TBEybJHYuP\\n=cPX6\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-25T14:51:46.976004Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/remove_star\", + \n \"replies_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies\", + \n \"submissions_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions\", + \n \"url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"uuid\": \"fe5f5269-7d1b-42e6-83a3-8538b4d60122\"\n }, \n {\n + \ \"add_star_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/add_star\", + \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": + false, \n \"journalist_designation\": \"holier-than-thou bristle\", \n + \ \"key\": {\n \"fingerprint\": \"6A220777AE0EF8C4A45E113AC442C7463D52B137\", + \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEAC8MIKb38NvUHaL1MdDLWz7r10myn32/NqDK5eyHlXrtRJfQvH5\\niAJfT3msd/ussndpFLBtGhZS6T4XJLO/J/ssP+x7GV3wZ1Lj/kO2vD2ewSzOE7Vp\\nRFq9NhQ9LoWUcf3VPD1VK+g1HdpP1BMS/zfMZbugC5QffWz2uG0b3EugHmuWpGpS\\ni7hDEC464sByj2NW7BKdNhBesc8lGeV6l4sQluFHn8SuwKGuY6lPaxZuz9oOB2co\\n2UAByDKXn0WEPRyjzLErsn2BusJUge7gFXCHbuQ/SHsxf/OIBTBzrIfpmNL0g1Jn\\nrFc2smFCL1oDme6O7VZcFUD7TWhyZUdr7GuPOa4KFMB3uAWuFdpok/4IL2OipsS/\\nn7yCUr+e9quKvF+QIb0DVqx+oLUaUQH4jOv3eS2OnviJHP6+XN12EJhmrCNCJncB\\nzw9BXgx3p8KQe67AWrX+fWqYEbYbwxrXehXVrvIPAWzhFyE7cMaL29CMIWCJtyGp\\nFDncbDbUJF6SJFfyUacDgyiMuIrhk3xkdSfWaqg6MtKbqVT0MCzfHs9XMXbpfDmu\\nLCvfsWuGGC9ZVo37dZQT3slRyBNjrEV4QLaBktMNRIo8uB14EdFRk2/cgUhPAb+N\\n0orccsU0M12pmjMWVRH+PetLtQYCvO3MVoPtHMLywBOQ+O7cj1zix1eJEQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8V0RSWllaSEM2TFRTQTNBREk2VDdETkhaSjRY\\nWFZFSlA0NVBBN1FVS1A3T0xQTlZHRDc3U1FSM1M3UEhVR1NaRkhZN0VHMzQ3NkxG\\nWDJOV1FaWjNSR05HVU1RWldLVkpYWTZWSEI2QT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEMRCx0Y9UrE3ZoQQALo0OZEeeSDT\\nyQq0rCovGF5b8RskKEqMzIPKv5EtKwQIZgQBCG3MKhSJs98SQMBfBOLKzFMU6gEa\\naqiog0FRBEQw9G6dtmhvNdltgTDL6hcSglcGG2Ihsa4nAo1z6Kjjta29zgK1E7Q0\\nmVlp5sd5MG7wCPe9LKCcCWrekPLD+c8MZxXPu0j6YOr5EChiAL3QiE5ZTpWhaNCE\\nV3BmrkZClbIYwqUd6oRwSDNCpMc0Zj7YNjU1Z0j0EsdsE2X2yBfdp0er1jY4Nh4c\\naLe6ybDY1QqU7t8UR56LsBE4ejwrQuAWHtc9B0Ky0QdI9M6CLE42sHTHutUoumvH\\nD8ODI3mc/6NO7yrvivoiosqMM30fV/S8F5Q5W/N0T3nTCtPcjVQSCp0t7ngqnlno\\nYFvZJNP7NRlno2qICg1SecXXdZt2/PvkbEgZHykCE0vUA9RB0cfALX9bQtwMvkOn\\naRbCsW+vY9q1xH4gzG8E3gqjQG5XzQTnupgFER6wXmWzP/JEUG8eieYD+eStTX9d\\nR+P0yj/Udh+u9IwdWqP1uvvtbA5IC4Lr28BJnmKOQodEoyJQtb6Y5jwaR3hU1J4K\\ncbiAKk+6YZM7usOuxW74plSk8LiRWgypCcb8pum8LnENa3kYGizump6+np9wxlQ4\\nGUaAGingR4kg2645Shn+9xUIE78jCl95\\n=FfUY\\n-----END + PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": + \"2020-02-25T14:51:48.114824Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": + 2, \n \"remove_star_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/remove_star\", + \n \"replies_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies\", + \n \"submissions_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions\", + \n \"url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"uuid\": \"d894d52c-c191-4aa6-bfed-869f598783df\"\n }\n ]\n}\n" + headers: + Content-Length: + - '5354' + Content-Type: + - application/json + Date: + - Tue, 25 Feb 2020 15:00:39 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTYzOSwiaWF0IjoxNTgyNjQyODM5fQ.eyJpZCI6MX0.m-X3wCsMwNvlmsx5pbB68cyJ5_22zfoakJ0VLCJML7c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/submissions + response: + body: + string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/81968b5d-3f68-4e14-9749-e800434834ea/download\", + \n \"filename\": \"1-shattering_lung-msg.gpg\", \n \"is_read\": + true, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"submission_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/81968b5d-3f68-4e14-9749-e800434834ea\", + \n \"uuid\": \"81968b5d-3f68-4e14-9749-e800434834ea\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/6df30b7c-a168-4009-aabc-bb39abb4a018/download\", + \n \"filename\": \"2-shattering_lung-msg.gpg\", \n \"is_read\": + true, \n \"size\": 692, \n \"source_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"submission_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/6df30b7c-a168-4009-aabc-bb39abb4a018\", + \n \"uuid\": \"6df30b7c-a168-4009-aabc-bb39abb4a018\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/f04ca1de-b40a-44df-a099-a07882ce6607/download\", + \n \"filename\": \"1-holier-than-thou_bristle-msg.gpg\", \n \"is_read\": + true, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"submission_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/f04ca1de-b40a-44df-a099-a07882ce6607\", + \n \"uuid\": \"f04ca1de-b40a-44df-a099-a07882ce6607\"\n }, \n {\n + \ \"download_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/87e57d4f-c6a0-4ee6-8d99-2a23bfebd10d/download\", + \n \"filename\": \"2-holier-than-thou_bristle-msg.gpg\", \n \"is_read\": + true, \n \"size\": 692, \n \"source_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"submission_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/87e57d4f-c6a0-4ee6-8d99-2a23bfebd10d\", + \n \"uuid\": \"87e57d4f-c6a0-4ee6-8d99-2a23bfebd10d\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2055' + Content-Type: + - application/json + Date: + - Tue, 25 Feb 2020 15:00:39 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTYzOSwiaWF0IjoxNTgyNjQyODM5fQ.eyJpZCI6MX0.m-X3wCsMwNvlmsx5pbB68cyJ5_22zfoakJ0VLCJML7c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/replies + response: + body: + string: "{\n \"replies\": [\n {\n \"filename\": \"3-shattering_lung-reply.gpg\", + \n \"is_deleted_by_source\": false, \n \"journalist_first_name\": + null, \n \"journalist_last_name\": null, \n \"journalist_username\": + \"journalist\", \n \"journalist_uuid\": \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", + \n \"reply_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies/d8bf6bdd-9a8c-4354-8d86-971b0cfdd133\", + \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"uuid\": \"d8bf6bdd-9a8c-4354-8d86-971b0cfdd133\"\n }, \n {\n + \ \"filename\": \"4-shattering_lung-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", \n \"reply_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies/4f148efa-6d29-4928-ae37-264118431bcc\", + \n \"size\": 1217, \n \"source_url\": \"/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122\", + \n \"uuid\": \"4f148efa-6d29-4928-ae37-264118431bcc\"\n }, \n {\n + \ \"filename\": \"3-holier-than-thou_bristle-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", \n \"reply_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies/2959968f-dc8e-49a0-9121-ea172d0eddc5\", + \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"uuid\": \"2959968f-dc8e-49a0-9121-ea172d0eddc5\"\n }, \n {\n + \ \"filename\": \"4-holier-than-thou_bristle-reply.gpg\", \n \"is_deleted_by_source\": + false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": + null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": + \"21ccc98f-1f83-44f9-8458-36285b0baf8c\", \n \"reply_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies/f0ca496c-8e55-488f-8da1-ccb2df4299b6\", + \n \"size\": 1217, \n \"source_url\": \"/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df\", + \n \"uuid\": \"f0ca496c-8e55-488f-8da1-ccb2df4299b6\"\n }\n ]\n}\n" + headers: + Content-Length: + - '2275' + Content-Type: + - application/json + Date: + - Tue, 25 Feb 2020 15:00:39 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTYzOSwiaWF0IjoxNTgyNjQyODM5fQ.eyJpZCI6MX0.m-X3wCsMwNvlmsx5pbB68cyJ5_22zfoakJ0VLCJML7c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/81968b5d-3f68-4e14-9749-e800434834ea/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ//W9Kq8XkYkXBfLXZG8CLgc+nzNrBJYLsiT5B6NP/1vACCUUFpCmPGM/DH + jGKOp7QcjLhKXLW0h96ED3lavwpRTV8oy7IuXFNcld+n06mgosT2I6m9W+q0GaoY98ClTk+liU7F + raU8n37kB84Zh0dS9MFErLanAScDm7/RakmolDXA0TdhPagMBmXMHHk/rFRd5R7VIXHFipgu9pXt + 9g7YmELJHiwkLkA4f+0VQOaTVL4TqoUm/M9lRBv6Y0Ypr/pksfYm9SoANCSDnY8H6OWvETjWhlI0 + C4BoAij+/zsmJviYjbBBlKQx22WFnFsqCQ/DqipUd5LNrI2bkYmw9tUfquW+l/GjcvHusVLBhGn9 + zIq7K5FDdcnFUUtMbkD1zN404/ZgpgEf4CjuyyfbNBpW4hCFoUVn6qkoIy4VBklEDS134TjKeE/B + 1ZGSmTm5dGZ+GpR5SY8hxtr2s9zrIAraGEWHdlchb9joanGpvCxKC9kAFnf01hsoM9F0WTcySIl3 + yn8yido4DNZnc2y0jBmxo9uPaU2Z6xYbEBykOu4FZvIPxozV4mY9N5LFOMPASU/dM0cOPONgD8VQ + kq+ujwlrr2T4Q+ZVW0f4j5xatb658muZqxJK48kE7JlgEkwu2PitLTB/gP0E1mM+i5ykZXsjrZJN + UqioaJctC0uDqJHBIwfSYgGK6tM3O/Iq9GOxNnzCVISapJLsBF4uWAV1KhML7xJiZJ7UxbM/Xmoy + qFd+G1w0sWWSfzPsAttFYXTMRnlsyZ3rzr+BFKo9zSdUFjUAt2BdN+ij/o9HT2MQ1hsEEan5tREs + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=1-shattering_lung-msg.gpg + Content-Length: + - '627' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 15:00:39 GMT + Etag: + - sha256:e65a2a839d9b897b31032d2734362c027eada69e3085558855b5ec93802a29b3 + Expires: + - Wed, 26 Feb 2020 03:00:39 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:46 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTYzOSwiaWF0IjoxNTgyNjQyODM5fQ.eyJpZCI6MX0.m-X3wCsMwNvlmsx5pbB68cyJ5_22zfoakJ0VLCJML7c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/submissions/6df30b7c-a168-4009-aabc-bb39abb4a018/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ/+OEK1sLSC/73KDsYffVoOYgUJ3eJ1qWulY9y7ZZPgr9XnklQY6uTmM5W2 + YQ2hBQCl544PPswy4rK+3xdxqbShsuaCc8INFKKyn9KcV0RyL4BFV0Ch3r1pS8QEMYcuooFDeSGC + M2P1SJsBKdgoH+Rh3oWEV2naeQGQf/TZ3C0fVb9mikVncHS6lyMgEY1Qk8bYBZV2Jd/XtE8FHiwl + yHlQXdTBDHUs6Wr2KUvY8oxVqupJf8Nv033kYiT+2k/ngV4HcNKAfyTkoqfhASWfl/ltnJiXpCct + /egLH0Rqr0Ha2nO+KE0jaqArzXefsrxRt4Ps9uiRgdXDFdrF+DsOojyxLMaWQzUWqiTsnsmanhhB + uIRdQPfw0FlRf2MyDDCBXWQTjtUhYPVGSm0iCuFf/gMoN57gouL8+QYqnzWmnryyj/XbTrVEUsdB + aCJ8t+/UAYLazlNc4XsF8MW/yHmxs37CoLmR98GFhgpNk/PRJnKaiITBRVMfXe/XuEEfTuGryUKE + IXCtNgSwz1eSxezLmqiJhMv0SysjlXhSxxicZ1henY0JQUr8eMU4Ag3Y/uP2mLBlKe8xPuGME8Vt + g3gDZHhA4ClqoPzBcys1tHe9Ll6DBlJtJ5UJHYNCBdJWIy5f1oBoivQNTnO+ytImK4rNozPSLRAe + qUZIcCKciBabF+CaKODSowHA8pYMt6IJIeUsy2l0kdbJIWtpSgahCSAcM1qPGPAEiIYJhrgqbgi4 + imSeUdOFJrvOHV74uN76tZxLdd50OGfKfqclNua8VcTclnWccbaIHAarWOAMgh8sPPtHd57wfIed + ntluC9P6JltuS5Mb4ggkCTgxxxthVSmeAkVeZhB7DkfcSL6r6NJqlJjlcevG8N6TQ1VbQE7VmBE3 + gyFf6uTVcLQ= + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=2-shattering_lung-msg.gpg + Content-Length: + - '692' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 15:00:39 GMT + Etag: + - sha256:2b3e6e346dcd09ff06d0cc93b39c33687093fe1762bcd95db0dd1a144b42eb67 + Expires: + - Wed, 26 Feb 2020 03:00:39 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:46 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTYzOSwiaWF0IjoxNTgyNjQyODM5fQ.eyJpZCI6MX0.m-X3wCsMwNvlmsx5pbB68cyJ5_22zfoakJ0VLCJML7c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/f04ca1de-b40a-44df-a099-a07882ce6607/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqARAAwnhdBSmNYngWmN/VO3X4gEYqJYXu6DZZ+KkY7+Lxfip2x7qS0VHf2+gc + kTqShZA3ODlLcfuP2DCc6pvR8P3yQMUPHFZAEOKG6HMgBglmuaavDzEVj7IBEZ99leX1PGFyVVwn + c5M5jaKOLFJHdBXmWJ+YJ1KUdlx42LZGY3eCXL+aD5aFu9Kze0nkRcIUGMZk2YIdtPIJujW2VUzF + qHQ/EIoe3YXjXu2FrWM94WHrxs2BHWBQ6pKU11dQgM5g6hOql3J0//2I5LD64akk1gKP16ONeXpH + hC4vtb75xv687XnhoSOV90Zi6Uujj2/PK4YkEW+XAB+VxT3GoEyG+XWMjAsRzMBK1WkfXdQmRUBU + jM7kOsu0CDfqYVrVMidWtW8Ldlg2VkMaxVA6EwkzxmGKa49W7RIvQCBUd6O2sGLRojAf1QCtvTnF + kxtcmgNAKSQIFQA/QyY2gsXbO/vD4tFTGxCtHe0ODkyISsJz+w5FzZts5ySJmauT09EZikcvUqft + 7njsKLmxCpK59Gx3SwJ57hlKPm4AYuPz/zgy+JvrmGYEz2JhYmH8HWmRQtpXdCGzS6FU59/51dUt + I09RSIbvWEqzrR85Av2tMLbeuF+2MdRNuribbf0ZTJ7VtcBwq91GHNd0x2UKC5Jx8mqsgbVAYA9X + 8hU+43azu7EErDOR2A7SYgFUTI3KX7XOZVFWE2Vas4GPkSM1F/C/Dd6SZDpFZZEhrRp+pFuyPDSz + zZdiK98NLrppwIfr6sSc6Ksb2k8qs2kc3zpaYH+ubgFNt3blq9j9VVB0sLvFvffiZRU/qL/RqN18 + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=1-holier-than-thou_bristle-msg.gpg + Content-Length: + - '627' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 15:00:39 GMT + Etag: + - sha256:3c408cb123907551d63ec2dffe0188d466343e227ad7ca467ed2881a92ec8506 + Expires: + - Wed, 26 Feb 2020 03:00:39 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:48 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTYzOSwiaWF0IjoxNTgyNjQyODM5fQ.eyJpZCI6MX0.m-X3wCsMwNvlmsx5pbB68cyJ5_22zfoakJ0VLCJML7c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/submissions/87e57d4f-c6a0-4ee6-8d99-2a23bfebd10d/download + response: + body: + string: !!binary | + hQIMA8PnxMCiIBsqAQ/+L664jCUtzr0iFOHkWf8Cdo5hXQtlDCYxEbR+Jj3j2FyOWtGpDX5aSdTj + ecLhyDWmaZtm9xnXaIrmJQY0TAJG7VabilYFrgARihUt0oOZyi+vwO9gEc5szEP2Y54aGkV7ZEPi + qdBzjCpWTmrIyU1DcA894EXTgtsyCOJ21FPVPfuIhXFBO7Qz3bXrCdeBGUKpz5IiiYxV1GASvgFm + VYmuAKNWBKMnBjxbJ4BLe0zYTQdSWP5xgpmkHmBDrPDpjlrg1Vt+EPXBcxcGo9y/zOE7ovkhyxwo + pERh4CGdDnKVHLIhkDOOXKJv/Bi8Wwvle39A4jSXudfqTzplqD2Xmg/yZeV2V2coqDhFnkkgJ4W9 + 4hNAF8bvkHDV/LtihukhJoIWYzV3uD0rwwwpU5QEzo9LxpqqH0QsNKfD0BysUsmyHgeJcxxdc/AF + jORUMtB4EwaQuhA2lOnJEbx5TMvripQ6CH/xjJmot5KdbD3CD1tsdDzm0EC8QTuD2u4bHBRyVkk+ + QXDMbVA52NvJXLABNiZckfZf2TUk9S/6/9pt3CRv2Iygm0D5hw8P0H8mu85HpQfxkFDHQOHHyfF/ + zaXndJZ93a4cEt7rdH1xcJd43K42Dy+kXe+m44ch8iyevNhMtaFZVOovHNkEA+k/Zq7HtLFdUBgN + 5GiiG1/f9x/9duC7JWHSowFNBFYJUZoIUML46U85bOD6Ac/CSXVOdhq1KJp4JADQJVSNNtOSerw1 + yzg4aoyIjbpZWuPHtYhQPrCY/8qh3RAe3Yv72VtUXS4puAGnKqZdXfGWFKzI7b7ixd4rk9RFGXLz + tmUFgwaejxYokNlFgqD5Rpbzp2mocdF5f5IgW8eMB05zhkZC9B9U2qyt9kWaNAJ1RGxC91aZ+Q5G + xEL5UDAa6lM= + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=2-holier-than-thou_bristle-msg.gpg + Content-Length: + - '692' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 15:00:39 GMT + Etag: + - sha256:24696d5014d068dd0ddab067e559c7289e3481a0f973ae62ed858ee76b70c050 + Expires: + - Wed, 26 Feb 2020 03:00:39 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:48 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTYzOSwiaWF0IjoxNTgyNjQyODM5fQ.eyJpZCI6MX0.m-X3wCsMwNvlmsx5pbB68cyJ5_22zfoakJ0VLCJML7c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies/d8bf6bdd-9a8c-4354-8d86-971b0cfdd133/download + response: + body: + string: !!binary | + hQIMAyPvXEQCl3S3AQ//Su4IbbZUNp9y375XQP/FfjRQ1QkOhoUTeiTxl9+oHrDIv/2BYMjc60Qs + AwX2215UPn1NF2p+CZYH+RPEAVwKckmvsIesi7G0d73mR5P7c3Gbzve2fVZzbd78WQWCfDS0ABaw + DTJwysaIG8aGKrOE0wPTaV6OITW463uAxKzkYrTLYYFSprtjAJ7mAGaqfuuSbocFNYYaqCxg1AoL + R+tXNzr1jCvHBMtaQEZf2pN/uaXb+Hon7rBq/pt+tv0+oN5p27XlQd4dr6xxb8RRmBsyKVaZa2DB + J72ePmrZMWLfrwUeg1ni05MxohRmkauTuNTAB7AHZBFoLBaeAmQZXg9BuXTdZAE3R4QVyFiuCe83 + ttZ5I/jznZ28fQTXmh5yM7LDHRvoNDvic/q1GV1Is7FHScXPO7tMetnDBvQew2cJIjiDTPcdjYJA + 4nH0OJR7lYyosqev7yMmW9vghNGd7hOWl1NcOFiIf7UGYw1qatV/GH4XZdZfXqkpOfwHcrr9XD/G + QGAfA7C77loy/EWyfwyzZYKdGg/OHjstc4QfeBOZjfl6L589eoH8f5pWj+c1M14fwls/e1Gv69XQ + KQNJGG6IFHg4W70bA7xMJCHkF1/9TBTe37widKrb3HIUrxAe2XkcWCllRBZNvTI4/jbbmNz2vLEm + W2Sbh8HQP0qxRvDW7i6FAgwDw+fEwKIgGyoBD/44JNVkjyhoDr+pefNFZuoXya61PJVRWPVoudO4 + Sze1nKTfyWbpYNMdWeqWZL6R8Df3x7wVX6M9oHYVnUSHxXTKddv2E3CUWAPowV+G53pfpL3y7Ik9 + WMTKxqoSw/hdY6g5+SqmTMbDDE7wrSkZu/aknUEwHetvSBeCx5H8Jg8JliDcMXbH+fSxn0TqS5PR + ipz0I8e9PJI2gKo61qOUBGtyftsVAdvopG/5t+rRBeuShNq0ZOkJbvK08pAAqkbrOHLtawR6HZOZ + 4tFRZxXOtXebV82EHQXDY+crNXK1Ur/0oV8/bef++9UtB/hVM/Dw0YBTTwa2JUCNjbHv0OIA/lIo + sd2TpZRUB/R+AXX7AKiySERpD9VPTzi7DmilZS4xHOQGArrmxQBbvNl72SorZNziBk+LH9z4Sizi + oQKs3Yp8JOsQdtvldyzGo05CCshi0ffSOJHuIetyZ2S2Xpg2XyNXpcxSFgLDhQ6zVDI42YOFlUPD + zvpJoeMvSAVWgwsk6Gu7tk5pdUM1hW1MpscHZGSRiiaYYQxvHbESXZ5hleY2IADIu4G0J71lQkA7 + Gx68KD4AKHII0qCctRV3F1RASNCVDJBPa1Q7JODNv/DTg8dcYSvyKzh6XXJlK4hkTdvoZcoYeT4L + 0c22bFDoIJnrKui305Sfgdt7mc+YWc+hkQj32NJdAR0eL6TTeawH9BkKT7WKpkno0Ay7p4FQjWwZ + Xae5+i+AcSDX6/v/EDfTva3unUpdQlhYt331qEYOFGX4o+7NPrS2SZZUEC3uitOgQWUqUclAM1qt + LpAaMbKqhjyr + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=3-shattering_lung-reply.gpg + Content-Length: + - '1149' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 15:00:40 GMT + Etag: + - sha256:eb0474c74f62b39f05a8cd3fa85772f0ab20583e6b18bd62f9954f8d286a733f + Expires: + - Wed, 26 Feb 2020 03:00:40 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:46 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTYzOSwiaWF0IjoxNTgyNjQyODM5fQ.eyJpZCI6MX0.m-X3wCsMwNvlmsx5pbB68cyJ5_22zfoakJ0VLCJML7c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/fe5f5269-7d1b-42e6-83a3-8538b4d60122/replies/4f148efa-6d29-4928-ae37-264118431bcc/download + response: + body: + string: !!binary | + hQIMAyPvXEQCl3S3ARAA0g0zxtmYrfk4v/SdaDV12hrRHnzUUj0dVseJYe2ttRNR15sA8Zaf5tpq + O6Iw7mclFm35zw8cdWGDmxQtHBgGxsfOTeHesq2RdrcYGpYl08gFTfQNI2SJYrlBDtMbqBSYbYgw + f/dHvz0ZIf5cxP/2Fi39sfjBzXuEMb39FP2Z9y2IstFPx5tshzk/VwltEPRY+kFVXYZ5ZenVbawI + ouyEbkc/thy9cdk1DgEqSNOLfN2XtA+e9QWAcZY94kVGEFXeekOczU3NBHUvHRMQAD76W/ymCIBF + gqu+0yDKRUVdABey6g9UfPhEKbbFA8LErKsFFt1TdnQ1+jOtbrs8JGkyF5w/oxEihiHmLBR6XwPT + 3HO7voV73wRrvO+S46nFB5TH8R0sVcFtej2ETMqC1Bb9MIV3FjqE2nq3j3KPP6mOn8QnlpIAlJPR + Ua9DE5e/C3jq/xeSQTM1k+/q36A/xqoGlt7dqkX9kSUWj6gP4RVMhocB7+E7xlmSI8dRT+IDOtrS + zuYM6ND0BewiFbZsXKeVF+adOJF7zZ3tjem0wZbewN+JVE3LVj1krkQS60AyLXUnrFylDTWw5uWH + fYCfJmWVFX4AjrplkcEcXKi9nR9/VBTkLWjzU0up3UrIY+EYErbXQ/QWwMmla59qwlwcUfkIoZ90 + o0NReHnPeS7rrUv0tm+FAgwDw+fEwKIgGyoBD/9GJZNdGhgVQYidN2swLPPpVB7UcC8OxtCHfYlL + xEI5LVEWJr/P7QBlEUVNQ64qW3rYPUpS/2F6ECnqOa5mLfHRNAzFZRHr+Cwinoo7epmkr4dXfmw+ + IH9AkZVP5eDBFG5Eg2iMqfCKUi/zYqJu0SWxIOGzY/iR6e2QdllnEkaSWQm/IVs2QELU7b/nSVSQ + jkkULXnGWxXLljZqrBHMahdGNIF4yzC2ndVF/oezUuNOVFbtzdSEo9dMqOZozpBJbpoHxHJrDhfJ + u6VGT1Bk5M8Ncc6KNYpmVx2if+CRHJX9mRkySFF9O3N3dV6+crQepi37aOi+yhwzKWvKZsV8TGf5 + 0RT/YmZs9LHvzOZdRnVcpanvlgf9js4q09RmhA39VIcAsM/zJziZVxRw92MW1MatKc1+s9IxgPa/ + uA1QbBA09Tgbd1ZwrBWRNFdrr75U01hL0n/ybNpMK3RgEha3OTaUTUv0z2+hIX5I+oTvY/cG21sc + zRkdmrrrZ4zITBZOHSZxcAVTzxZRG0990/n4HRt94gJrR853/bZmMZpHsYRwjw13iaLh/Y05/Uct + 1VL6cSbXAOnBreBq282koCo5rhGsscM94D5pfi1gNEXdRDrzYu4JUo/vbZ2i6gZlIB3IXu/PIY4J + XVmOVHlZTiHTS000U9Owwqy3c/awB6NJDOsl6NKhAdphXz+N+FTbMsD+I9lpf7jIUnh6s32WyUKv + JwIj8H45N6jRfrEiYesDis4TFCDHuIaGABJSathAtlREWM4IpTUlQULECbeVAPkrrt0/L0Ei6kho + ia3I+YdvjJ1L3tWjzsJy3CmeMg0xSkcdKGaA2PGSgW8CcjS3BoqWDC/4uLnaLYtCogy1Vj7PVZlR + LeAFExfBbs5i68l4Btgx1W9vVi0= + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=4-shattering_lung-reply.gpg + Content-Length: + - '1217' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 15:00:40 GMT + Etag: + - sha256:7c85972174fa8aa8ffa3aba4854b94dd632d60059571e888446ab7097bc549ca + Expires: + - Wed, 26 Feb 2020 03:00:40 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:47 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTYzOSwiaWF0IjoxNTgyNjQyODM5fQ.eyJpZCI6MX0.m-X3wCsMwNvlmsx5pbB68cyJ5_22zfoakJ0VLCJML7c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies/2959968f-dc8e-49a0-9121-ea172d0eddc5/download + response: + body: + string: !!binary | + hQIMA8RCx0Y9UrE3AQ/9HYSN9b87iFtrxLwDrM9+RknIZnh72wokumSkNxa0IOKYz9xL7Mzt4SSt + 7LHXr4A/ICi0KHJNRLcDBfviZBW1ByG2p4N5pCa31r7otaXtmwHm3fY5o3wgFE7m5rD5r6RizI9b + jYrGd0VtGLkyHgRN74n1VsPSuiXM9CyoNHMuFv7E5Dk+952Wfy/WRqhX/4Tb2dZOtA8Bj42Txr9R + 27iXOIVhlhWltD4LSXT/hH4QEmex5pVo86F0pvCTH7WIFBFY0W5pyVdG/AuwKPe92Wav5usS5HI4 + GcmRgESrK43GmqtO4L9/ElIpP0fKzvmTwS9iQ57CnG8vTnVOYxPkzrrpydOzn3rN8e6YCdiT3c45 + YSgAI3ibb8aiX082IjspCgm75ob23o1CdMo+W/4bKa3j2tUhQcKCOzACBMNAmJbJS/ylKcB1uOdb + X5K6ZxEMvzeWgOfZ+e6BvxAVir9o0HxW2knv13jVvbQsT3m/wIi+7PgCrgi1GqYLwsxtsmEQz4SO + L8qnCHmA79jF6v5XKgop+vuoAhhPepmHzRLxMaCptwFTBb8sv6uw25FZWLRRnSLx/3BLk78SXLyi + ki4KGWbaFmWeElDJx9EK39nvY238x/QVfEiGVExsiKLBZ0nyB6sBYK1czmY+bnwZxplTO4fqZfdL + V94+dpKEzSPR10dfVliFAgwDw+fEwKIgGyoBD/4u9udpPbhgQ15A+Q1wXroNyczh9NgIuG1N3NyM + oCc/alGOPpL8DnwELKQvRJuFSQ1iToS3lij3ILEQa+A95HKl14l3IwtrrIRVUbjcki2dijORbIb9 + rWctFxLzdKtSEFN3gnbiey6S18r8zeZIZv25ZvJqlXQJYU0aHVnLUvFYUEohW0ZfyT9km/xQVqsB + dO15JoZJ7u8ZyrFMSUFAbzKuseuyvphDCnWDzWQ6lGEOMNTvlA+zEMFAuCpSfQ+gQabW4CbvtPT3 + TGJcti+IxCOi3/Jb7X4BBTXbI1Qx5QI63q7monx3T3U92PakVovyH+AzO/DkgRv3nHCZaRMFU+jn + U9fKt6yJTYNaP3Qf6tQev2fPRXZkQ40F08NhAeMlJZsooRn04A0uIviIzsPhpEm/M3z6prgBOAsO + fp6vFf3VttAgkpeDA876VvrpWMsVIm9sY9rwVMbIIC1/Bb9MT4Od+MnZQkxl49ey2vpEZl3fNsXY + VoygF4TwUBtEvHdoRF92dl405kIisq/NjXwhkwLeEpoqKm6vwdQQMwIYvWILorSkj8RCwX3xgQUY + WUBLS3V7lYc+hXWiGGQIWYaFxs18bozc0egVTG5ZHfNpBUblZxCS6AlUDz0Bai4WrEY693KV43Be + YHg/giqoXAffqFWrahAgEnNggfLGSSnedTFCn9JdAVyqrC39HyNCcRNrpSCnp0726smN98RDz0t8 + 2kSEBeI7xzcL3leaIqNalkelnyz+wT0it+UdExn+kUnmleycYNgnLHuoU80uZ/qffGIPiE0GtiKP + zZCieEk9E5fu + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=3-holier-than-thou_bristle-reply.gpg + Content-Length: + - '1149' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 15:00:40 GMT + Etag: + - sha256:28477ea9d94680deb5811e5353156c845a12b1be64241bd1a12daca38aa676c3 + Expires: + - Wed, 26 Feb 2020 03:00:40 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:48 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTYzOSwiaWF0IjoxNTgyNjQyODM5fQ.eyJpZCI6MX0.m-X3wCsMwNvlmsx5pbB68cyJ5_22zfoakJ0VLCJML7c + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources/d894d52c-c191-4aa6-bfed-869f598783df/replies/f0ca496c-8e55-488f-8da1-ccb2df4299b6/download + response: + body: + string: !!binary | + hQIMA8RCx0Y9UrE3AQ/9F2yciHwJu/CbKrZsLFSNVNjrCbv/ykpPwcSGg73xoN3r4vX8AvYziLsA + 20piFZQJIbfAawOci3yzaYLbaTAzq+gR+PFj143MTOrGd/GIy5XbRTfI8Elq4VVLSbRoPuNz2UvB + nS01q7LnZ/Q3jrSDOZtshAGvFqzJh1vJgIA0SO/GR4xDv8ie9iPk+YJh19SIUvYvDoKwt+x0e5sX + 6jF9sgD3x8aU5ZEBomvHH4hQwGJAuDzePyosP6Pjv0OsLaVby7npsK4u15dkHZTVeSUejbv/NwgK + 7GEtf/jg5tBweMcn0yEFmHluIRGF1UjZFnUkdsEgSqK5aIQ0aIhxKjl4emgLyj+teNYB3BCYaWMR + FW6y4hcINkPuhYAy92nHl5QEi3B/V254VBAvqtApEuENj0zOt+6UbUxa4B9/mR08kZ6jc74+DiST + YzTbZovy69BDnbB8H5yE/9IBDf57KgGhgzoIG75L3EQlrpq8HFk3v7U0UUGm/hfg6eBrZAro1Hy3 + SEyGcwM7HFBPnvfdfnuGkx2npWrcy9r9xBh8Z43Yp9w7SagERLtx3NRbpRY22hC+3PjFnuTHfDsh + 5+gA+DGmdThmArN92Is2pURr2c3cPesArFE7/uuef00wuAdwCub0HsQ/IbnJefY0oM3OMaDSFgtS + w5JX/cGq6sVsBMrZKRmFAgwDw+fEwKIgGyoBEADJB4rA0W4Ttqmx729YFz1xCkLtdHD8EHu5pZDs + Ppmc5uD9pZ/eXSBPj/BL6vkx7VVLVfvb52W4w92SiRffPmfyzE/6qIvcViuRCIFGhQ9e6nA3R0+C + BDj2DzcxIibuVdKISOjCHosOHH9AU3nnxlxzcSWJ2T+GDAp7jIwbkI0vBk0KvLUB62cH3nn5ZoM2 + /Krub0ONFl8p+wegPqt19U6h5lE3aZVD0il/udbHdsaYRvQ7mEGd5dAWUzV3iPiPtL2vBPd2EDP1 + X2c1n8CH9BKMN+/elUtln7G67sldN7aFD53eaowo+DTr52J+adCLZWnvct4d3kYpO5C5V8ScVYel + sUqrvFSnrIMmBjq5EJO0ENImOCAcd4OXsAhlZxBa8BsOlpsvGnO68QNGxpyXMca9fkQPkHHANDXP + qjI8yg+YHjTTxu402raHZ84AUAGm6+QyFOeDcALcm6S0ADOJV6qVhJdVlmNBO/HF38JR2iL2OqQ7 + E+tYkRUFTf4EMm6Wf1QQabScLaR88PnkGSq7WlEFZKWtBmfuhlOExBysfXgckXNos/1qppvgF7po + nlqfXIhPheIDsn2DU2tUOr8fCb/YIo/GIuk7EATy6m3mtzM7YyY+NtUaDkq1Y3Hwzpq/5PnO1arx + wH/FhgELxEpH09Quyd/P1NWLhuxWAfjHZVRcRtKhAdCnLuAf42NtyLgGMEvSyz0lr+hFGgPPyZ+j + GkyZLH5CBvvY02Nu1rmHDi9nq61DyZ/osxoDwVNaDufC5lghkr8sqZZtmUuFR50H/ukWZGrhnHS3 + SfjKYfo4Blr7gAX6rHWO5BZdCPEsIUJ5D78xzYPYM2L9idAcV/AkU68O5/RARNzHw6V1yfLAXGtd + PQf6Zki/cHYAFdfAYHYFwtX4HyY= + headers: + Cache-Control: + - max-age=43200, public + Content-Disposition: + - attachment; filename=4-holier-than-thou_bristle-reply.gpg + Content-Length: + - '1217' + Content-Type: + - application/pgp-encrypted + Date: + - Tue, 25 Feb 2020 15:00:40 GMT + Etag: + - sha256:f2fbfa8f81c9d4176749bedec3ee8bee6b3f6269ad9b9d3c35b42e68aee7106a + Expires: + - Wed, 26 Feb 2020 03:00:40 GMT + Last-Modified: + - Tue, 25 Feb 2020 14:51:48 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJhbGciOiJIUzI1NiIsImV4cCI6MTU4MjY3MTYzOSwiaWF0IjoxNTgyNjQyODM5fQ.eyJpZCI6MX0.m-X3wCsMwNvlmsx5pbB68cyJ5_22zfoakJ0VLCJML7c + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: POST + uri: http://localhost:8081/api/v1/logout + response: + body: + string: "{\n \"message\": \"Your token has been revoked.\"\n}\n" + headers: + Content-Length: + - '48' + Content-Type: + - application/json + Date: + - Tue, 25 Feb 2020 15:00:40 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/functional/test_offline_delete_source.py b/tests/functional/test_offline_delete_source.py new file mode 100644 index 000000000..ad825d0ba --- /dev/null +++ b/tests/functional/test_offline_delete_source.py @@ -0,0 +1,52 @@ +""" +Functional tests for deleting a source in the SecureDrop client application. +The tests are based upon the client testing descriptions here: + +https://github.com/freedomofpress/securedrop-client/wiki/Test-plan#basic-client-testing +""" +import pytest +from PyQt5.QtCore import Qt +from .utils import get_safe_tempdir, get_logged_in_test_context + + +@pytest.mark.vcr() +def test_offline_delete_source_and_their_docs(qtbot, mocker): + """ + It's NOT possible to delete a source when the client is offline. + """ + totp = "533069" + tempdir = get_safe_tempdir() + gui, controller = get_logged_in_test_context(tempdir, qtbot, totp) + qtbot.wait(1000) + + def check_for_sources(): + assert len(list(gui.main_view.source_list.source_widgets.keys())) + + qtbot.waitUntil(check_for_sources, timeout=10000) + source_ids = list(gui.main_view.source_list.source_widgets.keys()) + assert len(source_ids) == 2 + first_source_id = source_ids[0] + first_source_widget = gui.main_view.source_list.source_widgets[first_source_id] + qtbot.mouseClick(first_source_widget, Qt.LeftButton) + qtbot.wait(1000) + + # Now logout. + def check_login_button(): + assert gui.left_pane.user_profile.login_button.isVisible() + + gui.left_pane.user_profile.user_button.menu.logout.trigger() + qtbot.waitUntil(check_login_button, timeout=10000) + + # Delete the first source. + # This is IMPOSSIBLE to trigger via either the qtbot or DeleteSourceAction + # instance -- hence this "direct" approach. In the end we need to know that + # the UI is updated once the source is deleted. + conversation = gui.main_view.view_layout.itemAt(0).widget() + controller.delete_source(conversation.conversation_title_bar.source) + + def check_for_error(): + # Confirm the user interface is showing a sign-in error. + msg = gui.top_pane.error_status_bar.status_bar.currentMessage() + assert msg == 'You must sign in to perform this action.' + + qtbot.waitUntil(check_for_error, timeout=10000) diff --git a/tests/functional/test_offline_read_conversations.py b/tests/functional/test_offline_read_conversations.py new file mode 100644 index 000000000..088dbf1eb --- /dev/null +++ b/tests/functional/test_offline_read_conversations.py @@ -0,0 +1,44 @@ +""" +Functional tests for sending messages in the SecureDrop client application. The +tests are based upon the client testing descriptions here: + +https://github.com/freedomofpress/securedrop-client/wiki/Test-plan#basic-client-testing +""" +import pytest +from PyQt5.QtCore import Qt +from .utils import get_safe_tempdir, get_logged_in_test_context + + +@pytest.mark.vcr() +def test_offline_read_conversations(qtbot, mocker): + """ + It's possible to read downloaded conversations when offline. + """ + totp = "565751" + tempdir = get_safe_tempdir() + gui, controller = get_logged_in_test_context(tempdir, qtbot, totp) + qtbot.wait(1000) + + def check_for_sources(): + assert len(list(gui.main_view.source_list.source_widgets.keys())) + + qtbot.waitUntil(check_for_sources, timeout=10000) + source_ids = list(gui.main_view.source_list.source_widgets.keys()) + first_source_id = source_ids[0] + first_source_widget = gui.main_view.source_list.source_widgets[first_source_id] + qtbot.mouseClick(first_source_widget, Qt.LeftButton) + + # Now logout. + def check_login_button(): + assert gui.left_pane.user_profile.login_button.isVisible() + + gui.left_pane.user_profile.user_button.menu.logout.trigger() + qtbot.waitUntil(check_login_button, timeout=10000) + + # Ensure that clicking on a source shows a conversation that contains + # activity. + second_source_id = source_ids[1] + second_source_widget = gui.main_view.source_list.source_widgets[second_source_id] + qtbot.mouseClick(second_source_widget, Qt.LeftButton) + conversation = gui.main_view.view_layout.itemAt(0).widget() + assert len(list(conversation.conversation_view.current_messages.keys())) > 0 diff --git a/tests/functional/test_offline_send_reply.py b/tests/functional/test_offline_send_reply.py new file mode 100644 index 000000000..753f69bd8 --- /dev/null +++ b/tests/functional/test_offline_send_reply.py @@ -0,0 +1,45 @@ +""" +Functional tests for sending messages in the SecureDrop client application. The +tests are based upon the client testing descriptions here: + +https://github.com/freedomofpress/securedrop-client/wiki/Test-plan#basic-client-testing +""" +import pytest +from PyQt5.QtCore import Qt +from .utils import get_safe_tempdir, get_logged_in_test_context + + +@pytest.mark.vcr() +def test_offline_send_reply_to_source(qtbot, mocker): + """ + It's NOT possible to send a reply to a source when the client is offline. + """ + totp = "468936" + tempdir = get_safe_tempdir() + gui, controller = get_logged_in_test_context(tempdir, qtbot, totp) + qtbot.wait(1000) + + def check_for_sources(): + assert len(list(gui.main_view.source_list.source_widgets.keys())) + + qtbot.waitUntil(check_for_sources, timeout=10000) + source_ids = list(gui.main_view.source_list.source_widgets.keys()) + first_source_id = source_ids[0] + first_source_widget = gui.main_view.source_list.source_widgets[first_source_id] + qtbot.mouseClick(first_source_widget, Qt.LeftButton) + + # Now logout. + def check_login_button(): + assert gui.left_pane.user_profile.login_button.isVisible() + + gui.left_pane.user_profile.user_button.menu.logout.trigger() + qtbot.waitUntil(check_login_button, timeout=10000) + + # Check UI won't let user send a reply. + conversation = gui.main_view.view_layout.itemAt(0).widget() + text_box = conversation.reply_box.text_edit + # The text box is disabled. + assert text_box.isEnabled() is False + placeholder = text_box.placeholder + # And the placeholder text is displayed instead. + assert placeholder.isVisible() diff --git a/tests/functional/test_offline_star_source.py b/tests/functional/test_offline_star_source.py new file mode 100644 index 000000000..68b38748c --- /dev/null +++ b/tests/functional/test_offline_star_source.py @@ -0,0 +1,48 @@ +""" +Functional tests for sending messages in the SecureDrop client application. The +tests are based upon the client testing descriptions here: + +https://github.com/freedomofpress/securedrop-client/wiki/Test-plan#basic-client-testing +""" +import pytest +from PyQt5.QtCore import Qt +from .utils import get_safe_tempdir, get_logged_in_test_context + + +@pytest.mark.vcr() +def test_offline_star_source(qtbot, mocker): + """ + It's NOT possible to star a source when the client is offline. + """ + totp = "994892" + tempdir = get_safe_tempdir() + gui, controller = get_logged_in_test_context(tempdir, qtbot, totp) + qtbot.wait(1000) + + def check_for_sources(): + assert len(list(gui.main_view.source_list.source_widgets.keys())) + + qtbot.waitUntil(check_for_sources, timeout=10000) + source_ids = list(gui.main_view.source_list.source_widgets.keys()) + first_source_id = source_ids[0] + first_source_widget = gui.main_view.source_list.source_widgets[first_source_id] + qtbot.mouseClick(first_source_widget, Qt.LeftButton) + + # Now logout. + def check_login_button(): + assert gui.left_pane.user_profile.login_button.isVisible() + + gui.left_pane.user_profile.user_button.menu.logout.trigger() + qtbot.waitUntil(check_login_button, timeout=10000) + + # Check the source isn't checked. + assert first_source_widget.star.isChecked() is False + # Click it. + qtbot.mouseClick(first_source_widget.star, Qt.LeftButton) + + def check_for_error(): + # Confirm the user interface is showing a sign-in error. + msg = gui.top_pane.error_status_bar.status_bar.currentMessage() + assert msg == 'You must sign in to perform this action.' + + qtbot.waitUntil(check_for_error, timeout=10000) From 9df0b04896f1f77e87ef1fddabc174131b895d69 Mon Sep 17 00:00:00 2001 From: "Nicholas H.Tollervey" Date: Tue, 25 Feb 2020 15:09:53 +0000 Subject: [PATCH 11/13] Patch John's bash/Makefile revisions. Thank you..! --- Makefile | 2 +- test-functional.sh | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 6222b2f4d..b9061bd5c 100644 --- a/Makefile +++ b/Makefile @@ -47,7 +47,7 @@ test-random: ## Run the application tests in random order .PHONY: test-functional test-functional: ## Run the functional tests - ./test-functional.sh + @./test-functional.sh .PHONY: lint lint: ## Run the linters diff --git a/test-functional.sh b/test-functional.sh index ecca3df2d..5e142dbd5 100755 --- a/test-functional.sh +++ b/test-functional.sh @@ -1,13 +1,19 @@ +#!/bin/bash + # A script to run each functional test module (randomly ordered) in their own # pytest process. Why? Because not all random combinations of these tests # result in a passing suite (instead you get a core dump). -ls tests/functional/test_*.py |sort -R |tail -$N |while read file; do - TEST_CMD="python -m pytest -v --random-order-bucket=global $file" ; \ - echo $TEST_CMD - if command -v xvfb-run > /dev/null; then \ - xvfb-run -a $TEST_CMD ; else \ - $TEST_CMD ; fi +TESTFILES=$(find tests/functional/test_*.py -print | sort -R) +for f in $TESTFILES +do + TEST_CMD=(python -m pytest -v --random-order-bucket global "$f") + echo "${TEST_CMD[@]}" + if command -v xvfb-run > /dev/null; then + xvfb-run -a "${TEST_CMD[@]}" + else + "${TEST_CMD[@]}" + fi if test $? -ne 0 then exit 1 From 69ce1d0d85a6ecc4ff2ba8e1f274b18fa6db7ab5 Mon Sep 17 00:00:00 2001 From: Allie Crevier Date: Fri, 13 Mar 2020 16:43:22 -0700 Subject: [PATCH 12/13] confirm there are two sources before delete --- tests/functional/test_delete_source.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/functional/test_delete_source.py b/tests/functional/test_delete_source.py index 4e9fdaa11..481359b01 100644 --- a/tests/functional/test_delete_source.py +++ b/tests/functional/test_delete_source.py @@ -29,6 +29,9 @@ def check_for_sources(): first_source_widget = gui.main_view.source_list.source_widgets[first_source_id] qtbot.mouseClick(first_source_widget, Qt.LeftButton) qtbot.wait(1000) + + assert gui.main_view.source_list.count() == 2 + # Delete the first source. # This is IMPOSSIBLE to trigger via either the qtbot or DeleteSourceAction # instance -- hence this "direct" approach. In the end we need to know that @@ -37,7 +40,7 @@ def check_for_sources(): controller.delete_source(conversation.conversation_title_bar.source) def check_source_list(): - # Confirm there are now only two sources in the client list. + # Confirm there is now only one source in the client list. assert gui.main_view.source_list.count() == 1 qtbot.waitUntil(check_source_list, timeout=10000) From 35ca55094eb5c99087bf4a826f0bb21a0fbe5074 Mon Sep 17 00:00:00 2001 From: Kushal Das Date: Wed, 18 Mar 2020 19:54:08 +0530 Subject: [PATCH 13/13] Fixed the functional tests based on UI changes Updated all the tests and also VCR cassets for the latest master code. --- .../test_delete_source_and_their_docs.yaml | 759 +++++++----- .../test_receive_message_from_source.yaml | 1021 +++++++++-------- tests/functional/test_delete_source.py | 6 +- tests/functional/test_login.py | 2 +- tests/functional/test_receive_message.py | 4 +- tests/functional/test_star_source.py | 2 +- tests/functional/test_unstar_source.py | 2 +- 7 files changed, 1033 insertions(+), 763 deletions(-) diff --git a/tests/functional/cassettes/test_delete_source_and_their_docs.yaml b/tests/functional/cassettes/test_delete_source_and_their_docs.yaml index 88ee27d94..eac469088 100644 --- a/tests/functional/cassettes/test_delete_source_and_their_docs.yaml +++ b/tests/functional/cassettes/test_delete_source_and_their_docs.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"username": "journalist", "passphrase": "correct horse battery staple - profanity oil chewy", "one_time_code": "192894"}' + profanity oil chewy", "one_time_code": "177711"}' headers: Accept: - '*/*' @@ -17,16 +17,17 @@ interactions: uri: http://localhost:8081/api/v1/token response: body: - string: "{\n \"expiration\": \"2020-02-24T23:48:46.785477Z\", \n \"journalist_first_name\": - null, \n \"journalist_last_name\": null, \n \"journalist_uuid\": \"60d48dfe-aa6a-4611-bb40-f59b376ad92c\", - \n \"token\": \"eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c\"\n}\n" + string: "{\n \"expiration\": \"2020-03-18T21:38:30.186920Z\", \n \"journalist_first_name\"\ + : null, \n \"journalist_last_name\": null, \n \"journalist_uuid\": \"d075c6e7-b383-44f9-a7f3-24c9cf5f85f3\"\ + , \n \"token\": \"eyJpYXQiOjE1ODQ1Mzg3MTAsImV4cCI6MTU4NDU2NzUxMCwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.FpsePdjnmNCSbNwafwI-BhwP0Es-nDrJb-XmALRloQk\"\ + \n}\n" headers: Content-Length: - '317' Content-Type: - application/json Date: - - Mon, 24 Feb 2020 15:48:46 GMT + - Wed, 18 Mar 2020 13:38:30 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -40,7 +41,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + - Token eyJpYXQiOjE1ODQ1Mzg3MTAsImV4cCI6MTU4NDU2NzUxMCwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.FpsePdjnmNCSbNwafwI-BhwP0Es-nDrJb-XmALRloQk Connection: - keep-alive Content-Type: @@ -51,37 +52,64 @@ interactions: uri: http://localhost:8081/api/v1/sources response: body: - string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/add_star\", - \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": - false, \n \"journalist_designation\": \"tete-a-tete formalism\", \n \"key\": - {\n \"fingerprint\": \"6E388941AD0F8550856C575B036B58F8BF0BB044\", - \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADMbVg7EtThp8J+Jla89/uqcwQRF9q7TEaUjPB8U4ZaASgiXZYt\\nokSIml6ZBpVV6ihoVrQsIQrCzufgqiIy82HmAYkHrKj89pjQftHCsK/GcIwEUNRT\\nVhAhVGXzo0JnaCWTQBv9rEqvDtW8FOFTPsK3DsGy0Wggkf0Qidca4NREXjPzC5b9\\n+oWlSji1VvGx8tIYDgfiI5sR9r7fKzp2pT/K64/ruBKyakUIQa3DSzATtqBjHGkR\\nb7MWjClrP6NZTANM5QvFnM2xRmaf17OTAfkbMIjfWiCqluVJWMGyRhcaC/be5X+e\\n7CdiRqfHCvQK01n6q5vW8SxixnDEdAK8CygoUJ0x1u/uTg9eUNVWzFv0OWnzXybI\\nOPQQuFBNY4Bv8P1dHDYaSI3MyPgx9wJlO5+6AQMsg5yRb7CFx3rOcy8OfHx6DnE4\\nZVWPSmlB9UDDNr2NMdqXZVoi/O6MgvgfPxVFURoes6ClDiZdnL9t2QYA0YJoe45G\\n/uox3kyxWeLdyM6Zuad7HCjFTq6hWp3sL0TMlCgx85YN4/fCnWpsh702rvezd2IN\\n0oV6mG4KwIjmqJzRn9LcZlbZCdpUTMv/YrVy8iszmcLg/1udhHVkNqNXQN8hHePR\\noo738QRmKo49+w4164Yl442G1rn6lGR/+asXZOFL7lJQLLgi+2K09ptGzQARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8NFRJMklUTlhGTFdLUFpBUldUNUwzUUhBWFNI\\nSVZNTko2Q0VRV0gyNkpaRFpCQzdCNllLTVdYSDRORUVVUzdGUFVUTjQ3SkszN01O\\nRE1DUFpDTDJMN0VUQ0VCTURMR1E1STROVUhGST0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEANrWPi/C7BEK14P/1BpEFbe6m+m\\ncI2v+HB1bgjhFf+Wp+E9P2SouuWwGnyt2sS0qmoqlR2Vqfc9OR+phUZlTQKeBfru\\nmZbv38kglL5GMJx3IvsqG3cxxDUztsgNf9X+MgqXJZltkpXtAuiWpTpb7Ed1ATLY\\ntHJ+VjMbnUjNIdDQeZCdRp5rBATJpiTbmXJStt5pGv23wORljGoqoYlkjFI1RpjM\\nWfPG6yBtOx/OZvhQbc5hL8MYZYHJIhj1PKguu562lQB+ds8MmBdZZkq6N//4xquy\\n2GIk4vB9A9weqPf9f5cI7TRe3kZTDSbgVs2Ob1Pn/n5JPP5ZAsMp1ZNEYg5Sy3iM\\nURHCO7ncKZMSRw9uCGi+J0TJztdvDOj8aiv8i501XK5atckJXyjZB7+S0gJDBvfk\\nFa5XTb2TeswudJ4xmh+mtVOo91u8/qKcAu2YRWoe0bfqPDScO2SnQeMdZuyp/8qS\\nsdhcDIYXGsDrZlqsoJalqpL8K7osEH5P+XjgCpOjnMZvvkqPBXSdCtMdaMCsAq8x\\neBHKVsUWjMo4wiZwLp2tLv0M18naU/LQHJCxOZgVI+4uAm0ifRUc5sdNc5Z3pQo5\\np2pkwYXQRrSY/TRkg7+pRVbkJfNgXMieOQV2sHv3P6IbzWxz5FvYBcK9yIAL4MuF\\nF/8+1exB/Qta1SrtMU+m2ZsqzKT8xgnF\\n=WVQG\\n-----END - PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": - \"2020-02-24T15:48:28.943565Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": - 2, \n \"remove_star_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/remove_star\", - \n \"replies_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/replies\", - \n \"submissions_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/submissions\", - \n \"url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90\", - \n \"uuid\": \"fb800891-09a8-4482-94c9-b516c5960b90\"\n }, \n {\n - \ \"add_star_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/add_star\", - \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": - false, \n \"journalist_designation\": \"ocular schlemiel\", \n \"key\": - {\n \"fingerprint\": \"FF99DCAB6EA86405E679DDF4D78128141FDA6686\", - \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEACvOY2OX8Bv3QqEVFytdPYDYFlKdSvCAbvwd8NPdCQsRJRCr8n4\\nKzVRhTY5DDDWGij3On8YCGG+fZPxcTmC3TRUVtPdits0v8tOEmy8huqxxzpyEHdr\\nZE05mLh05wef3RmIecf13y7+LwjhjnFaIts1ccha1/AupI8FG9o1QIomqcFia4dm\\nJC52OF4kzKSfEe8qom0a2RUZtoLSdar3fMETKj7K/lMQVhxu1SlXD9DQ/pmp/mwG\\nwgoVuDoePqQiPTQJBNCMqaa6sP7T+VYGjal0hM+7X6kmSIC8KDF4oGKJLSoBKRvN\\n+yCstV+x557l29TJ+SU7TtU753np/ZbSJUszMFwH4wxe4r3O9F18LASPyLRNDmLu\\ntZH4s6O2bHA3IcdIna2qnCIEEjhtD7O+8JDsYu4cOenQ4V+vR+Gd/ASLBEUHfA60\\n0VH3X6amHIHdFJ9eU0EfOPqVpFqftflx3TdJInr8Hk1tg7LCl0d0pbNi/BaYZfN+\\nJW6VFZHBeC43YSFLGwm8OjvYUA8xvpxlAAV7H0rxUoE4ceIuY2bC1Cz19cywhhe/\\nK0DL2sqLyLMGkf9Wytc/GgW02IMcjFqZ3SweNAAbJB3aoXZ9Mspszqyy+TED7g/C\\n0PduSMdUVL+gp0BkQLjvwvyL/wINwREbj2KkaKYIsLQRIQ2fMB8fwjUw2wARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8VllIWkJBSFlPMktFSkpYQjVIUzdFQ0dYSlNJ\\nR1E0WVlEVFJMUVRUR1ZTUDZUT1NLSE1LQUtCQVdJTlVWUjJFMzdXRlNCQVYzVUxH\\nUEdXSVYyVUJIT0pHUE9LRUI1RU02MjZOT05KUT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJENeBKBQf2maGSUcP/R7Vwujou0S5\\npbqYAQ90WoVhKZVTUOHQygIpN8F4Br7s6HM05f594Y37FKbQeD7n2uACFaxepWlb\\nyj4QMhpPZjjShSzh8Nm6zwcb+UUQHMyKGFr5S8hETmQUoR8IZJMAkQrXMyRbtNRZ\\ns6lhLKAkUKjHJ2mAFyUXsy+GMhONtL/2XITFKGTbUOfUXmeqVn3aXXRFzK6GtU4U\\nNNsaziFKZZ5uGH8wscQMS8QyJk9fNuksivNSXeoqoazy1PVey8rQIVpcZgx3bk/c\\nRdr1Cm3C0AmMget8jpekZxN7MFY0majfdMJjQCaRcaCGJiO5Tm3ART3Bdwp7R5jH\\nYHqf2LL3QMRRwPOAIajmwc/pk0wrNulewbNdafkmzrmC5y74YIogF0eS5gGuNQ4o\\nIIrFKg3G/wWlb7IzMSVVHL9Q14FifrSbZGMMTTtUOcVoXdphuBN1ZST6wWYj2wfH\\nZ/NJimQAnxQRHX+T3tfFciiCeF46c1YRt8yiDmyVO/PdDjmVLH1r1R/JtBuSS6bf\\nXV7Ag+WaW4ytdoG5z05aYTClZEJTBVgSSw5HdyK/3RsEugMaQz75Tx2fhcQT/gsy\\nU9lklEbHiluX4EBKMCk5OF4K1T0kB5xGWB3X54bgnf3P2qMEMcUsthPX3fwnvHdR\\n9y96BA6BHHcynRVJle7pnodlcYq81Bml\\n=7jra\\n-----END - PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": - \"2020-02-24T15:48:30.633815Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": - 2, \n \"remove_star_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/remove_star\", - \n \"replies_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/replies\", - \n \"submissions_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/submissions\", - \n \"url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c\", - \n \"uuid\": \"2145abc6-367f-4d32-807b-06c5b2a42f3c\"\n }\n ]\n}\n" + string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c/add_star\"\ + , \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \ + \ \"is_starred\": false, \n \"journalist_designation\": \"biotic conservatory\"\ + , \n \"key\": {\n \"fingerprint\": \"B0D07D79B35190FD22939E66174CAC0B3507016A\"\ + , \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEAC3FWEBsY+7Yg6MutQ3yrEJM/Of/flP4Hpsw1DEcMZ4f3VO3g3J\\\ + nIduBnQXyOMy3O33Pjj8ngFMOKFqIjJ5B5Ig2BMLJxMxIdH0VLSCAKoKZnnxyJOJI\\n6jvm4yWsoiV9gyX2IBRNi7HNf6eHGoXlr/ON6tCz9lun07pLdA8eTe+cTmdG/70f\\\ + nGkKQTG5vaH+30n31xQBSK+7/kyAnqg39bywelSD9b23lYufCZGp9AzkCGoaB0q1e\\nPH9O5rbDsIfUeJ+MDP73U8Rr7+EAyT4gLfmZItjHhAhkFRV6sQuPCf00j4hkthj+\\\ + nGEzFpFW9S2HcgMrW1ZB6MVnLr8a3itBUoaw3RMbPgnxLYR0PQw7DHIeEta07wgJX\\nrjP2o11tjC8AT6SGCwtg6IL3xl98U9E/EfFEOHsrfPM0X/quXiLgDnu64hhpwB+a\\\ + nQI+oHPPv6DimbGEivEdiyyFyDaUy7mjpxnyOBa0a3FCyPYO06jtYGuMxyUywKlIq\\nw7Dw5zY1dkclyL7+PrU0YKE26frIHc2lITgULF0IVC04KP3ewUIw0LvrfiPTkZff\\\ + nljE25DslSqdVclOvqZMIQQAXN0Z2q0juE1kOiPVLZDcyLVRp7+hfqfuMclxYQfIS\\nscPNWJspmBH/voGmBwI0MzHf9jk6kVuew9pBaCRj54/PWuNI5O4yCMukgQARAQAB\\\ + ntHxBdXRvZ2VuZXJhdGVkIEtleSA8WFhURlZCRFhTRlFMVU9RMklFSlFMVzJHRUFD\\nSEtNS0pUM0NNNVBVTUtUTkJPNVJEM1BCU09JV0dMVVhQWEI0WVVVNEJUN1pZTjVD\\\ + nWDVCTUFQREUyU0lRS1ZQMlVUVVUyRFZJTVA1UT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEBdMrAs1BwFqKLIQAKroQmM2GvDf\\\ + nJtJ7P9gt6h8DYEeU3B0Fc1Fy7q9Mv1T/tmdhniu9CZKh5zix864HwlDQkZ41siun\\nYNswyTMUPeD6fz0ck/Td7q/uJAkyxGNBGav4MJoszt+RcH/m3J4XS+QSW/Haentk\\\ + nIIGwl2lMzpIhHvSl7O6ZulNt08efzgAJUG/hjc1Xz0aRtIJT5QNo+GY8ifFBubxm\\n0/DPFiVFa1bch7N+SpofKWvfEDChQ1T8L8ab2E/oPkQBZf99ptJ7qwt1Q8NPHUpl\\\ + nh5GCykCkkCwrKeq2XK753jGCHy3MRnB+tO3BWLxKlUcO7aUWuNHh4lBBOba5TPYP\\nj3YWXDs/jMFttyuTzpeBy681NMBR7Z7aMbPQb3wlvSi8CY+hZsvaEE6VvUMWJ5zC\\\ + nSNPm1lteqlgeWHfKlXah3NQ5xV3cxZ2hCuPj3dR26kcdtjpw+7pugQmNw9C4QCfa\\nT4hU9zT7Z/PS2aeM+tN5I955wTzKm6CuqnyNVyD0SKFm3VgMCqqtpHi6OvLUODSg\\\ + nubmbMo3iq4k2W5jfCpBlqzaELK8vjtyOq3wKjgiWJIucvW9TRlD0XToDJHDvuqei\\ny5bEMn4mmw2kRvF9Bh6KF0rtCOapophPzgsW3lQGHc3/Q8qgk1f1MP3L8aajsgxX\\\ + noE5T37IV336RFUVTootLIfc5PZG7ikHg\\n=/spN\\n-----END PGP PUBLIC KEY BLOCK-----\\\ + n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": \"2020-03-18T12:40:04.628195Z\"\ + , \n \"number_of_documents\": 0, \n \"number_of_messages\": 2, \n\ + \ \"remove_star_url\": \"/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c/remove_star\"\ + , \n \"replies_url\": \"/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c/replies\"\ + , \n \"submissions_url\": \"/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c/submissions\"\ + , \n \"url\": \"/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c\"\ + , \n \"uuid\": \"ff55f09b-aadb-4587-8fdf-2c87e2195e4c\"\n }, \n \ + \ {\n \"add_star_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/add_star\"\ + , \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \ + \ \"is_starred\": false, \n \"journalist_designation\": \"adamant recourse\"\ + , \n \"key\": {\n \"fingerprint\": \"505E3DFA624A6BF2BFDEEA79F1DC8FDC23D0F53B\"\ + , \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADBTfwO7jWt8BZZGKZKdtwr/4uaqft8W9HRmUQcB/pnG/tdsxEb\\\ + n0o8KNO8nzJCG9pMf7YyjNqpAfmNWa38zvaFUFyRmLBOx1dqzPx41cPhlJRbyIL6x\\nH9cIiPiCwjNfMoBqGbMn2A46UqIxlJpS9lGh5D0vKJrci+PwE4d639hedGDM61q8\\\ + nEOaV6p22w1JeV4oft29TiapDkyszVwRxkqS/uC7Nr7nBz21mnbY7mUSP5SK3vj5W\\nm6gJVFCJof+F8liraiBIor8avQvUKUJltVxqT+8UiApgHdU5T7ae8u5XG6xY13Eq\\\ + ngQog3tZcB6ojmDORsAOj6x21sxxOpjMKEgu0jRo05brrjjbawPe79WWWCC/UUqtk\\nt58o39+xJ8PUXILHv/3upq0kxyiBGki90az2LwDU9jn0sEEusCvp0j6PAZHSZAYc\\\ + nKMZ8rVgOY+uM325LxH+qZoVJnKICqogq9ZqdJur2pPGTrq26TvWgjVmtvJajIRc+\\nt2ODNN0njamFcdxG8D48vfjp8kZpG0On3pwwiT8zrRbmOO33nopu6zFcNxscdee7\\\ + nhgmH/93e0fioB0NLAESU60jrVskg+6Y88bSvoZVBY4PclYibAl7ijOClApjMV758\\n5xDBRAuH4mI0nwam8xVdHjloXN4/JQVOm/5dzHGoEtazYJsraDYGIfMAtQARAQAB\\\ + ntHxBdXRvZ2VuZXJhdGVkIEtleSA8Q1ZMRENGRTdXQ0VaN0NJSjJGTFFVUlpFSDdB\\nRVlNV0pMSkNWQjU0RElKRTI3UFRWS09TSzI3TTJWT0FVSVlLS1ZPVVlTTVo2SFY2\\\ + nUlA3QllOTFJGRFNUMkZMR1VONjRQWkozSEZXST0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEPHcj9wj0PU7BMoP/3r3TVqC/Ntj\\\ + nxNPUBxUDTLA0GpNrU/DOUaanptg4bjMg9kAfAArbnO8XSoqMHwPCbtX/nG4NulEL\\nVrDpk1TV8Cl8W3SiZqVmjbIMzGi8juatyRV9zIiCcmtSjmiLRItt6JsIAY7IxawM\\\ + nIhTZqKs+JURpYDe/H0/vBiRTV/qtJjvTktRMan4Rewo13zWSCNP9noA4ltUptTDW\\n3YLSwTpr6pvzDK8HqRiwKa1WhXg67quepIKwr535bo9vzx+h1OwTkHtCiNf6BbLI\\\ + nZ2c8mTbHaId5sKpGsdFK6lyPATFCruxlwC2aYhRPi332EDAX5M9DrPeSq+3k5NDA\\n+DpOfipTmVfYxTI7nY78irIDk8XL45dP8vPEaCwotzMdNZcFPU+Kf0KyyCsaqTux\\\ + nxjZFToj8TJgBVEB+Y6HweRkkdf9uhnFmH2mABV49qh9nZjsVFCom5wxWli6OT1du\\nA2hFe6eMroSqGU6mSDD3yPyuA2f7+9nzH2/s6PHfzX6OjsoMEP/9O3HaamT+PpRX\\\ + nOtIDN9LQtlC3DzwOnLPQsRC7OyidaLocD6spQ+CNurWIoJTtU+6wKW75hKtPuxdg\\nVQkJCtk+VGBDwPGr2KjELOA9QXga5Ne5bzayEU5cCtffRKn9IPhDyYOBhukiBIF3\\\ + nDNs0kYgiq7RZQ5QgUM9trzv+jissN/Zz\\n=H7Zc\\n-----END PGP PUBLIC KEY BLOCK-----\\\ + n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": \"2020-03-18T12:40:07.815325Z\"\ + , \n \"number_of_documents\": 0, \n \"number_of_messages\": 2, \n\ + \ \"remove_star_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/remove_star\"\ + , \n \"replies_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/replies\"\ + , \n \"submissions_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/submissions\"\ + , \n \"url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef\"\ + , \n \"uuid\": \"cce4203f-dc01-471e-b99e-74b94eeb52ef\"\n }\n ]\n\ + }\n" headers: Content-Length: - - '5352' + - '5350' Content-Type: - application/json Date: - - Mon, 24 Feb 2020 15:48:46 GMT + - Wed, 18 Mar 2020 13:38:30 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -95,7 +123,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + - Token eyJpYXQiOjE1ODQ1Mzg3MTAsImV4cCI6MTU4NDU2NzUxMCwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.FpsePdjnmNCSbNwafwI-BhwP0Es-nDrJb-XmALRloQk Connection: - keep-alive Content-Type: @@ -106,33 +134,34 @@ interactions: uri: http://localhost:8081/api/v1/submissions response: body: - string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/submissions/e933e257-596a-4392-841a-c63cfc3c4783/download\", - \n \"filename\": \"1-tete-a-tete_formalism-msg.gpg\", \n \"is_read\": - false, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90\", - \n \"submission_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/submissions/e933e257-596a-4392-841a-c63cfc3c4783\", - \n \"uuid\": \"e933e257-596a-4392-841a-c63cfc3c4783\"\n }, \n {\n - \ \"download_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/submissions/6636292d-4f78-41ac-9664-b599447d2f0a/download\", - \n \"filename\": \"2-tete-a-tete_formalism-msg.gpg\", \n \"is_read\": - false, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90\", - \n \"submission_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/submissions/6636292d-4f78-41ac-9664-b599447d2f0a\", - \n \"uuid\": \"6636292d-4f78-41ac-9664-b599447d2f0a\"\n }, \n {\n - \ \"download_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/submissions/a69433ee-f291-425f-8758-493e8d42e91a/download\", - \n \"filename\": \"1-ocular_schlemiel-msg.gpg\", \n \"is_read\": - false, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c\", - \n \"submission_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/submissions/a69433ee-f291-425f-8758-493e8d42e91a\", - \n \"uuid\": \"a69433ee-f291-425f-8758-493e8d42e91a\"\n }, \n {\n - \ \"download_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/submissions/0a6936e6-df09-447d-885f-a3525fa1c361/download\", - \n \"filename\": \"2-ocular_schlemiel-msg.gpg\", \n \"is_read\": - false, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c\", - \n \"submission_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/submissions/0a6936e6-df09-447d-885f-a3525fa1c361\", - \n \"uuid\": \"0a6936e6-df09-447d-885f-a3525fa1c361\"\n }\n ]\n}\n" + string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c/submissions/2ebf0e40-1ab7-42a1-9001-fe591fba6e98/download\"\ + , \n \"filename\": \"1-biotic_conservatory-msg.gpg\", \n \"is_read\"\ + : false, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c\"\ + , \n \"submission_url\": \"/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c/submissions/2ebf0e40-1ab7-42a1-9001-fe591fba6e98\"\ + , \n \"uuid\": \"2ebf0e40-1ab7-42a1-9001-fe591fba6e98\"\n }, \n \ + \ {\n \"download_url\": \"/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c/submissions/2dd1b22a-57fe-450b-a3b2-30272471fe49/download\"\ + , \n \"filename\": \"2-biotic_conservatory-msg.gpg\", \n \"is_read\"\ + : false, \n \"size\": 693, \n \"source_url\": \"/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c\"\ + , \n \"submission_url\": \"/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c/submissions/2dd1b22a-57fe-450b-a3b2-30272471fe49\"\ + , \n \"uuid\": \"2dd1b22a-57fe-450b-a3b2-30272471fe49\"\n }, \n \ + \ {\n \"download_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/submissions/a5a50fb4-9bef-424b-8b96-f5f29d14b92a/download\"\ + , \n \"filename\": \"1-adamant_recourse-msg.gpg\", \n \"is_read\"\ + : false, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef\"\ + , \n \"submission_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/submissions/a5a50fb4-9bef-424b-8b96-f5f29d14b92a\"\ + , \n \"uuid\": \"a5a50fb4-9bef-424b-8b96-f5f29d14b92a\"\n }, \n \ + \ {\n \"download_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/submissions/b8a29b37-8eeb-4361-8070-171863ae8d38/download\"\ + , \n \"filename\": \"2-adamant_recourse-msg.gpg\", \n \"is_read\"\ + : false, \n \"size\": 693, \n \"source_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef\"\ + , \n \"submission_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/submissions/b8a29b37-8eeb-4361-8070-171863ae8d38\"\ + , \n \"uuid\": \"b8a29b37-8eeb-4361-8070-171863ae8d38\"\n }\n ]\n\ + }\n" headers: Content-Length: - - '2055' + - '2051' Content-Type: - application/json Date: - - Mon, 24 Feb 2020 15:48:46 GMT + - Wed, 18 Mar 2020 13:38:30 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -146,7 +175,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + - Token eyJpYXQiOjE1ODQ1Mzg3MTAsImV4cCI6MTU4NDU2NzUxMCwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.FpsePdjnmNCSbNwafwI-BhwP0Es-nDrJb-XmALRloQk Connection: - keep-alive Content-Type: @@ -157,38 +186,40 @@ interactions: uri: http://localhost:8081/api/v1/replies response: body: - string: "{\n \"replies\": [\n {\n \"filename\": \"3-tete-a-tete_formalism-reply.gpg\", - \n \"is_deleted_by_source\": false, \n \"journalist_first_name\": - null, \n \"journalist_last_name\": null, \n \"journalist_username\": - \"journalist\", \n \"journalist_uuid\": \"60d48dfe-aa6a-4611-bb40-f59b376ad92c\", - \n \"reply_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/replies/36d2b572-6da6-42e1-829b-777f42549099\", - \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90\", - \n \"uuid\": \"36d2b572-6da6-42e1-829b-777f42549099\"\n }, \n {\n - \ \"filename\": \"4-tete-a-tete_formalism-reply.gpg\", \n \"is_deleted_by_source\": - false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": - null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": - \"60d48dfe-aa6a-4611-bb40-f59b376ad92c\", \n \"reply_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/replies/38338788-ff60-4af8-becf-04aef89cc314\", - \n \"size\": 1218, \n \"source_url\": \"/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90\", - \n \"uuid\": \"38338788-ff60-4af8-becf-04aef89cc314\"\n }, \n {\n - \ \"filename\": \"3-ocular_schlemiel-reply.gpg\", \n \"is_deleted_by_source\": - false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": - null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": - \"60d48dfe-aa6a-4611-bb40-f59b376ad92c\", \n \"reply_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/replies/71160871-b852-4aa8-880d-71191463182d\", - \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c\", - \n \"uuid\": \"71160871-b852-4aa8-880d-71191463182d\"\n }, \n {\n - \ \"filename\": \"4-ocular_schlemiel-reply.gpg\", \n \"is_deleted_by_source\": - false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": - null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": - \"60d48dfe-aa6a-4611-bb40-f59b376ad92c\", \n \"reply_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/replies/9d1d7f68-f007-4852-b288-d3056456b108\", - \n \"size\": 1218, \n \"source_url\": \"/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c\", - \n \"uuid\": \"9d1d7f68-f007-4852-b288-d3056456b108\"\n }\n ]\n}\n" + string: "{\n \"replies\": [\n {\n \"filename\": \"3-biotic_conservatory-reply.gpg\"\ + , \n \"is_deleted_by_source\": false, \n \"journalist_first_name\"\ + : null, \n \"journalist_last_name\": null, \n \"journalist_username\"\ + : \"journalist\", \n \"journalist_uuid\": \"d075c6e7-b383-44f9-a7f3-24c9cf5f85f3\"\ + , \n \"reply_url\": \"/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c/replies/a361f050-105a-4d05-a79c-24ef0fd59e88\"\ + , \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c\"\ + , \n \"uuid\": \"a361f050-105a-4d05-a79c-24ef0fd59e88\"\n }, \n \ + \ {\n \"filename\": \"4-biotic_conservatory-reply.gpg\", \n \"\ + is_deleted_by_source\": false, \n \"journalist_first_name\": null, \n\ + \ \"journalist_last_name\": null, \n \"journalist_username\": \"\ + journalist\", \n \"journalist_uuid\": \"d075c6e7-b383-44f9-a7f3-24c9cf5f85f3\"\ + , \n \"reply_url\": \"/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c/replies/eaeed4b0-03eb-440c-a7bc-0ee1964f2810\"\ + , \n \"size\": 1217, \n \"source_url\": \"/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c\"\ + , \n \"uuid\": \"eaeed4b0-03eb-440c-a7bc-0ee1964f2810\"\n }, \n \ + \ {\n \"filename\": \"3-adamant_recourse-reply.gpg\", \n \"is_deleted_by_source\"\ + : false, \n \"journalist_first_name\": null, \n \"journalist_last_name\"\ + : null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\"\ + : \"d075c6e7-b383-44f9-a7f3-24c9cf5f85f3\", \n \"reply_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/replies/1bc9c4b1-496c-41bc-b12b-0332a9e9a363\"\ + , \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef\"\ + , \n \"uuid\": \"1bc9c4b1-496c-41bc-b12b-0332a9e9a363\"\n }, \n \ + \ {\n \"filename\": \"4-adamant_recourse-reply.gpg\", \n \"is_deleted_by_source\"\ + : false, \n \"journalist_first_name\": null, \n \"journalist_last_name\"\ + : null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\"\ + : \"d075c6e7-b383-44f9-a7f3-24c9cf5f85f3\", \n \"reply_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/replies/add7f309-4eae-4a93-9518-0929fd42e8bd\"\ + , \n \"size\": 1217, \n \"source_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef\"\ + , \n \"uuid\": \"add7f309-4eae-4a93-9518-0929fd42e8bd\"\n }\n ]\n\ + }\n" headers: Content-Length: - - '2271' + - '2267' Content-Type: - application/json Date: - - Mon, 24 Feb 2020 15:48:46 GMT + - Wed, 18 Mar 2020 13:38:30 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -202,7 +233,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + - Token eyJpYXQiOjE1ODQ1Mzg3MTAsImV4cCI6MTU4NDU2NzUxMCwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.FpsePdjnmNCSbNwafwI-BhwP0Es-nDrJb-XmALRloQk Connection: - keep-alive Content-Type: @@ -210,38 +241,38 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/submissions/e933e257-596a-4392-841a-c63cfc3c4783/download + uri: http://localhost:8081/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c/submissions/2ebf0e40-1ab7-42a1-9001-fe591fba6e98/download response: body: string: !!binary | - hQIMA8PnxMCiIBsqARAArT+/hldNdvjV1xqZ/Pcblh1NHY1HxT30qwIy1QNR3Dm67Rla6ZI/n3AI - /mF8JdpIoHI8AFl0/9PIrvvbSSPNJnl7XLwnv8X8goHFW3Ow1fW2R3C5pn9u7TryrG5CRDNXulHS - A8ngpxsorAp1vpWr79orsJXT+gpmSj3/rGecDKbr3EDPJjTMzOa1aJTrDsDVfClF/m5nu6t6sut+ - wWwneE1wic4TK6pqOtIuOwNz2AWjS5N0mOnVjCm8oxLQ8HkmydJCXF8Cp2m0VNWGl9LGcAA8SQtK - gD/WhyMhLb9mXBuMFKKALkpsKCAr/IFo0BO4oqGSNJ8kfUCKWV7jknUiczTMjIoOXwbyEXlYWmr1 - 6NYAdH3TtqftPzF10jslw4RQ+BelFmlQLSuAqn622vSvr//hYaaDvlrBbezjuBypyWDLUh7y1GyX - oT7jQjuDsZKcmc4S1MLaZ+tjhTfAN6OBqWdo3guuhSG9mnP7kzrwCNPRipwEpzRO1VLvyTL2z3jr - 93nGmTtF3SpQUp7Y3UtETIGvP503O0OEbxptIhCe7ipAn5nGGC+rJDItHLyTulfFtc+PuRy5lgyP - LqgiBc7xby5IaXKOk+Mq5TfSzXpN6P8n6C5h3xMDe0rU3tIJlORDODVBekjzIeGD4uTzlGpzbHgi - f37tKxxdv1igYXK2/HLSYgGJMh89EcM6g58LLmlLhDuDzOYl+s+N+a69V4pKyNKVGgv4fHZv8C26 - e6SDpXBeg7XszpVC77Mroravc0tZlcqyFYIgV+ojYlab6kj7ZM95R8k/OL3j+FrTADn9T0fhfIjQ + hQIMA8PnxMCiIBsqARAAia/YgjpRQw1fN/WpX5lbv+tTkHC65a00icpVTzc1kB16BZKufYuKuXJN + bc+h+BBC830yt89LyTvfxxI80PSE+zRvV00shlEHzeO8MGMqbm9cHeLz+KWEWMMBVT5dVeK3P7g7 + zb9ZuL4TEa4FCj7vCR6vW92GIcCUgdvZYfHA45BdQn/OqLAfVDqjMrk2tYl1iLYM532X/SbdfIxS + St6Vn7jlNp4GDxt5DvKixU5b2BgITxaKH/HyZ1z7CUsS+E+9TlIUFs6Wv6LmVUHoe4OwqjE6w6kj + +ZR1OgYeMkYbzni63nCrlIgwx2TivP+fP2NTnw3h0nHIeSgPq6AU7zEjht4wVJ/tU+lKoBEarvou + OtjutdtyZOlCcwgQa+yi9NFgt6wajq66QmnE/jAdznrzAEuvAFthmADHJYdDCmWwQryDnss0aRRw + y/1VT61xYGOGgmjz81GioTab70YrRnksceUE5AA9xMWFfOcN5DPbGTEmKTrqNUrkJAXZhVXLhJCQ + 1MFPxj9Um4luZNRylWdHwA8sffbQoe/YHtT2Vo58iNa2Aqosw6jABPp+42EvVnNtIv/WdQWwLjXX + B8TNIrA5Uxmk+eU8HUo8wb2EWFQiDDsJGRr0gohGYcW1foI2kRwXp01B7h7ImXUIt8cfe0rbGsY6 + z17TN5JMWvtGjkMCj2TSYgHbN/bldf+EOVhV/85M0RUE9A1yfthRLZta1tEjKiihGXeOBBliuxwr + abSPWCYywAcbiFpHQ+fsScq4J09SFnUgwhP3vuotCla+jzg72hl8lgg2QgBnfdLUo9xaUEzVXO9m headers: Cache-Control: - - max-age=43200, public + - public, max-age=43200 Content-Disposition: - - attachment; filename=1-tete-a-tete_formalism-msg.gpg + - attachment; filename=1-biotic_conservatory-msg.gpg Content-Length: - '627' Content-Type: - application/pgp-encrypted Date: - - Mon, 24 Feb 2020 15:48:47 GMT + - Wed, 18 Mar 2020 13:38:30 GMT Etag: - - sha256:544520396f6c80e23e8c3a62d8fbd974b4e57c64eb4a9b7892093bd6ed16b862 + - sha256:68270da06173c0724092478945473d5ebf37b1b85c19926e1063384bad3af7b6 Expires: - - Tue, 25 Feb 2020 03:48:47 GMT + - Thu, 19 Mar 2020 01:38:30 GMT Last-Modified: - - Mon, 24 Feb 2020 15:48:28 GMT + - Wed, 18 Mar 2020 12:40:04 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -255,7 +286,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + - Token eyJpYXQiOjE1ODQ1Mzg3MTAsImV4cCI6MTU4NDU2NzUxMCwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.FpsePdjnmNCSbNwafwI-BhwP0Es-nDrJb-XmALRloQk Connection: - keep-alive Content-Type: @@ -263,40 +294,40 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/submissions/6636292d-4f78-41ac-9664-b599447d2f0a/download + uri: http://localhost:8081/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c/submissions/2dd1b22a-57fe-450b-a3b2-30272471fe49/download response: body: string: !!binary | - hQIMA8PnxMCiIBsqARAA37wHcvx4awoKDOmmqe6Hyg+MJ3jC+oRHb5gZPnx1IHfIBJIjaIb49Bl4 - VLxKZsaeNSlKRMyO5VKM20sMQtxmI5VkzlKJndTpn0Kza6lSlcMOhn+gJcKu+uugBq4Y77z9rXiO - lEVmauyAK/+N9KDVA9kBLeGvh+z77oFWRX+c1yvAttIH/4zkqnBkSCGMeEk0eKwXc09hUWJvkh7u - jH71AHrNiguGE7qik9+2CU1s0HcO68JZOrE39+oc5RwdVAdSqHkdvNCBrR0DINiR2z6yMerbjDeJ - yO5eYxexlSFbjdUj7so10MjwCZIm8y9NdW6fZeH/nX24WMxvvIKLjy5NhBa2iV/1eLh7oXyGpGZY - 9LoL6GTfzeWdTyOw8WZGzVlcgao+tYL/AC8C82JnCpJ0D16Jjog6wqF582Mjcoc3vuGG2BRPpCcP - kavXlkX8KDbk8HgDqQI0yFBOPD7pOsyY3p55lCryRBR9YKKUVw50b9JXINsTeWr9B/yGWUt6TKGN - PTkUmM/tqojCQGENk7jTqE8HYb7zjYat8QA87Jy6UgI0WQ6dqiMGxtLSJ1CGXnIUOr47W2tGaYSX - jHGma92RsPB8p44gRlB/vPyakpJhvJYQdqkd0D7+tI73D+Ds+RKwArgboTmQIffLI1LqfwC7+AuC - rqMUDJsIa67Ah5gN4FLSpQELsBXplozZn56LkK9iZEoxgenJT2NulAv1wg91KRZdLIMiHbx+xDWY - 34+CbDdHk8U/YvHauDceDNIhfLAQRNKI4YE326LfGGhQyc9S5U9Xzu9uBJtizE20yKPRFw9Juu4K - UfH22kdrZYdxwIDbPu3YpegKGZuZj031dHtbbZ07s8x7gT/s4VrzuFKt7LarEAG/2zzbZ//jc3K+ - eBSq+Eb8M8Zwkg== + hQIMA8PnxMCiIBsqAQ//d9UQYoZ4+K/dGtR9R57yvM8QgH5zIICZYXomDCJLHDAdt1Oupfv4EOjq + RpJWgCDjxW6rL3d3vbm2Nis2SCKC4TWQ5uJvylHcRSeXSZLuovQJZlCLTUeRR7n82L5QpYsMEgBb + VtRKxzBacRvdBzQUjwgvgnONEFYaPcZBgFuenR8ccejboE50h81BYT6jl2SwQEmYxT7TjTppMsN/ + UDLLKyraE7gcOK067enlAkDIgLwXxcKHUDl69IMz5oRT/Xx7kxMT/q9RmPjvPD9SNEdB4PT5im1x + cu9NLwjFzQRzQ9E3xK/Mq7CO8dokZ0re9ZdNHf5oIbrvaGhebW2/c9jr/hytjFVPCLwBAoMN+BfR + hfGbzhoiKwhxOWE/hfXYWoc+kIijCVCwpI42lRXvvNCPX02+5WbqICoWKxv5XXiuRY3ytH/rjkpY + nUImiAMY7lYTf53KWopK7xXQ5nR8zoY4C3IwO2eWCPWuEJo8jTYTfXl8Fie8dKyZmE91s8zFMUF4 + +wH3gH6zYn3vAlAK1zxc5cLqkQk42f2vldy1gb3qwUp9RmNDu7uiXQvCDPSyLqULEw/kLQBfkyBS + lgGEUKivWiB/SCUN2yqJUyNiggP7xXmSAnYiuwB0kSHp/L3YFVjj0OgbmTZKTxYr+/Oz4/LRZeiT + +4RWz3iFm6SsEHC7hpnSpAH1ooEmZFxZQmVEancfaAbWm/2JwiFh4J/NSsaYyfm4laauLcHHAWM5 + TnYtqeSqSVIVvt2xbyyz0eL4e3oaV6FAafWKMp49tfelz3tXyQ/V9ptyP9muA0Iu9tgCTAYwWYy8 + I9a3FpMWhKdEW2WtE616BE5R5zJYwdcnOI+459Li1d8ctEDJlQoIfKkGsABLsTgTX6YIXUYTJ1GQ + TUcV+NevuVZv headers: Cache-Control: - - max-age=43200, public + - public, max-age=43200 Content-Disposition: - - attachment; filename=2-tete-a-tete_formalism-msg.gpg + - attachment; filename=2-biotic_conservatory-msg.gpg Content-Length: - - '694' + - '693' Content-Type: - application/pgp-encrypted Date: - - Mon, 24 Feb 2020 15:48:47 GMT + - Wed, 18 Mar 2020 13:38:31 GMT Etag: - - sha256:09c97463a3605539a981102606054aaecea05c6aa58351ae5340233f25eae17a + - sha256:b4daefc13c90e9a713f971652e722e6b34b318bdb0f2265787259f662c15a808 Expires: - - Tue, 25 Feb 2020 03:48:47 GMT + - Thu, 19 Mar 2020 01:38:31 GMT Last-Modified: - - Mon, 24 Feb 2020 15:48:28 GMT + - Wed, 18 Mar 2020 12:40:04 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -310,7 +341,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + - Token eyJpYXQiOjE1ODQ1Mzg3MTAsImV4cCI6MTU4NDU2NzUxMCwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.FpsePdjnmNCSbNwafwI-BhwP0Es-nDrJb-XmALRloQk Connection: - keep-alive Content-Type: @@ -318,38 +349,38 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/submissions/a69433ee-f291-425f-8758-493e8d42e91a/download + uri: http://localhost:8081/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/submissions/a5a50fb4-9bef-424b-8b96-f5f29d14b92a/download response: body: string: !!binary | - hQIMA8PnxMCiIBsqAQ/9FLevMACWZNo8+9nU/Mfkmc90kdeeY1pPjitmHB5M1sR2C+XPVqbBTgf3 - zsLEmnejs9fZbr+7zwthtRYl0ze6joQas2TZxVrIluL0wBU89h6UFgCJIx7mYuEEdxBebc5hnX64 - SDc5bZGhgUkGVsdewlZquFXWUNbLDJLT40hTd2ZA6BJaomOjTfXG+myJZiJgkYVeUbfH7xpWujbs - bTuellh3maNcfWMA1BwOTlCA2D3tqDaQid7Nr2eHjbEeeDFFahs/AOZzBO77To68W22E3ZCJ77Ck - Taar2mnOBtiMg8+HHTFqihrpWD6I7oF8cuJuUlvW9s2H+dyZ5ZC5XIEvGwZF2VKLY/1dyuQ3Nl9K - ZREFYelSO08wfalr4FTH+tG3QZShIRZraMmmmx+MFDFojpAqGCEk6PRFRSwF4KJjyNXbt6j8iEWq - CC7uEpsS1k3bdn3CbWCkTKP/T/Mm0wd/fAG78I1rBGl4jolMdDBB9reR+cZFOzQMT0bUgBjgl3Wd - 5gNhFGOUHbMMtEnwsiOUI+XrPgEfwkDYcjTSSWYtwU0ZpIVMjYGYPZnB/YMwSBeuEcnwDNSt9koD - QlYbU/ZnjHRk7+VqyEqUlfwj0BYne4/PbNR/em8XeQt2I/uhKHMR9ggwcsiYN47vo6ggkSfG5nia - 2KWkbHOTlM7o6LVgcZ/SYgH7GjTWG5OB1pveI64KW7iWpEKZVe6G7j90XpVqmNxVkNc0oxv0lwJD - RID9KwnukKlY3KshXFocuHPvK8VZlGYfD1Nxo5I2y35n85NhLRoCS2OgDMDaKF5ZMJYq/29Tf5pm + hQIMA8PnxMCiIBsqAQ/9Fdeoz6UCEkK84r+jFHJ9r2x3JeUMBLuJzk3/ESiK6oXVOMSMGKH11v2Z + TJ0Q0wCF+oYThNwIX/TDhh81pRdZVua0ZydYexlLjtlHID8BUoh1/3TV6SyRlwda7tyOcvJrzGpm + fqDbggqFy8LjxdQG5kiWXBEjQSMEhob07ydkuG68ouYPF8AecOEpuRqPQ/9HtKYwMjqjhTBJKQfe + VS1vH3VLCBnChxdzCQYBNht+XPp2RwazsR0bwxWhGtB4xfHBXl6IbbroTWdASrCFHCRWeZkrQDLn + Vtg86OOFXey1L0cl5qg1hOugzAFdZLheyZMX4d6Gjb+xtS0slS6WD8kOoiw4Fhm8pS/g3zzTfVzA + IloDjhSU4I/SqFdE9iUBZ2bJm0/t0QtUzKAc0Qvj75Rg9tBgEcOq9Nmn6+WUcsLhNQfFgHfaQAHR + TI9I//6soGhphwjQ/c1SvpBTyqBXzlbf1k+IMygdsL5+uoiLyNhFIh2+mkLlKUxvuovTL/mOpRr8 + dHcMV6fa7AuLasTkPKGTlMe+w8Uq/8N8CLZyE3AxdQN1wsx9EwAK1MwRN19qpopTsUbmro53c5aE + PDzf2MbmZ3rCmraWp0qzPmUTJqBwX4UG9d1F3nrDz9FRvJXzroFGkFc2E2eT202o3OKoMPgvYBDR + 8KZqGczyH9WQNOMrxjrSYgHEPiBpPMIMYGv0FNjk0CiBPeZsHspsa8c+bhRBs3hl80DyhhF8U7RX + wsBp3c/SAU8uQAPl3SGRc0GgdXUIAEzAqynX44Fb2hwc1A8EOMA5dlTAMZgTo66jPQTGFD9Q9CnF headers: Cache-Control: - - max-age=43200, public + - public, max-age=43200 Content-Disposition: - - attachment; filename=1-ocular_schlemiel-msg.gpg + - attachment; filename=1-adamant_recourse-msg.gpg Content-Length: - '627' Content-Type: - application/pgp-encrypted Date: - - Mon, 24 Feb 2020 15:48:47 GMT + - Wed, 18 Mar 2020 13:38:31 GMT Etag: - - sha256:357337be5a6954e791efaf6837a7101c131ffd47ac100499dcbaa3bfbf5d5560 + - sha256:b4998faccc1b04dcd21caf6a58a91b32b8d3a6d56c307959e31fbb052bb428a0 Expires: - - Tue, 25 Feb 2020 03:48:47 GMT + - Thu, 19 Mar 2020 01:38:31 GMT Last-Modified: - - Mon, 24 Feb 2020 15:48:30 GMT + - Wed, 18 Mar 2020 12:40:07 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -363,7 +394,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + - Token eyJpYXQiOjE1ODQ1Mzg3MTAsImV4cCI6MTU4NDU2NzUxMCwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.FpsePdjnmNCSbNwafwI-BhwP0Es-nDrJb-XmALRloQk Connection: - keep-alive Content-Type: @@ -371,40 +402,40 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/submissions/0a6936e6-df09-447d-885f-a3525fa1c361/download + uri: http://localhost:8081/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/submissions/b8a29b37-8eeb-4361-8070-171863ae8d38/download response: body: string: !!binary | - hQIMA8PnxMCiIBsqARAA5hEO0bZTbMNBlQnK89KAnD5a4bZ1uY/Ggte3m0h9bWKa17hI7rWnjUT8 - LYO9nsNiutxwyHpCM6ZO2zpo3LNcVBeb3mXjxcNG5iHkIkdO4pjtmOim0lqb+fMYuVODgxsjX8Uf - 6jq4B2DkjLItQsSAqg+UBcYn0RD0/AXcVYqnACpuNollhY1/OevsbyPBFFVMZBOKmHfIsmca8C3i - zNosx5EIBymtcefc3zCuHGKaWmwKPLtbQBSYA3vqS8JAClflcWsEy9jTm1/Px0i6ULwwptv9SbPa - EMeDRdVej/DDvSRn2TdeF4ZAHHkv9KEsS2moN4f1d+cAi94xUeuxW18xcHaUVMyCcSS5dUYIP0u/ - Mery+vLFeqDvokuO/Loa4CsoJVZ5V7XocwNJmkCBFGR/SDyjFEetpgU7NkUWji5NNXs5KcZ0dKh4 - NBKiTmvrftewkw5cpNtRsVVyRhfqm+EBPctYd7J444SihPvwvoNjQiYAITD7rrE/gM4dScB2FDt4 - fBM0LyXkRp7Zz0ZHUDDZxkYLjSIe5dRfeHS3MAsaa45i0uYWdKssWMKM6zs0r08u+HvltlpYKjw9 - dg41mPjdoCuKOx9NaijqYdIR+HQwFtVdSBKUuoIaBeSW7diFEALTqixFAUPYogTt4ROBbuJGDZLk - 6A0lsNCpQhMq/wn0lb7SpQFH0YwX+eWTUD5Mh9DQoe5bCjdId/JQjIb/od+IjhnIxlP3zt6zrLcd - GuFCJ9N4eYnbTrLGA0mvnGs00StneAum756lAGQACHX9Isv2gUz02F4DQ+DkIzu8hcimFUFqY0Qq - IHFaiyZm0i6ZhqZOVm6z12haNZQcuQNeCe9D2vYMan/BqyHUn/j9niMKMkJtegXhUivkJTqHW7Aa - JqXk5jiyOznanw== + hQIMA8PnxMCiIBsqARAAzp4X4+5qd9PtHh1RI0XiP9SD/C3rtTC76jLdYtWtriZ9qDPf/G/eYLw8 + w35/zWqQcWWI16kjcXLr0Y5XJHe+Y8JbcPQdjzZL1kBKDooymo4ZB7Va8j2ZKkUm85wjdTwrB/DS + 0S9p3R3VcuhPEqJlqjqGKlrJ5GtoeiD8o7f2PM664L0ykAum0xj2Ns1iFogzS5toxAQV+g4wCNFJ + MjZKpwM4b3KKl7aUZKsrFO2C3UOFQ9McKgCpysb6rEbzegUK5qzed/bgn20S/tfMb5xdDurPO4XQ + rI7F4tsqVzvPVeFjGXQh4q490Zr4Xj1oGRgEoa4GzJ2pd+P8UsCvtIScr6GLsZyPhhonWKpfyrvw + eC+akE8HvX5ocXBHoBpO0NEHdp/Ox/nJC7I4nyeSXqBWQsNH1KuoOLj0wB5whp5lBX0hGZy5JjeP + oER9Gr1wak0Xq2l2ZBpB99ZgbMS3yEptSq4LMB04gTFU5BSM1NxLZ0+e3v+fMy+QfTDtVhnGcP95 + 83mH+k6jx8C9wyiFMHwjt/mErV8Gmg/PWSS/AgIoeTYU5Cbyl698aFaO24MU6PB+CKkzoaX/skim + 8iU4zd/+imxQ8Rc35lbMg0s0LGwp+Lj+UhyeYYIuHNK+rdrheVEvujcrpXP/aUQW925sFCbUAo6W + tA1Mn4hqXlJgVr84wm7SpAH6ANDV5zDsGg50P2Y/D760KUHLwXANfLHFnJuFmwyrV7hSdkUyF+2a + mAsOrsQAth5m9axc7i+RkvLVHXtZjE16lvx4MtJUnDvTVWketRydE7DFaxwQA57i+7e+ER4KLV1r + S8SZfjGcEHIAZBfyv7m73wlPYH9wiowuEVQvrxO0hS4Umhr6HagelklMqAym57F9V3w8XVtDAh+4 + hurENx4aumYe headers: Cache-Control: - - max-age=43200, public + - public, max-age=43200 Content-Disposition: - - attachment; filename=2-ocular_schlemiel-msg.gpg + - attachment; filename=2-adamant_recourse-msg.gpg Content-Length: - - '694' + - '693' Content-Type: - application/pgp-encrypted Date: - - Mon, 24 Feb 2020 15:48:47 GMT + - Wed, 18 Mar 2020 13:38:31 GMT Etag: - - sha256:2f7a8bfcd735cad810e82cd0da70371efad445d76dfabd3a861c2e46e73df8c9 + - sha256:63a4e1381e228d540fb3184a7614d3597b29cde4dee8a1e426cb7ab315471792 Expires: - - Tue, 25 Feb 2020 03:48:47 GMT + - Thu, 19 Mar 2020 01:38:31 GMT Last-Modified: - - Mon, 24 Feb 2020 15:48:30 GMT + - Wed, 18 Mar 2020 12:40:07 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -418,7 +449,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + - Token eyJpYXQiOjE1ODQ1Mzg3MTAsImV4cCI6MTU4NDU2NzUxMCwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.FpsePdjnmNCSbNwafwI-BhwP0Es-nDrJb-XmALRloQk Connection: - keep-alive Content-Type: @@ -426,48 +457,48 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/replies/36d2b572-6da6-42e1-829b-777f42549099/download + uri: http://localhost:8081/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c/replies/a361f050-105a-4d05-a79c-24ef0fd59e88/download response: body: string: !!binary | - hQIMAwNrWPi/C7BEARAAg+QuxdxU9JY92comXLAReq8FYaD+9swhD5FHoaZWzzyzQ+Z2RG6ciWNG - ptdeiRT+UGfsJRG2kgMtRdCs6T/fVacwWscBRzz6cv/5Lbn07er05Hb4554gJ+OxrvXEPmNxGjbE - Vumu+Tv8p4crdNGHbG0npXVwOi+VtCwfD7Y+plVeoXsA6YSmFIrkRuDplBJChbA5Ka0c5TbZcJBS - 2TqHWFcMmhyiA9Or43cIu73oJRo+Wjq4fzQYqMHUZTeIwOaxDUfTmZ3LFAfv7pAGNLL2OsaKdwHs - Mk3auj4q5hR5HuOpVbKiSNkBDJscEBwLVU9TuQxuiJLa43/6IbqEgzxVxKzNP++t3FarRxsFApJl - Z/tLSe8xx4PJjhnkPOnLtjvJ+Fe5FvU+WMWDSyXrxHglU3Sa1MaN2yb6020pd/CGOZchsLPJ0st0 - zL1avenfNPhAAQ+VZatBoNhWBm7LI03eflqi7LEeepNYQfo0e4FTxPMoRzNFpTERIVmblmsNcZw4 - U+an/K+I4a1gC/kqpMmAYo7mzzU/cfF+EgZGOw3GZm5S1HxNuIiwtyEQxB/R9ROaa7X44LTDNtQe - ze7af2obDFQuPeweeTFaut9fJITA2coWC8QP3llQfPwykSsC0jbvsnk6QNEfFRj1Tz4rqAnUh9Gf - SWJQz6Dpc18VqCg8GMCFAgwDw+fEwKIgGyoBEACVnud7iSpNNzAif/3S/96G5DWFeiIkKEYRa5xl - gYyHs8FM+oK1GfEB6fIl5pfdfANNa0GWblnsXOUmtZxmbK45dOj0OWdHcbAjKeW1OiBqEFjbqopE - hflpy5GPxqWxMH+TnP0pdnZ3P13cL3rXQXF0h84CBXnplHnIln0TfJEemUFA9wxfAF2sQfrgrF2E - zSkTc19c5T1V54VM+ug39jaIurbFb7+icQ0UXcX7Wo1ewgFU3HQUHZ/qpmUDHFG+tZFtvZRzf68J - heEgFejl0LymhxVR1a24DXJeOWQQaXTeraZB6AFGM2qMzJYh25qvLo4uOSTlVySgCD02FgPIkJop - 463EAMTMq5Oo83FU1nqPr2sDwlHj9KyaymFptAIvUuTr9Yzmn2YkaC8LXDcHkdaZOh57C1pM/+YP - edY8tgDjoy/x4FUmd1XIeTwfj0JDqOUTQFZLbAoAIVWb6rfwzxUSMlpp1p8YaNygaa2inSTh35V2 - nYNl4gDyA8ZslKskGFgv/tAnjaFXwrYJ/5smzXTwB1Enz19FLXtbkOQ7dY3gDsRvh9s6kqovwp6x - kLX5Xf7QEc441L+hI9hnXdl7PH2evKzwCN4WJyAYEgwduTLTOBDP4NukX4T0vnAgg2OZbk5cIztY - TY7e1mzaBjNfVKu46sdYY816/h4aBG37bUVoWtJdAVZ+KMZvu+FbnaGeS2fbioU4Vco/pTVn9Kls - ROmT5SxT7QzAlJZbMDdW/2Wut3fy5H4fpeliE1D91SoebTB4oTdB+cA8YyuN60N0XSlcLaPP2rgn - gg4MJw5SW6sD + hQIMAxdMrAs1BwFqAQ//WwIv4nntzESdZkUQr3OtOsAbWnwFpkRdN4rbSyw1t8iopKYHIrjx5PCF + zcuSc7ikjLZdv5BUGc7ElJgLri/Zzz/PTHTp7HwmsAXeVUZKlzEL99/VhjEfWiT1SXdIX3nlCgHp + 48HCAB9xGAkYRrLzWrXJJXPXfzu8eiWlu7z8u2huHSQlHztK6TM8pmfQoA5qHsYnUKDwCRVwIawX + 43l9VTQ2dShL2JrMZhOfGeFGcz9PV9azUdbiuTec6PAuGpjnoOWnHh0I6o4yOXziRen6dhmPa3hb + Bucw9WJhDFOqANke4bhlFRKk98ZaHY0Ie7tP0N1PIyfK7Z/X+tTxCa2Pt7siNNNeeoFO1xZ+WMow + eDLfcktdVNVA2KjroFx1ieWHdSAX3g33LfevEWk02YqF4wO3awBBOHDUDjjt0+KAWmhvM5jnzQy7 + 6I1Bee8c7hixEBUsWQkhb7uOkkp6Y2CMH25zwCuWJpIY9kQBs5qbPMexez217W/tQyj/kQsmbz7G + dkDYXnjzEyUNXY+02XftGqIqrNt27QSA7g1HmSZwSqUkpLc6Fi3l5Wl/CDKygqFiwcu7CISPy7W5 + PdavqrnhVlpmpD4bGm/45m2JRaD3/f98i2wsFKIPt/n8ZFMhisRGjWt7ezNCsHuIKFw9dl3wcf3t + Ykt1pAwVcwImcW8rjquFAgwDw+fEwKIgGyoBD/9KVWVtxGERl5sDB/XenHsuXEkyqYHHBh1IuqGb + ubSKx0lfpXcbUwJ0bkTLMKoP+vxuTWhAYWJacgAUO2Nw5egC7+Fe4KWVouJS4mgC0sO6XMmikxT9 + Bf2Ss2Cd4D42h29yHiq325NrsPLIoQTAFHOQvMM03G9R3L9HkSdKM9SMolsEU/jUCji/WJc52U2K + 6fMkL5JUCEEcSSnryAnfWXuJRUT14NDVYRhaO5UAMjmyciZSe0b9WPTZew41cRaL/It+b5UmgU2o + rcVVc0lJ7jyN5OW4be3Z2McjbvAx7d9GdkrCs2gTlbCUvbLjEjBWAnXEWa86If1zUMrHg7jNlWnX + bmejIjpeP/h0YAiPl+SilSmOK+gXk2l3A2HC7CppJUyWK4nZHwJX+VxuBvv85fry0wksvo41o7xs + 61REVzyZIlejFN+sIkZN/1aUnMfo0qLfRWPQv0eTGQLCuaLyw5jheaWHWQlpZnrcnw16idMvck+0 + L9b/0i8uiU5yvITADLFYTOXJ/Crp684Lb7aWIC7No848tMZIWRiZfr04tam3PzcQoQSS2nyfamYl + OTgXBGDyBPmWjhh9yy+tm1nzKLgFLtwy/x0qN5E3ALXoMtPeTv4BYLLy2bKPkTtFCszQHHVUOqth + QUyhFWKanUpuMgX5Rb3RuGSd1+/kdvvlxWv9/NJdAYNv+faBzABocaFyZvQ4Zx3Vn18cjPD+IHSY + j6R9DoiWN/IALQ233RLt4POQCFwuSqCeNqfKNYuk+GaIdyQwKLSBdKveTat2X8k9MQbhkQsjMTR2 + w9tEi3aWnrjB headers: Cache-Control: - - max-age=43200, public + - public, max-age=43200 Content-Disposition: - - attachment; filename=3-tete-a-tete_formalism-reply.gpg + - attachment; filename=3-biotic_conservatory-reply.gpg Content-Length: - '1149' Content-Type: - application/pgp-encrypted Date: - - Mon, 24 Feb 2020 15:48:47 GMT + - Wed, 18 Mar 2020 13:38:31 GMT Etag: - - sha256:4d016992e4449d0f313be0fc1e696d9635ed940b954db66dbbd84ea050eee267 + - sha256:ea8cdf434d53e5b241b1ef54c2ff61c42975f87d38924aad5f33381963a0860b Expires: - - Tue, 25 Feb 2020 03:48:47 GMT + - Thu, 19 Mar 2020 01:38:31 GMT Last-Modified: - - Mon, 24 Feb 2020 15:48:28 GMT + - Wed, 18 Mar 2020 12:40:04 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -481,7 +512,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + - Token eyJpYXQiOjE1ODQ1Mzg3MTAsImV4cCI6MTU4NDU2NzUxMCwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.FpsePdjnmNCSbNwafwI-BhwP0Es-nDrJb-XmALRloQk Connection: - keep-alive Content-Type: @@ -489,49 +520,49 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/sources/fb800891-09a8-4482-94c9-b516c5960b90/replies/38338788-ff60-4af8-becf-04aef89cc314/download + uri: http://localhost:8081/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c/replies/eaeed4b0-03eb-440c-a7bc-0ee1964f2810/download response: body: string: !!binary | - hQIMAwNrWPi/C7BEAQ//VeGVLw4RO+hYnuwyB9ygQU3RgrHzIWqjR8FPm1xVrEMznQrtJEp4iYS2 - 5hC/iZaADLzrCTx23q9wivpkCqMzCfHkstTqY00YBkeoCDlt0qcnVhjg9JSy1KTLRryhCHT6vYC3 - /Vb8Wuqpt/WqDLe79z8pXFw2rExXh41a0X71lRBAwm9isnN21fBFjjv6fek/LaN1T8Q9dGuH6Q5s - Yt75C4pfxru/TCiwijm+KrsgoHLDNJTmRwvKuNhPrxJz9MXlJoQ+RYjlw38gYHOH1EEHkcYOGH9k - znSkpIvUUzJrgKphyDHFpACmumnR1bmIzIBF3b05M016GB9tVbovNLlPpK5i3DzTxIwuK14FVxuU - DUAch+Qx2kLSGOeFTRLGxuZ2gHFTnB+qZwiNKogK4qoTkHSUvD6y6d9D+8BqLvCMqcJgFBK1Fsa1 - mFOhiLTqHe4EdPapMKB/yNblv69kWd/vWy9sfpBWQ0SwndJCriXw1tgEzfmSqRdqGfeQarkd9ykz - K+TIXK/W5LjVrputuV0CpdFK0wofHGEKiWv9g4Y2PSd0xSEPHqr0pqfTYzZWxjKVt+SZSoGktlKb - 9FTk+Y+PgSDBb4qu9etl639LcpLzwTXT5ttOGq+0toYcVJxXrrMCScIWWIHWEX7Nln6O66a8FYzG - fUvbE6V/YEK23vPpn7GFAgwDw+fEwKIgGyoBD/9Ca2XB/FRwu1mL9NiOdx8EqNujjHO29k9vKiJH - Wj1Mc8i3h5KGpn22gwB2ocHli7UhYX+D+MSJVKkQBJFAgoY48PIFah59tBnFSU3QyPD67k+iDdQw - ZtrcNonY++fDg8MIkFe/cF39Bs8FtIYfejgOsyo2P99zX88SSpWWhUJ/OWhzXyFTwmQYTseFwpRk - wQhkInutt6YYnKGyGZbZirTySBLXIjnojBNDK2tE+W8/POxQzkB9Z3AVaOZLWrgD1NnbpLeHPKp6 - TRo1RWbC+vFjF7edcg5c+6esYDvo84LJe9SldnJ4P7YI18kAy7CVi2Oj7AzaXzDkw+KyLdq2VeEw - GMEKbzzZ//5unayX4krv+cps6Qcho8d+TJAX1hGf9MjjLIcqWjkaLx8023Xmf8jM9/oLU8wRix9z - Og0So0m3ELny5N5Z5t9/HTzb/ZluUhsuIDjadsWYvER+qOYjJEQOd+cY0lcYLrTAcFFib6Ee3jBF - NpLsgmXKbG3jQnzRHhWirabz9cvoZYI9cyKEPek064Pkkn1+tycLWB84TK+WEUmS2d7iFs8To7kx - tbTKAupYbKemTnV3iVCB1gK3LOkXClZJdSiqGNMPwAral4pE5umDgieamXdx+XW3iK2a3u8UFSAc - DlVWRVL+qH5uW5CVLr1Zrn89gDVCJh3CQchRk9KiAZZ462jt0/xrHzYJz3gIpcDX8MyPbfD0Q04X - iRcN0hn3C9AtvhjEfyY1kyjFQQChKfz+1BXp6Gbu2HRLf4FhuBZGCcLvE1k1GFyi4pb2zxqGvMDY - PArh9jhuj7mHCpn6KWF5rJex+eqVZcUBXEq0cPR7VO6/cndWTm3HLsu9K+i0aJeCxVhcUFg9qotp - 3FVbHEMYevAnG0I7ECwVRPxXVoFw + hQIMAxdMrAs1BwFqARAAsLRVTKhxs0u/yH/BPe1A5K1aXEFGqs/5qFTaOH28P9hW/oV9Nc2Na8m5 + PyBlNTO6puVPwAJ+zXbADanv31ZszLTwowzyiTFGCAJiovY/mW82uW92DVJYT0ni1pEgfUbw8l6U + 4dPoSU4vjj8NyL//ZWpViuhTYvqdKfGga96OtCQoAofk7iUWqmBYga8N4FY+9BwvxLSArym9gFNS + it9ltItSVhg4lcAN4MclIjOo68Ckw6i5beN7hb2ZbluHAjOskK2vTAasue8aR4xTHPPfgk9SudmB + p+yshn3pPi7zuJzcIZ3mhH0Q6AJCK0N0w8AdW21IiyYFKsz+EjBTi2kVbTh5DuIsfZLwUlYeU0LY + yjIZM5YD++n2q9VHAYEX8dJTLzvWVpLs0JPu7pwIg3bRRCUHgJzFEw9mu8p7nSRLe/ZYa52zgFdQ + rko/MAHeT+a7b/jsg94Iz+z1FplTiTm+G6OyNne3gRjqifZurfYPfFW3dHyQxmugFviladBrdvOV + HTdepjzpKb7cmVWxMS7ptl1E/mnxflDzGhvMtwS7bRuUvnzXuI2iBAElncgboZI98lq/uB3/s4lX + /U3+K6ZMQMfAxRUq1RTGUcchhZn0Y/UEP/9tYayarmPfliKbgFMIS0QtADLFw7XKDfpMhpUccEOs + fM3pbZ5yajaw69C4Cs6FAgwDw+fEwKIgGyoBEADl7otcxZf/00VUuEdooHwSAeIZTmV1V96a1Z4g + 6e4qqQBzs83Z1/yvk/FW+mA3D9sKkBneaC0jmGqOhI/uffVq66D37mU1YnQG/nK8OIrxYAxfqels + gakZO4VDc3dn8cL3s9/bIP3FgCLr/GvOCHEVIEGxj7b15TlxVO9od1D5Qj+y547xeIST/yEVmXmi + yqZKq+Lq7hqw4rks3B9q/SsIbdCtuqtzqitinmMDRqYBz6SgVuOnweK3DKG1Td57/nMAss7snQ6D + MqUQzk/1o6sApKp+V9NEpdqyn6OyTQjlIgZgS9ZOBuefaARb4OvHPdGGie1877yujHwMGm+pEgXG + 4rhgbOWZDVSjDY9aFGNiIbNa7q+Xpmqo8L66tjW0TEdbVgVSjcUX5pubJ7QYR2zQy2ZXh94Mi4WK + Vo9sr1opmKp1B7um4fjnmv43mUYU9rBJjHaD2J35Ki44wSM36m2Ek/e5pW82+swPE4GkJo17XxJS + N3nLHTDa0+kmQwQ2AlwFUwKS/8kg1lOx80M2AGv4qlX36S4ot9NyFGr1wDbpsjp7MdBUDe7ItHyC + tRA1tn8sMg10j3fXV+RLsGmA8eKQXIdEAaxkAP2DAZ/kJ6f4HJwKV2FQlEMb/VRgF4wqXniu0MRo + aSpp6AydKUQEyPECxEcw2TChdmfFuX00HVmlDtKhAetoxoeSXB1sfngS9vAF0K4ky4Us/AJEbm2r + W1/FhX6iSTVmVyvQwADTDz0W9K/RY5mo46HaCUFNXJWzGxlUsg/jR5eHvhdA7SQ4+M0oG6pe7WDg + 3T+Jjs6HSycHn4IXGnBv2X7o6a2YTOj069xaSAfCt2EFsSGV9u6D94NDB0gUTsysefu3Heh+Cb3x + XotUJOiKNjbhWX3ydhT77+6jAIk= headers: Cache-Control: - - max-age=43200, public + - public, max-age=43200 Content-Disposition: - - attachment; filename=4-tete-a-tete_formalism-reply.gpg + - attachment; filename=4-biotic_conservatory-reply.gpg Content-Length: - - '1218' + - '1217' Content-Type: - application/pgp-encrypted Date: - - Mon, 24 Feb 2020 15:48:47 GMT + - Wed, 18 Mar 2020 13:38:32 GMT Etag: - - sha256:5dd40b31d85178b579d5b70c93e51b7e8aa55e4595635ae9a5bd8399390de048 + - sha256:a55bdd37acc222aebb6ece61a872631681373b881abf1d232cb17e854224e815 Expires: - - Tue, 25 Feb 2020 03:48:47 GMT + - Thu, 19 Mar 2020 01:38:32 GMT Last-Modified: - - Mon, 24 Feb 2020 15:48:28 GMT + - Wed, 18 Mar 2020 12:40:04 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -545,7 +576,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + - Token eyJpYXQiOjE1ODQ1Mzg3MTAsImV4cCI6MTU4NDU2NzUxMCwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.FpsePdjnmNCSbNwafwI-BhwP0Es-nDrJb-XmALRloQk Connection: - keep-alive Content-Type: @@ -553,48 +584,48 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/replies/71160871-b852-4aa8-880d-71191463182d/download + uri: http://localhost:8081/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/replies/1bc9c4b1-496c-41bc-b12b-0332a9e9a363/download response: body: string: !!binary | - hQIMA9eBKBQf2maGARAAhg1EXyvBR4eJiwjjL0OJkXozF+7ZHa26rsL9RAoK+A/Z9vKChJPNhSoe - xFLsF4dfmpuQYPY3TmzpjM6Lu3dD9xR+Cj7P4D1DZAFAK9ZNLJNeaMkLFhO6qjFQGhxGh8BJEs5F - jQgs0b01ETYszxm78WLeLjDNHR4bKFBD4zQopl87LVgUPaZPy7vmAw9IPk0SB1bEmSP2YO2a5yDO - hsCey9fNYfh01QOl60yXAPwOvq+NnHQfj41cXrWzyXs+4sPtqwb8IPaKRnmP416ki6UXOgYGcQ5t - zgOUYpzvEzCGs/dmPfrgOS2CAeYfpjSNpnK+Dl/M1mwSAEjCPQytpd4bHKG229Kwlaw4P+5Blzn8 - Dn6wXYSpNUICrNGtZR9K3ZCaduQpiJgEokGAZBbmtBDtZl1BtDdEBaEf6EvTTlr6P4LoRSu58qCB - dlB1AoG5hljQL9whcMJMEU9Lwl3M6z64xrzIMnNyu3MUTehbutCNP3/w9OK7moFp2h2b65ee583K - al1Ek/fofi8GJE+LKl39OkORpfowpkAHuPgcLd5oM1SyNz/PdXGcyfrbf9YDyGYn69bazoRVRq1z - HLmOmlwBkoTsvt0JYBx1e38F47Di6kTSXyv5WqBhX8myUQC+fLl6EjCxuvhgniky6yXL9a887oc8 - m1XybNesTDEG/ZaVtt6FAgwDw+fEwKIgGyoBD/9plV7ChGv6TyCMumkjbxzQ+bacYcOAD51qp3w2 - yz5RTW4ggXj+IBONGmtbz0BKSugXMYz0LNaHwCGMIMYXM38PsktEvjEc2va08xKa2WABA5DyTn0H - +x7WGLhRZ/JAOtRbZ/bZEvI8UBK85bIaxe2S33cP1aESgD5Ww94coc2oYcTpRCfuNXEbdmvjFcXV - WpTZ5OywY9D0+BBJ9lU/X5iXj5lIW8JGZK1yFO22bJFxqOaKgMT4aWLiZ2MELytEKukCtzpwYxgb - lSmveJVHF2DySOdX38abtq+C4VfsQZjeMKIdZouBOtdC//cnTlkUdRD3OPq0slTDSqIhZKE+n9l6 - YpGw7oiozkv/+3qoEshBvUyIK7ITjQo5jkbY/yb/2pOVb/eLhKU7j0QJwjRGu1trnkXUeNNiPidj - 05yJ51l+uBe9MzjPxhPM0WyRNgmGMzCdmvGtHBcoZe/hu+xPAd4Hqgh+spfVvz/QextYT0NbQEG4 - nU9b17KjlYoPQOAymQwhI2fWwdXpUBJqAcKTOCo1nEfE9k8w7XFmmOIQFsCPqVrEoV7Zpjf9xm/H - Jdl3kCPE3KEELXgaWH9OnlOsvTeYOBXBLa+vUy+cDiubhN8wBCtSO2Ilst5lwakKg3FeoAXpWPaz - 40atcXEPHXSr9buxHNBMW81lczk/renf8lfUo9JdATMjY6qJm3M1yATdAlBBL7AyiLvLttBnB+x9 - wTB0yfmvwqDZ24u3WRe7GhRY/fELaUF49wYJUnMKu9E2mq27Bt9eAHu98zSXcvzI2bVIx10KvrYS - S6iGzo0Cila5 + hQIMA/Hcj9wj0PU7AQ/8CvrKsRPzyD/zUpE8c1gNsUj/S8zJ/4vt7uK/Eh+/XNjrP0w1AjIFFGYf + Yz130GEMSvU3ZG0ggz0jNM26vItrJE1aiGymIr0/saqIMCf9GId+ruM3BoBt4qnUzmRkm4aS3x1L + Yv97lVor6PuKjY0QpYr8tx7xgBnWWlE5z19An4FHwRkKjhGigOzitK1y1CcIF+oDtOzeIvmPjtPr + oqGVXrixdln8yKYW86qu+A94Itklp/I91s1GYTZP7FAy1mh4laj5ju3+Q/NUbg5MeKfhaQRD1an4 + q1b0VeLOys7mNNtsrZJ2pieH5a+T0X68hNN9JVDqK2KwCwfsWqHrgoax5JgVsrPin58Vv5kcHDJl + YK99WeBRLrmIdPubo5u+jvtsM+JHJxWYHCtRhgNYZBLSqljYy3MsdJfXfNBVOJgEzGy9xGvhpfkR + oA/OlDuq6UOUuoltrVofXAT8pdLGHTOTTnZuBHh4zpJm6scbAYXgSt+72bt2uxesFRYTOOtMFRBR + uVxyevXkeqLySBkdNzmcnh15Sl+XM2k9fO51McXQdBV61CUK9z8OqP/G/P9rYFghowFMBEN1Yzdy + TxY4pNXk490ZMVOiV93p2L/wrHxRdWHPjMmercv39UBW59F+IETsJ5Ic3SbXQnTrcVgmTGCmCTB8 + vTSudUh+Jqo4LkwWGDWFAgwDw+fEwKIgGyoBD/9CVbV+SaQEIB4UzEQiDULXctCmfOL0B2oO6QwM + ZqbLCC9a+cP0HmULqQ7Nw1Yb/6B9w2xSs0f/mZVgXDTbaf9ZRbQi9i0OSFAUKNQ+KiLIpmUdh6mL + EmX3ZNg5n11ZkhpeYO1NIVTojhZ5RfW3Y0bsZeGmaMIcUpvq/jmjOprOtXzHGU0oMsLHhsCK3J9T + bCAR81ybW4GSA/+bFewHNDcfUVu5yz3od7NQj9XVX2q19B83IF9bhARN0LU9Z1GHPYDanzUucDie + nFN6lxWdF5kekW4FgPtavGKaf2KFLPZ6R//Eu/RTUfr/h8nFM+nziO4a/E0oL8PKPuSmSFukn9ig + Yi+vA7VAxnayyep2sN/jEJ4sEv6DH4YmTyWbjVACDKBqbbxKdSLutAix5ChwrJFhDWyVJH1kKR3V + YtZoQqjlsSs7DdF9+RVOvQO15+Ft7fybYAR2qoEqqMsnjLSOS5ZhcFHA051a7pyXXllQh6MJfy+M + VkowuHrBVJnBrDoUVtKBUT1EGrGMqTP5a2EtHYFTXdmJGgWFEoWLnyV04n+4L3pCc3ukU7OnmYvP + JcKJ33UOf21VMUiyj01xY/emK9kov1E3PL9r9VUNxdM+xY9tPo4+nCt9oRkw2yIvQeFABMhkOyA/ + Uvgco+XN0cLY2cdRFHP4s850/O0jk9MHkLu7HNJdASHHgvilDOUm7GKxuUejutPSTjAey/gM64Z+ + 7JWXHvRc9gkyWGyHGNbSjwzaQdDvNXnavF2SOVFzY8DVkb9aDbUmRe8GnkGXJcgBrB2SXj1j4/v7 + +hG5rVh/X4KV headers: Cache-Control: - - max-age=43200, public + - public, max-age=43200 Content-Disposition: - - attachment; filename=3-ocular_schlemiel-reply.gpg + - attachment; filename=3-adamant_recourse-reply.gpg Content-Length: - '1149' Content-Type: - application/pgp-encrypted Date: - - Mon, 24 Feb 2020 15:48:47 GMT + - Wed, 18 Mar 2020 13:38:32 GMT Etag: - - sha256:476d0e1d79850d1741caf2ddc26272cdc0c158fcae600bd7b56fe21d39d58551 + - sha256:5986c3cc29361441d00cacfe53f04f668e98fd336d2c96c00bba2c2b0de38308 Expires: - - Tue, 25 Feb 2020 03:48:47 GMT + - Thu, 19 Mar 2020 01:38:32 GMT Last-Modified: - - Mon, 24 Feb 2020 15:48:30 GMT + - Wed, 18 Mar 2020 12:40:07 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -608,7 +639,41 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + - Token eyJpYXQiOjE1ODQ1Mzg3MTAsImV4cCI6MTU4NDU2NzUxMCwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.FpsePdjnmNCSbNwafwI-BhwP0Es-nDrJb-XmALRloQk + Connection: + - keep-alive + Content-Length: + - '0' + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: DELETE + uri: http://localhost:8081/api/v1/sources/ff55f09b-aadb-4587-8fdf-2c87e2195e4c + response: + body: + string: "{\n \"message\": \"Source and submissions deleted\"\n}\n" + headers: + Content-Length: + - '50' + Content-Type: + - application/json + Date: + - Wed, 18 Mar 2020 13:38:33 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODQ1Mzg3MTAsImV4cCI6MTU4NDU2NzUxMCwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.FpsePdjnmNCSbNwafwI-BhwP0Es-nDrJb-XmALRloQk Connection: - keep-alive Content-Type: @@ -616,49 +681,49 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c/replies/9d1d7f68-f007-4852-b288-d3056456b108/download + uri: http://localhost:8081/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/replies/add7f309-4eae-4a93-9518-0929fd42e8bd/download response: body: string: !!binary | - hQIMA9eBKBQf2maGAQ/9G+n5xkULzEEicXu7AVXSv97XGMlIffUbWmdjtgwN+VQk94txyOene32W - t6PmFtNHM5hWe1vDMzpTAadczIuv+u51HyykWod+gD48ec39ffkHMeuezvOlHyW1v3BETRIfYnLC - iPikRZHc64iObyqf+4hKU29W5v9YCqHJnIFU5UPWoiBk4P66oPE5IAKDjoX/FA8mIY5XOxEAio5c - uUJpMOOGLzEl+5+R1pWcyjpVUJ/aQcJpcss22IXuLtvVFSKJ2kVd31oK2o5VQ/TJ2pw2MUU3a8hP - /4P9G3tY1A2KEnEosSXS6+tid2D3oWdQSua7OcNjY4RTONPClwJCBEYICOqMSGoE8PQLAIWI/LxO - oGMD4MrMIMVuA/e5Bu/TYWE+7hQC+pZGPj0jVDxQ7Ui+5SOnlgsA6J3q/CBbn1fm4B1A6aowarGw - so+HcYjx+3FagFbPLdBF1s59EotA0KYv29LPx5NUGtNFfcMl9E3ww32sqN/Wqjz5vL5js/N/aVnV - j5yrfBJid3ltDEmvfLqBFZYE51UR3VrRJYKQVnxw2VLVKoYYVGR7F48ZhUf9fDKdPJbkvz8UvS3i - hFTW66l1/2tibS/rYf6um+jv0U+IVpDCs5A9j+CMRzxYy/14XM71RMYBcUY5Q2dWJjL9QvINOQ0/ - rerQIi3TtE7yXEAsbVWFAgwDw+fEwKIgGyoBD/9t0Z1n5pLgORoqaBsr0v60ACjb2DVL4fxCfhWP - uWjigg9dDDoJ7E2dIQsoTY2u4OytZd3yZ8jzL74855X4TziOdBQfCZxzfpl3zN2wq8nmWZ2WvCwO - rObqzhsykCMZuGAtkZSdVll9xnP7DJhflZyXzFIB94NSoRi1gYQdsSR04mrjyU96lesGcSa2SAQ1 - gR2dn/PzmnkuIV1xCBN5Raz9A6mapuhD/t1t9B4Dh1mJ+eVFEdW3geRXAUJclVU4SojiRL5Rtc+d - X2xKp5H0fNtYZn0RG3WsPG7qDusAbhCmgw0kwnviGfNlc96PW63Zr9PiqaYsvpPejgkzsuGPf6XR - blA9LeEeWhQmX7ulXXzq9cdtyoMifIVwSP80cu/5cxl/U8XPiD5Z84SdzpaPJu49aKuGaO7UjiYI - sQM/JYpT+NbQ1TS4OCQ3chreHGQnxuEwDqc18u+fzq0+gotFDBLf0jUOupLEzqcq4M6QA0B5QAzp - /oWB5HSYPYw4KgUafBfHHZi2nZaGpxOsdl3PIdoxi/dIeyRjGGAkBhSAyRf5rvHGFHSeDaakrV6w - Nfc2jYzvw8z0CBrFT6+fHpYKiy97sHuAj0U4ZwlCjE7g8HjNbRxwB8z2y5/OnfDVMKzwZ6uC/meL - Nz6gfqjJKNBwYRULST8NOKxxPZhcO8eIiSDlJtKiAdYGsT/98Bk4DFDEsqGwgwKEoi/3LO6fFqvm - nM9JnBT442ZlBK1rLd4yjQu0Xml95YpbfL9UtORVs83PVcS4tcyChuR3WubxRBhTKeFyTYjKORup - Gx8VvH5P75oahRvqZAHBdIQ867ZHabhpZJ4VMCQA+pUm0JAqPKAQCbykTz7MfO4WRmmODZea1AKX - N8Euk6vtYD1RJ0hqit6vwKoVBSvs + hQIMA/Hcj9wj0PU7ARAAhMKE7/ZmT2ymF/CtWghTHLPgyrpGsGwqIJWHG6giUJu4suUOZaGfFRlc + KQHkHx2k4WwBqxIQrbD3xNeFrK26YJ2JSssXHuJIUdR2j2pyg8g+58UyGuCOrkJ4k6ez5xB7a4Jr + dCk9+1E+piKdbRbtLyZcUx8s0Z0jPrbiM2rQ00OPiyIOcYyvKIvY1hH1hkzmTCHpP3lSlLyJNxQo + 7E85P/TBgfYBiBar0u7qJ/YhcS5yp5vCGj8H4zY4K30d3+xFJXU5S+HzSaxtp42nkotGkaaodHj7 + B3kto7t9cicP0O2npW+pwH/33imD6yCCTyAec5FDgS0nNW4LEqwXbJSkXfcmAcWqiBhamHQ8OQe6 + wSRcs7k/8dWoNXeSk5/lkinETxqH3UALxUPfvqjdlpVcMGHffJpot+65UoquQlngyei66CzXYRXe + 19XqDv7XycDXgr3JiUpayzoGPn4s4Atpyf5foY80xxNvnuSRvlmAKFCChjg3HnNG1KoegJkjgbqV + cSZsTUuMmSfLyHpVUoz4TG0WYfr520c9xDPXaYx3UaVaiGWrxG4hfAyaqEMFmtN+g70TrUkkaFqU + 7XKk4XBaqO4DJlVJdmRZg5RFl3tqEBa/xx5dwpSXjxpwnpDRL3UXpykdyYz525yyqUZDl6mufnkb + INuWTb4Rj6lZeiYezjiFAgwDw+fEwKIgGyoBD/99Zx5i1eOG6x+O0ylgcyReygNELwsegxVp2uvW + pzPJ5Q4WdhC5q42zLps6Oio4ajfYpNkhhX94VzxS5m4ye2Xx57T1mRB4vV5bkOvYGLTaW5+fe2fr + WvQYteliFaXSzwGy/dIvua1So07hBsqpzxp9+2/uy3fmzJoZZ2mGOMEm1ryzrRcjrH5xdwbCWl77 + rUotyFr3H+h9UicQe3lhGyvun4r3fMyyfSE4nbKcrY5zaP+t52hLI4XSvrOo4HTKmVstfgvGyi2r + Yj82Om+G0xm3PaTVRJCyaKQoLOe57agwxXdCGfWyLnwxqcmKaM6Ea1CHGw7/YFHSxgb/c4DAcyUW + uiJ7JX0iV4xUJTrBRMXOwAXFl0eravrO70TFADTo/jiyYMHIVU/cIKcWe07t5WIUDdRyjUPZckry + ViBNS5FHhHE41oSgQWVgmQpbpP3XVZBUeIXHwWmDgfyESFALiwhd3jtPvkRcDv31kaMiT22rxqC3 + MOrBkxHB/pIswiX2XpRMKlebXdKcnkyC2LOXLKGFUTeurad69PwjImJHgvZNsv4et1z62Oz0E/er + ZO85iG5BdJxHZg5Bl8sOvY0zYy0HrjUT2blozAgnL6uBnYsUACo1F86Rc4WKSNSHVZh4caHvmXSU + PCUCtA1susSdifTdsgb1+D2C5zqWi9blA1tDrtKhAU3beMnTk2O2KORlpK9c3BaObNM/ljozAu/S + 1+wMwGQVV5HvrKjiYrFrA//NN791i1Pllt6vV4iN3ceoa85CJVzWGO7LrmwWuOCemCszP1UPZAJA + B/FL9CIRW5Yqa8RZD6nkqSA1iRCc5nYNlYonwfyIyanVQQM8Yh5V/9Smiqs+yN3PgD6ZUfM1MQ8E + rYDGvjwlng+DoZ3EP3xtMOO0DIY= headers: Cache-Control: - - max-age=43200, public + - public, max-age=43200 Content-Disposition: - - attachment; filename=4-ocular_schlemiel-reply.gpg + - attachment; filename=4-adamant_recourse-reply.gpg Content-Length: - - '1218' + - '1217' Content-Type: - application/pgp-encrypted Date: - - Mon, 24 Feb 2020 15:48:47 GMT + - Wed, 18 Mar 2020 13:38:33 GMT Etag: - - sha256:471d12c9ebd1e3285851033f832e9392f79cc8346c609d524e4b0ca8628a5eb2 + - sha256:9465471dd9cd0401686627345d7a458d1d4abedf78e4cd8a12815db6c9cb0a4b Expires: - - Tue, 25 Feb 2020 03:48:47 GMT + - Thu, 19 Mar 2020 01:38:33 GMT Last-Modified: - - Mon, 24 Feb 2020 15:48:30 GMT + - Wed, 18 Mar 2020 12:40:07 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -672,27 +737,137 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NTkzMjYsImFsZyI6IkhTMjU2IiwiZXhwIjoxNTgyNTg4MTI2fQ.eyJpZCI6MX0.gDkIq8vLKpFRKebGGNPRlsgTNyrJ8Q3IyRfmcRGbB-c + - Token eyJpYXQiOjE1ODQ1Mzg3MTAsImV4cCI6MTU4NDU2NzUxMCwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.FpsePdjnmNCSbNwafwI-BhwP0Es-nDrJb-XmALRloQk Connection: - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/sources + response: + body: + string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/add_star\"\ + , \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \ + \ \"is_starred\": false, \n \"journalist_designation\": \"adamant recourse\"\ + , \n \"key\": {\n \"fingerprint\": \"505E3DFA624A6BF2BFDEEA79F1DC8FDC23D0F53B\"\ + , \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADBTfwO7jWt8BZZGKZKdtwr/4uaqft8W9HRmUQcB/pnG/tdsxEb\\\ + n0o8KNO8nzJCG9pMf7YyjNqpAfmNWa38zvaFUFyRmLBOx1dqzPx41cPhlJRbyIL6x\\nH9cIiPiCwjNfMoBqGbMn2A46UqIxlJpS9lGh5D0vKJrci+PwE4d639hedGDM61q8\\\ + nEOaV6p22w1JeV4oft29TiapDkyszVwRxkqS/uC7Nr7nBz21mnbY7mUSP5SK3vj5W\\nm6gJVFCJof+F8liraiBIor8avQvUKUJltVxqT+8UiApgHdU5T7ae8u5XG6xY13Eq\\\ + ngQog3tZcB6ojmDORsAOj6x21sxxOpjMKEgu0jRo05brrjjbawPe79WWWCC/UUqtk\\nt58o39+xJ8PUXILHv/3upq0kxyiBGki90az2LwDU9jn0sEEusCvp0j6PAZHSZAYc\\\ + nKMZ8rVgOY+uM325LxH+qZoVJnKICqogq9ZqdJur2pPGTrq26TvWgjVmtvJajIRc+\\nt2ODNN0njamFcdxG8D48vfjp8kZpG0On3pwwiT8zrRbmOO33nopu6zFcNxscdee7\\\ + nhgmH/93e0fioB0NLAESU60jrVskg+6Y88bSvoZVBY4PclYibAl7ijOClApjMV758\\n5xDBRAuH4mI0nwam8xVdHjloXN4/JQVOm/5dzHGoEtazYJsraDYGIfMAtQARAQAB\\\ + ntHxBdXRvZ2VuZXJhdGVkIEtleSA8Q1ZMRENGRTdXQ0VaN0NJSjJGTFFVUlpFSDdB\\nRVlNV0pMSkNWQjU0RElKRTI3UFRWS09TSzI3TTJWT0FVSVlLS1ZPVVlTTVo2SFY2\\\ + nUlA3QllOTFJGRFNUMkZMR1VONjRQWkozSEZXST0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEPHcj9wj0PU7BMoP/3r3TVqC/Ntj\\\ + nxNPUBxUDTLA0GpNrU/DOUaanptg4bjMg9kAfAArbnO8XSoqMHwPCbtX/nG4NulEL\\nVrDpk1TV8Cl8W3SiZqVmjbIMzGi8juatyRV9zIiCcmtSjmiLRItt6JsIAY7IxawM\\\ + nIhTZqKs+JURpYDe/H0/vBiRTV/qtJjvTktRMan4Rewo13zWSCNP9noA4ltUptTDW\\n3YLSwTpr6pvzDK8HqRiwKa1WhXg67quepIKwr535bo9vzx+h1OwTkHtCiNf6BbLI\\\ + nZ2c8mTbHaId5sKpGsdFK6lyPATFCruxlwC2aYhRPi332EDAX5M9DrPeSq+3k5NDA\\n+DpOfipTmVfYxTI7nY78irIDk8XL45dP8vPEaCwotzMdNZcFPU+Kf0KyyCsaqTux\\\ + nxjZFToj8TJgBVEB+Y6HweRkkdf9uhnFmH2mABV49qh9nZjsVFCom5wxWli6OT1du\\nA2hFe6eMroSqGU6mSDD3yPyuA2f7+9nzH2/s6PHfzX6OjsoMEP/9O3HaamT+PpRX\\\ + nOtIDN9LQtlC3DzwOnLPQsRC7OyidaLocD6spQ+CNurWIoJTtU+6wKW75hKtPuxdg\\nVQkJCtk+VGBDwPGr2KjELOA9QXga5Ne5bzayEU5cCtffRKn9IPhDyYOBhukiBIF3\\\ + nDNs0kYgiq7RZQ5QgUM9trzv+jissN/Zz\\n=H7Zc\\n-----END PGP PUBLIC KEY BLOCK-----\\\ + n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": \"2020-03-18T12:40:07.815325Z\"\ + , \n \"number_of_documents\": 0, \n \"number_of_messages\": 2, \n\ + \ \"remove_star_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/remove_star\"\ + , \n \"replies_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/replies\"\ + , \n \"submissions_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/submissions\"\ + , \n \"url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef\"\ + , \n \"uuid\": \"cce4203f-dc01-471e-b99e-74b94eeb52ef\"\n }\n ]\n\ + }\n" + headers: Content-Length: - - '0' + - '2684' + Content-Type: + - application/json + Date: + - Wed, 18 Mar 2020 13:38:45 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODQ1Mzg3MTAsImV4cCI6MTU4NDU2NzUxMCwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.FpsePdjnmNCSbNwafwI-BhwP0Es-nDrJb-XmALRloQk + Connection: + - keep-alive Content-Type: - application/json User-Agent: - python-requests/2.20.0 - method: DELETE - uri: http://localhost:8081/api/v1/sources/2145abc6-367f-4d32-807b-06c5b2a42f3c + method: GET + uri: http://localhost:8081/api/v1/submissions response: body: - string: "{\n \"message\": \"Source and submissions deleted\"\n}\n" + string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/submissions/a5a50fb4-9bef-424b-8b96-f5f29d14b92a/download\"\ + , \n \"filename\": \"1-adamant_recourse-msg.gpg\", \n \"is_read\"\ + : true, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef\"\ + , \n \"submission_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/submissions/a5a50fb4-9bef-424b-8b96-f5f29d14b92a\"\ + , \n \"uuid\": \"a5a50fb4-9bef-424b-8b96-f5f29d14b92a\"\n }, \n \ + \ {\n \"download_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/submissions/b8a29b37-8eeb-4361-8070-171863ae8d38/download\"\ + , \n \"filename\": \"2-adamant_recourse-msg.gpg\", \n \"is_read\"\ + : true, \n \"size\": 693, \n \"source_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef\"\ + , \n \"submission_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/submissions/b8a29b37-8eeb-4361-8070-171863ae8d38\"\ + , \n \"uuid\": \"b8a29b37-8eeb-4361-8070-171863ae8d38\"\n }\n ]\n\ + }\n" headers: Content-Length: - - '50' + - '1033' + Content-Type: + - application/json + Date: + - Wed, 18 Mar 2020 13:38:45 GMT + Server: + - Werkzeug/0.16.0 Python/3.5.2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Authorization: + - Token eyJpYXQiOjE1ODQ1Mzg3MTAsImV4cCI6MTU4NDU2NzUxMCwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.FpsePdjnmNCSbNwafwI-BhwP0Es-nDrJb-XmALRloQk + Connection: + - keep-alive + Content-Type: + - application/json + User-Agent: + - python-requests/2.20.0 + method: GET + uri: http://localhost:8081/api/v1/replies + response: + body: + string: "{\n \"replies\": [\n {\n \"filename\": \"3-adamant_recourse-reply.gpg\"\ + , \n \"is_deleted_by_source\": false, \n \"journalist_first_name\"\ + : null, \n \"journalist_last_name\": null, \n \"journalist_username\"\ + : \"journalist\", \n \"journalist_uuid\": \"d075c6e7-b383-44f9-a7f3-24c9cf5f85f3\"\ + , \n \"reply_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/replies/1bc9c4b1-496c-41bc-b12b-0332a9e9a363\"\ + , \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef\"\ + , \n \"uuid\": \"1bc9c4b1-496c-41bc-b12b-0332a9e9a363\"\n }, \n \ + \ {\n \"filename\": \"4-adamant_recourse-reply.gpg\", \n \"is_deleted_by_source\"\ + : false, \n \"journalist_first_name\": null, \n \"journalist_last_name\"\ + : null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\"\ + : \"d075c6e7-b383-44f9-a7f3-24c9cf5f85f3\", \n \"reply_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef/replies/add7f309-4eae-4a93-9518-0929fd42e8bd\"\ + , \n \"size\": 1217, \n \"source_url\": \"/api/v1/sources/cce4203f-dc01-471e-b99e-74b94eeb52ef\"\ + , \n \"uuid\": \"add7f309-4eae-4a93-9518-0929fd42e8bd\"\n }\n ]\n\ + }\n" + headers: + Content-Length: + - '1141' Content-Type: - application/json Date: - - Mon, 24 Feb 2020 15:48:49 GMT + - Wed, 18 Mar 2020 13:38:45 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: diff --git a/tests/functional/cassettes/test_receive_message_from_source.yaml b/tests/functional/cassettes/test_receive_message_from_source.yaml index 12d0a1b1a..dbd7243d9 100644 --- a/tests/functional/cassettes/test_receive_message_from_source.yaml +++ b/tests/functional/cassettes/test_receive_message_from_source.yaml @@ -1,7 +1,7 @@ interactions: - request: body: '{"username": "journalist", "passphrase": "correct horse battery staple - profanity oil chewy", "one_time_code": "625486"}' + profanity oil chewy", "one_time_code": "795461"}' headers: Accept: - '*/*' @@ -17,16 +17,17 @@ interactions: uri: http://localhost:8081/api/v1/token response: body: - string: "{\n \"expiration\": \"2020-02-24T20:50:12.868997Z\", \n \"journalist_first_name\": - null, \n \"journalist_last_name\": null, \n \"journalist_uuid\": \"c461451d-8f55-4088-9225-55cb196c7af0\", - \n \"token\": \"eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y\"\n}\n" + string: "{\n \"expiration\": \"2020-03-18T17:55:09.928919Z\", \n \"journalist_first_name\"\ + : null, \n \"journalist_last_name\": null, \n \"journalist_uuid\": \"664cdd2e-ab28-4ad4-a5da-8689e6a22109\"\ + , \n \"token\": \"eyJleHAiOjE1ODQ1NTQxMDksImlhdCI6MTU4NDUyNTMwOSwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.NKix2NjXOckfqQ249FjlKZwW8wxCZbAxhBXm_0NOmKY\"\ + \n}\n" headers: Content-Length: - '317' Content-Type: - application/json Date: - - Mon, 24 Feb 2020 12:50:12 GMT + - Wed, 18 Mar 2020 09:55:09 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -40,7 +41,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + - Token eyJleHAiOjE1ODQ1NTQxMDksImlhdCI6MTU4NDUyNTMwOSwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.NKix2NjXOckfqQ249FjlKZwW8wxCZbAxhBXm_0NOmKY Connection: - keep-alive Content-Type: @@ -51,49 +52,89 @@ interactions: uri: http://localhost:8081/api/v1/sources response: body: - string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/add_star\", - \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": - false, \n \"journalist_designation\": \"bracing population\", \n \"key\": - {\n \"fingerprint\": \"4D368CB030CFD1C9F04E1EBA80EDFA1DAD31F615\", - \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEAC3wwgst49KS36iC2F1VIsm1Ao8nRheATmYPlO7OtoK4T4NJUqa\\nMlOK5BPeIAkL4DuaJ7XU56JcfG07BJzoPFtf4ecAVBK7R3bZMkAhza4EE9QH4prM\\n4b6GLFUaBHRaPGKvxbl3uq940KrNUtiZNf1BzbPGn55L//2PTgtIYmoIRWv85ZTL\\nCTOu7OZ+MqNLQoT5kbipBZ1Skdgawj/TM85hpKXm0nIOoRYvAFL3FBLT3jUPYoQz\\nYNUd4B0N5wcKX7Gx7IfhnUJEhquiZA3ms6H5EisDhpuWDeyX9jFcButLeorQKwm4\\nf4rGommcJ1MYu17EMcAA7uTMTwF4w7ZZMcK1JcyQnEqHKsnG7vF5TdFeCEk4dEfN\\nfnfsRSudzpYAJnQV4WUH0tcn9enE6SB69IAhVfQwIG5FwGvGK08KvEIaIfbOytEK\\nNsM+sAOJb0S/PSdDG6Dy/hDFfOBPWXTulvvXAoVL5bME9UdguvYm67Iha6oDUVHc\\nL5xvcPt93Jl/l8C9wHKPVjoXl5UNloWjpdRFzwZG8IaMfGYvn9WcQLjvT9jmEmue\\nO5t1efiC+uiHtbHHuX+ds0GGVPTKDycxyDxI1AkyElM17nm0GSJnHVymMkl8SvNL\\nr8ztqJYoChL6xJr+1V4DjuQLVR28B0Exv891wwRQZJHl4yHYCyRGHDZ+iwARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8SUVGV0lHWDNBS1oyRkZPRVJVV1BZRERKRDRS\\nVTVLSVBOUEQ2M1pOVFNFUEc0RkYyQ0dTWlRaUlA3U002SUI0NDNRTzJMVk5aTkZL\\nSktBVVNOV0hVTk83VkgzNUwyQzNXNVRHQ1dTST0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEIDt+h2tMfYVIJEP/0FRr52RAfgR\\nfdTPO/NpWtXV3mAlFmFDw5Nxt+jqGc0D3dcuDoATEilgBGqw3z5Amugm9A4qN+Mp\\nfutUT1q5b8oaDTohM5C/CAIgACYr6uA3Q1nyzkSZmAbNATNS/CXNBSsM2tb/CwaC\\nrj8EZkGDiE9qTLcdmP+z2ZqufuH3OvhO7gP+ZvYJJwai55+1w0u7kAfXGIUrAUy3\\nbRltHIRaPoESq9/09yvoc+1yPHQ3g6p/kBPQd/Pq9jIj53JVvOrvVHlXS+atCXsB\\n4hOpe7FJt/2h1q1MI0zDLY3j9IBXYpd6zI4kZi1iIZ/zWaTENvW2Q2IC6Yj2z4nU\\n1BDgKFJgQnP98JsTeUh7OHSfoquSCtRSWCYxZ5CfSgTw0azQ/4rjOkmgVKEAVO4U\\n3xdTshUjBuECnNRd6LNhz6Bh89rNK+saOunC/xmBZ4zfjvYpoyZq9cy5/O2iU/wB\\nsfnoi8Fy0F3hTjWr4+/xBJ7NRWK0WZlNspklcmUShwvM9vU199hP2RaJjapOLhjL\\nIJnUySE9BdwHugLxMHfZZz2M7slBUWe0yZ6LtEdyZY/A3Es5mv/iUCW3PDeWXBq5\\nGb6MhBx/UL/CO7IIOX8u+05IJEzs+wq4ei1rwAEbVZe0NCxLY/Gg6vaeCazaVcZs\\nFrW00uKSGxw+vOZquA9tdDRGnJUMLByJ\\n=cniW\\n-----END - PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": - \"2020-02-24T11:39:30.647449Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": - 2, \n \"remove_star_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/remove_star\", - \n \"replies_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/replies\", - \n \"submissions_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions\", - \n \"url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", - \n \"uuid\": \"9107a14b-0c96-4900-b0b1-65b7f39c5a27\"\n }, \n {\n - \ \"add_star_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/add_star\", - \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": - false, \n \"journalist_designation\": \"incalculable glaciation\", \n - \ \"key\": {\n \"fingerprint\": \"1E2236AEFA14B28C41A7720750EDE7875A6B01B2\", - \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADBherz3ZtIi6WxqeSf/Gf83qBHnmOaL93F+vZHravlj4KCyA3H\\nImHx3Bv1EqCiyCwx9RaLSnFlVI6PqSkr31kzXl0EVY+dU78a1GjZpEzCl7vqVVAp\\nv53UIWYiCT068hdNvaY04oNHar3XhvBKa4A7VUjAsI0hiIkKCOTDSNnT/UfcXIV4\\nJYAJDNDdeCp04Lg1I65LTR5PbGrlZTfSErhZhpegE0mkC1rczdpP4gWbTU5PB/QP\\n5EUK71tcURj09zaMeEqupqi8O4ulKRzlZfj6F/c7svkJ8e7Ge5IsIk9d67KfhZvo\\nm7vJI/vBa7mzOiypleXK/iXk/pA7joNWACC4FccQlQC3cSVUG4HJmHduY5EjICIX\\ndCXZSR1wG4h+3WxKgbL0mTv7QAlKdrujKyqmhn+JI29tcqcJx1W1i3mDwfsRM68b\\nzL2onMAbhI2jfqFEgXJaePBXACKPlCOKa0UMAWYjygumM95CXD4bRvtcXZocrach\\na/v4ZdXBoPaMfWOwC6U6f95yWDt1fMRxwJcEPeswSWixfgD/5NqafeszQSZafH7o\\nLPu2tODlvIFs0DXUlQo1XSFr40yl3LSTpm8ZmxbGqj7kg9GVtwGT9Kht1pHUUPfe\\nrL1cOUM3VEyr7wGDnFDIbS+GYhNguLXCw0vSh1WN2d2qwUBLtpF2k4Mg9QARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8T1NNUk5PVkpWS01ETktTTVkzUjRVVEsyTDdY\\nTU5aVUdVQUdCNVpCRDdPVE1DWUZJVVVES0hMV1pJQzU2SlFFTU5UNURaRDROSjVN\\nUUpSUVcyWFlKQjRHQlpaSlk0RURIUlZMM0pNWT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEFDt54daawGyNNIQAJm7ynrvStO8\\nqgC/E3xWoIEWBjZ6FWnPrWuVOdOq6XLCPUXtiJyybQpXaKdISemFPVPtlyzGXIw6\\npoiJ8KO5GSzy/QQNf+iBUxMDxxzEoTq6GKWQSEJrgvIuaIdOqYm2EjBuwCYoOIit\\nHRFs/3kn89gAlFpfe3iGIEfd3ojyxnTyzvKe0eivUexIQ0Di5lYcR3tH1Eq7BRjt\\ntgn/8pN6nDLoLyfAcUD5E80lopA2CXp/KIUQfIWRd1WBfSXqju1LYHGN+fXoAWTY\\nOUrFw44xtnHGknyh3mBIBA5RT5LWh3aA5FWZKibfPnxa0Nuyklp9sPmGxCT45/zk\\nGn72guXk8W+zWl4AqeFb1rVOav9Tdjtsnsievahgy8A/JsoCC3mu6PKR7h1BpW7q\\ne5h5TXx2N3GtOvQyff/qA3yHhwMDTyT0Wg0pYZ99tXdUMCaRAMtC8GeLQxNlJdio\\nZ/62YjVhbQIzph0QRK217rfRc55ojl4L74zIwT00U/P/EcvOxTHo21W+SoRQ2U68\\nXn9qjtDYARB/7DOc9hpz6/fzc2inRyNuvdF0RPy3QK/fbKmSQx8C1BYJPR/Y90yB\\n5/cyJHScWEsnMUHsQNrhpowNSrvK08ohyTAm1ZA2kBHggZ49FMK3JB3mcT1caw2L\\niG0Nd1t1KeVbkLuSph23mIFvticwlII+\\n=j4Mk\\n-----END - PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": - \"2020-02-24T11:39:31.673199Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": - 2, \n \"remove_star_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/remove_star\", - \n \"replies_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/replies\", - \n \"submissions_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions\", - \n \"url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", - \n \"uuid\": \"b1060583-e92c-42ae-a2db-ed87bfc597ff\"\n }, \n {\n - \ \"add_star_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/add_star\", - \n \"interaction_count\": 1, \n \"is_flagged\": false, \n \"is_starred\": - false, \n \"journalist_designation\": \"certain iceman\", \n \"key\": - {\n \"fingerprint\": \"22B24948D0AC0A209898AE9B4C8DD10DA2399958\", - \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADEqEvEhjRVM0R8EhTSYQ7T00mW0VrC9Z7WscoNcnYYJGJMuXSz\\nkoYZ1+BIPfnODYWvLZS7UD2njpok+cBdud71inspuhz7O1xnsiuJUtakzMvjeUv5\\nJM4XviZGELim1awVnbJ5d2mOsSdAWuev+UbiNvM0VczxV8+dYljIMYrAvDbXcHpU\\ndeurrH5uS0Q/1Pp5aAqADOJIPstS0j7xoPKu+GJd4PQe3sT5mrRANpssF3N8KwoC\\nghajAyU9nY+w1R17NTcCtzJfeO2j6XQNteZidmBkmKexkxwlEpp3DKWd/1/0EWr1\\nD0ae1PpddNcPsK2pwNYhC1VCB5i+WQBHblI7NBZ+s9f6uYmlN3IUTuzAIJbIYILu\\nj2190HtS1PZFFsbc0d6Ke80mC9vswedu6vnjLpLXK1zGR7zd5rHoCtRhBAkxa/v1\\n+T2GTuio7aENtAymy31w0V9HE/4FIiq6I7Q8y+M3+n8cuEAjJ+YdqlWpejQZIBYP\\noK7wIADE9Lpoj2zFtMX1J+Wesp5w+FC7SZleGG+Z3ehTwjDbQwjfSOOPrgYmIYDj\\nO74j4WGfHRiNRUbbedrZdt5EfsiuQ/gGJpJWe94PyvRYfLakOtRVngc1bhpm8kkn\\nqNp+DMvqdDVxsioa+wEWk4FuanjPD21IJbTGCFg2hz38QbK1At5KZv0MkwARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8RkdIQVU1WjRHM1lOMk5HTExKM1EySU83VjJB\\nWUVHRTNBT0FHQlhITTRJQ0Q3RkFZVFlEQlo1SVdBTjdQWjdRTzI2REg0WUNNVE4z\\nSVpWQ01WRlNaVlREUVlBSFNVUENQU1M0RURXST0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEEyN0Q2iOZlY8fIP/3enlkjedzcq\\nnwxWruBgzxdH1gp+Y0o2yfn9AQus9MciQwKjSPhq0De18fDhmPnhU2Qchj1XSLFo\\njpzGoxtzX504SX6hnZIKYGAPT5RAwrF+pd5iaPC7DZCLiR2ZhPXCeJdMBx4xTzch\\nCL3moz+U0I37qtMMAXaTRgjSdrTSsuazenlWpwDadEcYyMVx5Uya6092Hk0V5VRJ\\nJEpIMqy+YGNsOs+0gXr2jevCelpwVE9WTmaxG191a4597Ie+Tq3s+9eaOjZ2opyf\\nITbGkf+2Vc8+5xZDs/uLnU+bkRYrA7WjHu/6a3dIehVEgk3CIY1rxg7BKNMyMAMd\\nHlV+sjrNSAQvLPRpjaPJCuyCO5MDqW00aepJDMN6iYM7EonWMGBa+JbCy5/g3sWm\\ntuaPEs4inDGi4tj4jBd5kUUkbeuXcDJIP/MHcaJQ/e73opisscPEb4A94ErRKWHL\\nJA+WKfSst/nyTUYBj6aIV49F/n4KVLto5qvbXLj+ACXaQgHyQZDw1Oo/T075yBzi\\nbDuIAmKD72ZLUp7OEYuaUTzJrs5yP5kygu7mp2awxrya0LE8uFeQNp47OgOdDrIl\\nuZ6lgF2ri1DzAFsWPcg+6BlU8MFYelKXv92FgrIeD57OZghX+k1das8Gjvkcwb/2\\nmZdBt81ZebAT7kKOeJPkyXA52gmUY9yA\\n=4PxQ\\n-----END - PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": - \"2020-02-24T12:48:21.287176Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": - 1, \n \"remove_star_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/remove_star\", - \n \"replies_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/replies\", - \n \"submissions_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions\", - \n \"url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a\", - \n \"uuid\": \"d9992fd5-2d32-4fed-a619-30f869798b5a\"\n }\n ]\n}\n" + string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/add_star\"\ + , \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \ + \ \"is_starred\": false, \n \"journalist_designation\": \"curricular\ + \ neurasthenia\", \n \"key\": {\n \"fingerprint\": \"BDBC302C1854CD08561680334FDC39BF849686D5\"\ + , \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEACuYw3A1PVmUlJFTQ4h6BsjQJtdVhTecmeFwJmZ6Lyt7VgXXmD4\\\ + n53VzHaJy/+9pKtz08PP10l7irzwu5AjSWZQ3oDPVFxvwxHBYGFDToBtQ4o6MqivX\\nFveBFOgpP4BpXJ7ZePrxxAfzCP2UblIfzYcCGD3VaaDAfQQOXJAjWAfCe0aw5lqk\\\ + n9iYvYVIxOzF/8aVcoYuV+D6+e3qL8k/XVCkC+JzQ+xpnNYD606TmNo3PgVFcskHu\\nPfY5udPeLzXYX8t58/JuljJrgx62DtsOfnqw8zJFRiSmuSG87TB1EHisDOTt1jlH\\\ + nZIET3TTkE3xXy6jm8Y39qeqID/kMmdEtgM+91rZ9nvuJjhpz8qQx64gmlZLhk02p\\n4ZH0w+t14QZDPoNBjfwys0U8q2fyrjsfkw8cPTKN/0EbdEqDA991jBJ9L9Iyahgy\\\ + nnf75+I/FSHT8sYBAqefFRGq0Qewg7hKISt7hOeJsutjRCXqFJPgHf0AUTdsYyyFL\\ncSZioWUCHL7X/FR3Wy3nLYUopbwxDHEHfNuDBYLuG+P1ERQPRIhYk//WaDj6XiLo\\\ + n32yCxT5CWVXAZ9SCxNJUFfg8lxWGAdwTFcmoYdoT/AE0WS/bjy8lawZywAH4wD9d\\nXGf9L53xOMjyc63Kp3o/YtOFSzIbIY01/HzjVcF3SaCAYd74k8uWS6NylQARAQAB\\\ + ntHxBdXRvZ2VuZXJhdGVkIEtleSA8RVlJS0FaQ0tOSUhSTUo0VUpaWFNGUUJIT0FQ\\nQ1lJSU1VVURMSzdVRUJPV0VVVkpFQk1BVE43NEEzSjU1T1dSRDQzMlZaU0o2R1E2\\\ + nT1dTMzYySlRKNEhKUFpYTkFVSkI0Q01NVTJOST0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEE/cOb+ElobV1YcP/AwqtYprj36G\\\ + nG1RtrecmOb8Wfr6FxUx/8xKiYwA6suFvah7vLyoLOZ2k3t6M2Gq8w2fIQ4HXpPUK\\njAiHyfKARDSU34BrSEwFYYcjmLxiz0nsKPvNZco8SOcfTjp3B9Rch8h1NLXtQuh3\\\ + nlQ9UOHMxxdUKgT37RMGo15uAhR0UAbqPpD+3GTOPLTLAinCiDS16N9vUdNzNYLvQ\\npzH36xTGjCWoX/L0XZS1+G2tjgfpy+bAO3CbVHcxQCznwJ+Et1p5iOSmrEWSLAVi\\\ + nNXdT45AYtCJw88nstPpFZuwWSL50q+d0etT6v3Bl27IaXgifTMXla6YDWFKywaC5\\nZ0TihN77xBhW9COJBkgawtqWYpb0BdyDNPJ9KKoQ3eGFzhepcABrRkBIrBAmW2Gq\\\ + nR2gZYuDhWKs4k8bsGztdExbKU+nuZRWNxyWhsS+LrMk794qB42V+ZY9JfLGheG9U\\n7O4BW/ag1Yi4V/FwRQKKYgTM4iiuIy26U3BQ6fNs8R77Crfw6FjzIhUKqmVL9+vT\\\ + nTborNcnhGPVrIbcq+EEzzwouwd/0LyPBAijHMXVj2uF18kWjIWOw+ZzkuX4zgx22\\nunbKfrzDuMiGQp1NYI0CjnL4GOcQAP7U/9vGY9wJQzxgoaOZh7eS30LQ44aQMf7H\\\ + nPpda8hTZr9i8DhXT6ecbCvs+yOEgVPMm\\n=uZLW\\n-----END PGP PUBLIC KEY BLOCK-----\\\ + n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": \"2020-03-18T09:47:43.450274Z\"\ + , \n \"number_of_documents\": 0, \n \"number_of_messages\": 2, \n\ + \ \"remove_star_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/remove_star\"\ + , \n \"replies_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/replies\"\ + , \n \"submissions_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/submissions\"\ + , \n \"url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042\"\ + , \n \"uuid\": \"756841eb-32b0-44e3-aa19-e2f8ab71c042\"\n }, \n \ + \ {\n \"add_star_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/add_star\"\ + , \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \ + \ \"is_starred\": false, \n \"journalist_designation\": \"headless quaver\"\ + , \n \"key\": {\n \"fingerprint\": \"E1D2030A4D84E266959863DD9B189909EC9AB948\"\ + , \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEACqk4MLFoJ0uguNYFjd2L9VyWreGXovbl4Mpm79Me/O9WQB/uzF\\\ + nu8LllOPJGfYKOlSComrbzGHy+uRyY5SnERt43F9CrGhMcC5BeX5FmOGlDIJj6g+l\\nqYBBa5UaMbD0+3LLC8drg8YmPkx83B8+iaeqbKxI/DgMHzuiHPMnIHvbukiOuMda\\\ + nRK3bl+1zoxGBh42pklbjynMmZUO2pCIl67aQEtG5FKVB7XV3ZfwrAlXF/8fYac3k\\nMfqC9D0jbItpRtYa6l65MEaIk3EigIzQacx6m+h5b1DDWJZNyzp3FNiQVNjb+Eom\\\ + nZlQdrU+ONUqV87jZrQ1EJNuQx+7EFsxhFqL6S3Yg7ZU4TwSFCrvV/MBX9o1nVuNW\\nHGCGt0bxGHk7115rbeQz6glw/UJMc8fjJrrK1wunUgWjxVHMtkKS1I6kM1GVhbLW\\\ + nBquCKZY498zDWQ108ADlfZjlwcRs0ltHYVnUjkEgv09Nf1d4jpQ6ayNKydMB0qrQ\\nApLBapnNdPqO7Cd0RR3zCjOQl4aRks6K/N3mQJGtRkCeTFfKIQVajD3aLPMvgbN6\\\ + ndcK+nuL0hIJMYialPBs4kgxhE0Z5fdbxqKscx3FVR9oz+wncd1T0uD8+W0maaDkV\\nbeAKqH3nZYUmeKXKDiVI3qQYftvH2asoST0X3TRifLbHMFbzOWmgyCaIiwARAQAB\\\ + ntHxBdXRvZ2VuZXJhdGVkIEtleSA8QTdNSU5RSERES1dMWEk0QlNDRkNLQkE3RUFD\\nN0VVNkZLQUVFV0VOWlpMVzVYVlVKVkUyNUFORzY1Q1ZYQkpSN1QyRVFXT0JQM1g0\\\ + nWVFaQlRVU1JKQVVaUDNIWUhNMjZMSEFONk5CST0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEJsYmQnsmrlIbAgP/1mPLV00OyuU\\\ + nb2ldxdv8IC8hvBwWw1RR5oiof7WwjxmhgB5rR7xNDZvEeJIoG52ClIQE/j+IJ2ul\\n6S+2BTY0ulx4r18nnBcMGT18ICGyfkMV1f6QNyvwBh+EPkvlsJMMYxF3wBWzPtNm\\\ + nXFbCHBKw8CcupJtcJaUqlVzDwoXiH2qhjRGFVIaQJUi/OVFzdPpQkYZUCJUmtWIW\\nbB70gUrepZK8xCqsQ58+8MyCw0gbC6acZ9/Uej247OUYGsmA5dtMl6vdDPP74rGA\\\ + nG5j/QlJqZRgdME/KMo92QO+TJRloE8ZWB68/BX2MDWBdRMAU9fKFyMVxxtFTucJk\\ni590np33xDxv9Bf35rYQAjB1FXIrBR4imoUuX6qQJD0jzi/l/IpNzJld5UY711j1\\\ + nTW7G7aF8+uahqCYNGnSWyNlfiTro1E9fJws0RxVMK4/D526rJfYq1lAJ3xQUrzam\\nnuPwmKhir8X0gEb6xzRqSzeBjzYtF9bkfYPm8EW+SBYqEvswdjFKD5Qeo8aB5vAd\\\ + no49V3l8pW4mfIQlnTCyFYYJazfjEyPpizueVlyTMWz+qXZtlbCzNet3x/vR6w3Ay\\nWZoFewGEiVCT32VfoVc5D56Ifi6exlMFi0/eNhNze50gr8X+1ReosfFspqQbtGfS\\\ + nSiQUk5RkAemLRGG4YnUecYLKrkBO7hE+\\n=z678\\n-----END PGP PUBLIC KEY BLOCK-----\\\ + n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": \"2020-03-18T09:47:46.168907Z\"\ + , \n \"number_of_documents\": 0, \n \"number_of_messages\": 2, \n\ + \ \"remove_star_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/remove_star\"\ + , \n \"replies_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/replies\"\ + , \n \"submissions_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/submissions\"\ + , \n \"url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6\"\ + , \n \"uuid\": \"79600826-34bb-47e7-b45c-945974c3e7f6\"\n }, \n \ + \ {\n \"add_star_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/add_star\"\ + , \n \"interaction_count\": 3, \n \"is_flagged\": false, \n \ + \ \"is_starred\": false, \n \"journalist_designation\": \"symbolic cumulus\"\ + , \n \"key\": {\n \"fingerprint\": \"393842A8D90B4F453153DB482A31EB832BD808E9\"\ + , \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADH8msGnSoyOPnrJUY2rIKERbYLwS/gUxIKzQUGgyv9rWaFOCNU\\\ + n/AhT9GBw2sPN9dscFxN582FMVXymKLyCMFta8X2qpA5C78FFog76CDfmJQmv/5rD\\n3rkhzzMgIepWJc6eM0m9P7DI3F/3qfQO2/jwYozSe1dIZExSxD0e9aSFd99CE0xw\\\ + nYD4SEo502h/aoKeQqI+gop3SDqJsBmbOmmiNyvle3Ynw2nULEmshx0qhcWwNkAqD\\nJmU2uNmroE33IDPgQ2irlQLvi95ShbAxK3lFrmuHRI9tmG93NwUcDMdrWr1EXmn/\\\ + nyUMO1HyX5jEsmz4WmRtuDBKgy+R8KU0n+UyD9SR1IUmFSt3pKtZ5Ar/Pq4LpS4ou\\n4+DdAZ5tguefaJhbVoXPvpUQacbwiR5GXGynpLcqoZf2BfjktDp64BnrjZhf67va\\\ + nkM+Do/t+xSWWaQlvtXzBkDfTxtXnt2HoIB5o1b6hjTBDHQjlXWwq2Y+V3s2O5w3g\\na/bb3GtNaXAbIhStEK4flDDorcP7s0FmYCNukewYnGcw/vvVUvrUDF40o306P2UJ\\\ + nc3Zh0/Gtj2tAMJpmn+JPwGtufQWltP7Ac2t9Vm+KxdJysnw2dx36N+CXANWzOb7F\\nnZx3Yvqll6iOkUiX/EahU3dzd3/rsY5N1PqJTkHum2krN2OgfCOwGOmcvQARAQAB\\\ + ntHxBdXRvZ2VuZXJhdGVkIEtleSA8U0cyTVVYNlQ3WTZLREFZTDVYRTZYQ0tSSFoy\\nQzM1T0ZHTEdaU1VHR0YyWVE2SktBUDVUN0pFU0tOQlVBNFdOTVpNQUtGQTRPR1dC\\\ + nQUpDSENMQVpMSDZSNFM0SllZVFZRQTVZSlRXUT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJECox64Mr2AjpicQP/iT4TMSC7HOm\\\ + nEi8XelvQojX/gds6n0DAu8r5liBv/klKRG2eCFTF4kh+wA5P9nkkCftLshUB3GXo\\nAWsCSKpXrXuWq3OclwZFp3onk23EC+NGCRyDubhxqxCaOdDbVfyn3f+QDH1b7XGu\\\ + nIBEJFUUJrrIax8ZhNmsmInej0LSpYrJotzftSnpPv2uVCY7TdbQqd8PjajiAph3a\\n+Y3g6n16P3juGWuavg9gwmzPOpHYAEjtDVtr0eZ1eXGXVbb90Nk1aDUOYF5T7Idr\\\ + nn0FanCB8ZLKaTF2DM+7A1vi7JiFRiEvljgmpH5m7Rsz9ABQ6uBrFD5TJg/Cj0jbq\\nmK2QrQiRKxUqoMYHZf/12rBjEsllbdXHUaz6D/Gm61nYG+vpm0PxLFHFfODAVe1n\\\ + ns2O4o4txa1yTb51c+rGn9uwqObComkknrAw6S6KxCP0aa2bVr6VD/lHuhffLUBTm\\n1CA/ThXPZu7pDaXnMUYsdRtxvNfksy6GgQcStKZu2rh4YZmeMWtxPQB8fazeLEbZ\\\ + nnW1fCuULbfXEs/YmFnWCFBEVAi47duSYmDgat2chHQKogiYPmxvBXIz0mcsI4YdH\\n186fJvo4JFwHb5Np/OOg5+Hx2qB2jB9nHvCEP6vLHQTcTUtRNLaWvPk72mDZEFVE\\\ + n+kPWF+iDA/d9EWAFmQzLCzC6T8qhXtd9\\n=l5of\\n-----END PGP PUBLIC KEY BLOCK-----\\\ + n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": \"2020-03-18T09:49:27.959595Z\"\ + , \n \"number_of_documents\": 1, \n \"number_of_messages\": 2, \n\ + \ \"remove_star_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/remove_star\"\ + , \n \"replies_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/replies\"\ + , \n \"submissions_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/submissions\"\ + , \n \"url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607\"\ + , \n \"uuid\": \"747f37d9-7ed0-4ad6-a74c-a506e6fe7607\"\n }\n ]\n\ + }\n" headers: Content-Length: - - '8017' + - '8016' Content-Type: - application/json Date: - - Mon, 24 Feb 2020 12:50:13 GMT + - Wed, 18 Mar 2020 09:55:10 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -107,7 +148,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + - Token eyJleHAiOjE1ODQ1NTQxMDksImlhdCI6MTU4NDUyNTMwOSwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.NKix2NjXOckfqQ249FjlKZwW8wxCZbAxhBXm_0NOmKY Connection: - keep-alive Content-Type: @@ -118,38 +159,49 @@ interactions: uri: http://localhost:8081/api/v1/submissions response: body: - string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/b9a96403-e68f-43ee-bebb-41e354308cfc/download\", - \n \"filename\": \"1-bracing_population-msg.gpg\", \n \"is_read\": - false, \n \"size\": 628, \n \"source_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", - \n \"submission_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/b9a96403-e68f-43ee-bebb-41e354308cfc\", - \n \"uuid\": \"b9a96403-e68f-43ee-bebb-41e354308cfc\"\n }, \n {\n - \ \"download_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/52daa27a-6250-4ebf-9ef7-7540d9bae95a/download\", - \n \"filename\": \"2-bracing_population-msg.gpg\", \n \"is_read\": - false, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", - \n \"submission_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/52daa27a-6250-4ebf-9ef7-7540d9bae95a\", - \n \"uuid\": \"52daa27a-6250-4ebf-9ef7-7540d9bae95a\"\n }, \n {\n - \ \"download_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/9010b9cd-305b-4b1d-bbdb-a679867560a3/download\", - \n \"filename\": \"1-incalculable_glaciation-msg.gpg\", \n \"is_read\": - false, \n \"size\": 628, \n \"source_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", - \n \"submission_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/9010b9cd-305b-4b1d-bbdb-a679867560a3\", - \n \"uuid\": \"9010b9cd-305b-4b1d-bbdb-a679867560a3\"\n }, \n {\n - \ \"download_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/8552132d-a6a5-46d0-b078-d6d1b15a16bf/download\", - \n \"filename\": \"2-incalculable_glaciation-msg.gpg\", \n \"is_read\": - false, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", - \n \"submission_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/8552132d-a6a5-46d0-b078-d6d1b15a16bf\", - \n \"uuid\": \"8552132d-a6a5-46d0-b078-d6d1b15a16bf\"\n }, \n {\n - \ \"download_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/9ad72b34-f338-43c0-ac69-1f560331c9da/download\", - \n \"filename\": \"1-certain_iceman-msg.gpg\", \n \"is_read\": false, - \n \"size\": 593, \n \"source_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a\", - \n \"submission_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/9ad72b34-f338-43c0-ac69-1f560331c9da\", - \n \"uuid\": \"9ad72b34-f338-43c0-ac69-1f560331c9da\"\n }\n ]\n}\n" + string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/submissions/3d4818b7-770c-4fef-bf7f-9ea8a049f464/download\"\ + , \n \"filename\": \"1-curricular_neurasthenia-msg.gpg\", \n \"\ + is_read\": true, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042\"\ + , \n \"submission_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/submissions/3d4818b7-770c-4fef-bf7f-9ea8a049f464\"\ + , \n \"uuid\": \"3d4818b7-770c-4fef-bf7f-9ea8a049f464\"\n }, \n \ + \ {\n \"download_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/submissions/bc677b8f-794f-4e89-aa25-7af0f3e8c7e3/download\"\ + , \n \"filename\": \"2-curricular_neurasthenia-msg.gpg\", \n \"\ + is_read\": true, \n \"size\": 693, \n \"source_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042\"\ + , \n \"submission_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/submissions/bc677b8f-794f-4e89-aa25-7af0f3e8c7e3\"\ + , \n \"uuid\": \"bc677b8f-794f-4e89-aa25-7af0f3e8c7e3\"\n }, \n \ + \ {\n \"download_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/submissions/2ba2d750-12d1-4216-bf6e-8a9ed5914ad9/download\"\ + , \n \"filename\": \"1-headless_quaver-msg.gpg\", \n \"is_read\"\ + : true, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6\"\ + , \n \"submission_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/submissions/2ba2d750-12d1-4216-bf6e-8a9ed5914ad9\"\ + , \n \"uuid\": \"2ba2d750-12d1-4216-bf6e-8a9ed5914ad9\"\n }, \n \ + \ {\n \"download_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/submissions/5fa7c6be-b509-45d0-bb79-a6e0a9995e43/download\"\ + , \n \"filename\": \"2-headless_quaver-msg.gpg\", \n \"is_read\"\ + : true, \n \"size\": 693, \n \"source_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6\"\ + , \n \"submission_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/submissions/5fa7c6be-b509-45d0-bb79-a6e0a9995e43\"\ + , \n \"uuid\": \"5fa7c6be-b509-45d0-bb79-a6e0a9995e43\"\n }, \n \ + \ {\n \"download_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/submissions/ba989d5d-350e-4569-bb31-6b437ac719d6/download\"\ + , \n \"filename\": \"1-symbolic_cumulus-msg.gpg\", \n \"is_read\"\ + : true, \n \"size\": 593, \n \"source_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607\"\ + , \n \"submission_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/submissions/ba989d5d-350e-4569-bb31-6b437ac719d6\"\ + , \n \"uuid\": \"ba989d5d-350e-4569-bb31-6b437ac719d6\"\n }, \n \ + \ {\n \"download_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/submissions/f80f22aa-1892-47e2-a503-acdb21a039a4/download\"\ + , \n \"filename\": \"2-symbolic_cumulus-msg.gpg\", \n \"is_read\"\ + : true, \n \"size\": 599, \n \"source_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607\"\ + , \n \"submission_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/submissions/f80f22aa-1892-47e2-a503-acdb21a039a4\"\ + , \n \"uuid\": \"f80f22aa-1892-47e2-a503-acdb21a039a4\"\n }, \n \ + \ {\n \"download_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/submissions/1c429a33-e47b-4c77-a060-fd7f79f53334/download\"\ + , \n \"filename\": \"3-symbolic_cumulus-doc.gz.gpg\", \n \"is_read\"\ + : false, \n \"size\": 625, \n \"source_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607\"\ + , \n \"submission_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/submissions/1c429a33-e47b-4c77-a060-fd7f79f53334\"\ + , \n \"uuid\": \"1c429a33-e47b-4c77-a060-fd7f79f53334\"\n }\n ]\n\ + }\n" headers: Content-Length: - - '2566' + - '3569' Content-Type: - application/json Date: - - Mon, 24 Feb 2020 12:50:13 GMT + - Wed, 18 Mar 2020 09:55:10 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -163,7 +215,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + - Token eyJleHAiOjE1ODQ1NTQxMDksImlhdCI6MTU4NDUyNTMwOSwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.NKix2NjXOckfqQ249FjlKZwW8wxCZbAxhBXm_0NOmKY Connection: - keep-alive Content-Type: @@ -174,38 +226,40 @@ interactions: uri: http://localhost:8081/api/v1/replies response: body: - string: "{\n \"replies\": [\n {\n \"filename\": \"3-bracing_population-reply.gpg\", - \n \"is_deleted_by_source\": false, \n \"journalist_first_name\": - null, \n \"journalist_last_name\": null, \n \"journalist_username\": - \"journalist\", \n \"journalist_uuid\": \"c461451d-8f55-4088-9225-55cb196c7af0\", - \n \"reply_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/replies/59bd5d9b-9eb7-4401-ab50-7b3d32d84750\", - \n \"size\": 1150, \n \"source_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", - \n \"uuid\": \"59bd5d9b-9eb7-4401-ab50-7b3d32d84750\"\n }, \n {\n - \ \"filename\": \"4-bracing_population-reply.gpg\", \n \"is_deleted_by_source\": - false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": - null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": - \"c461451d-8f55-4088-9225-55cb196c7af0\", \n \"reply_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/replies/069eb5c5-f1a6-4cf4-9421-9ec72570877d\", - \n \"size\": 1218, \n \"source_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", - \n \"uuid\": \"069eb5c5-f1a6-4cf4-9421-9ec72570877d\"\n }, \n {\n - \ \"filename\": \"3-incalculable_glaciation-reply.gpg\", \n \"is_deleted_by_source\": - false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": - null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": - \"c461451d-8f55-4088-9225-55cb196c7af0\", \n \"reply_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/replies/6743c4fc-378e-4ca9-9f5c-c11df35afbe1\", - \n \"size\": 1150, \n \"source_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", - \n \"uuid\": \"6743c4fc-378e-4ca9-9f5c-c11df35afbe1\"\n }, \n {\n - \ \"filename\": \"4-incalculable_glaciation-reply.gpg\", \n \"is_deleted_by_source\": - false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": - null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": - \"c461451d-8f55-4088-9225-55cb196c7af0\", \n \"reply_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/replies/0c89631d-c0ea-4a83-871b-6b4e65d4272c\", - \n \"size\": 1218, \n \"source_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", - \n \"uuid\": \"0c89631d-c0ea-4a83-871b-6b4e65d4272c\"\n }\n ]\n}\n" + string: "{\n \"replies\": [\n {\n \"filename\": \"3-curricular_neurasthenia-reply.gpg\"\ + , \n \"is_deleted_by_source\": false, \n \"journalist_first_name\"\ + : null, \n \"journalist_last_name\": null, \n \"journalist_username\"\ + : \"journalist\", \n \"journalist_uuid\": \"664cdd2e-ab28-4ad4-a5da-8689e6a22109\"\ + , \n \"reply_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/replies/5591ed59-e2f3-4cea-aaae-2a2c6b0c30c0\"\ + , \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042\"\ + , \n \"uuid\": \"5591ed59-e2f3-4cea-aaae-2a2c6b0c30c0\"\n }, \n \ + \ {\n \"filename\": \"4-curricular_neurasthenia-reply.gpg\", \n \ + \ \"is_deleted_by_source\": false, \n \"journalist_first_name\": null,\ + \ \n \"journalist_last_name\": null, \n \"journalist_username\"\ + : \"journalist\", \n \"journalist_uuid\": \"664cdd2e-ab28-4ad4-a5da-8689e6a22109\"\ + , \n \"reply_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/replies/06143e72-91c7-43ea-bb75-a6c7465d4bb9\"\ + , \n \"size\": 1217, \n \"source_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042\"\ + , \n \"uuid\": \"06143e72-91c7-43ea-bb75-a6c7465d4bb9\"\n }, \n \ + \ {\n \"filename\": \"3-headless_quaver-reply.gpg\", \n \"is_deleted_by_source\"\ + : false, \n \"journalist_first_name\": null, \n \"journalist_last_name\"\ + : null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\"\ + : \"664cdd2e-ab28-4ad4-a5da-8689e6a22109\", \n \"reply_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/replies/841cc66f-1d28-427a-8bec-375a072b11e3\"\ + , \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6\"\ + , \n \"uuid\": \"841cc66f-1d28-427a-8bec-375a072b11e3\"\n }, \n \ + \ {\n \"filename\": \"4-headless_quaver-reply.gpg\", \n \"is_deleted_by_source\"\ + : false, \n \"journalist_first_name\": null, \n \"journalist_last_name\"\ + : null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\"\ + : \"664cdd2e-ab28-4ad4-a5da-8689e6a22109\", \n \"reply_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/replies/062a5ead-b32b-44c4-bf31-2bf89ee0bc71\"\ + , \n \"size\": 1218, \n \"source_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6\"\ + , \n \"uuid\": \"062a5ead-b32b-44c4-bf31-2bf89ee0bc71\"\n }\n ]\n\ + }\n" headers: Content-Length: - - '2279' + - '2273' Content-Type: - application/json Date: - - Mon, 24 Feb 2020 12:50:13 GMT + - Wed, 18 Mar 2020 09:55:10 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -219,7 +273,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + - Token eyJleHAiOjE1ODQ1NTQxMDksImlhdCI6MTU4NDUyNTMwOSwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.NKix2NjXOckfqQ249FjlKZwW8wxCZbAxhBXm_0NOmKY Connection: - keep-alive Content-Type: @@ -227,39 +281,38 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/b9a96403-e68f-43ee-bebb-41e354308cfc/download + uri: http://localhost:8081/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/submissions/3d4818b7-770c-4fef-bf7f-9ea8a049f464/download response: body: string: !!binary | - hQIMA8PnxMCiIBsqAQ//blZEyOUjOhSenOGqRyc1SXzpXnzXJH3mj13JnfcS3z1DKsybf00WdkMv - jMv814kCdqISweBVzRGHO4QxkXVnAMJFEtHVFkLqoAjfIBU2VGGXNORnDLaPO+XJVGRDunl6GgT9 - Pue36HkCY0YaR/lcN0ker1wM9EPV9HlIkJ1Tye2BElT/wGThC5faF/u6SWgBj9K4lu382bNaXgw+ - ZkYr1TNS2RUtqd2dmq0PDhJpznNAsTZ0TQX8UEEA8PK5ytfwqfNlGcbgdU2f3/GZib/Zh73+LY9P - jhlVXtiyKNZW2EWxxChxgKPHZJlQTUj6NE+YIlIJiwC1AzXZ0Gyf4wNCKDHYX5obG6hCoGbbllwd - cEHf9nFvd2G0AF79HKq49q7rqfleLF2rFA7UztkTuTWt/2WoQPfPpq/S/FQw5JCmN9/RCR8QGibM - NSRtCP2jCWu0GzqZKeumGs48g5pDlKGaaxUVpEBprQbWCFybFloS3AUFFNefuQ4h4EJG5UAwLz7Y - 4dTEc0O4JT/hPs6fp5yvcio36IOGset5B3YNzRjMUB91PqZfnZJIedsqiIQik79vWPpMvYZp9NMG - pBfQqH6n02RhaV1Z414EjNhRnIMBFO1prdRBOzCP8pluQAhEkpPpHU8av5GR5hzIH3k9BV2gMbh6 - oxXKwrx89lDpKozbKBjSYwEEPcGz1bk2BQ/AYGNO++aJkSAKLzFW2bFBsDNwXYgnzhqh5srhlCUo - QruUAzz5WTr+tr5q6Kgt0pobRmyRGxCe6FPxUhEFIa0O35oy2BvNhvmbBHULAnplDU8F9XHdL5aF - CQ== + hQIMA8PnxMCiIBsqARAAgJgEoCSedad6ZQy0ws2xR/SWevAxtcbZhYwJ1wDukoRiTzj7KAS9RysD + 1+ImTAvXKfCwY3qhUo7f4HwHyFx0fsPdoIlr1ESjyf55E1ijq724dkG7vRxZ7o3Go1LkKNeQHY2i + Wp0en9vAqHgViML0W2jVR3DiZexw5vzDgconSmM33JSMRsls6WDFInPweAGiC8l6nulX2oLrydtg + 1Xf7/hcJeC248xMhOPR1SEE0Bakj0XkkLaavtxMbqu+QWFotby6pk/QJKTENLDuAdy4jZ3BvwC+p + jNvJUil/FoGhPa/8F7rTelyvCzV0YZVQZylIBvCuU5tKFvUKUhbwHry4Fdbs5N3CbmnrKAnZFsxI + ZmeYoKEyLpAuydNOygUreRFD/haoTPomfsAfRLOwUC60t4TJkz/oaCJLyetpL9GjimbaC4py1xN1 + jH36WxiQMiaWNvNMi0iZc6kWgEkR/qlV/suTpDgxlse3B8QQtbXckO4h+j33XCeevXHhSmh/KwMV + iR15Ep+Re64iAIEnuIhzUyRlVrNy1zOAicFp3QOe72Zx4B8UcvYuUNNtFcJ9STqlzhWZJj1+/Te5 + 0OYRItoahzL4eWjg/s/2M2NrPAlR6RssLiebvipsxJ2LrkYhacNPUi+aL1a0UIXdg5QN+9MeS2RC + jttEmQf3PBCRT10C5UHSYgE1JMp5H4Ot6AFgkpPMQ9diacIaWoDRL5n0jIruIGghwKYkKepLXCpJ + DBLzYG4zoML4pRJX7DucSWkP47ke0LDw80C2ijEIqwjIekw+FaLNbM95JGhVTMCuVDiAkzhCjEY7 headers: Cache-Control: - - max-age=43200, public + - public, max-age=43200 Content-Disposition: - - attachment; filename=1-bracing_population-msg.gpg + - attachment; filename=1-curricular_neurasthenia-msg.gpg Content-Length: - - '628' + - '627' Content-Type: - application/pgp-encrypted Date: - - Mon, 24 Feb 2020 12:50:13 GMT + - Wed, 18 Mar 2020 09:55:10 GMT Etag: - - sha256:5e6445a70b814ae0bec12b1eedf25cb80b3803b552c1c90d5de7a0067e1376d2 + - sha256:711da0b1d98c3bf902b5fd919641166fe16472e63bbf2dffcf2da9e647910a9a Expires: - - Tue, 25 Feb 2020 00:50:13 GMT + - Wed, 18 Mar 2020 21:55:10 GMT Last-Modified: - - Mon, 24 Feb 2020 11:39:30 GMT + - Wed, 18 Mar 2020 09:47:43 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -273,7 +326,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + - Token eyJleHAiOjE1ODQ1NTQxMDksImlhdCI6MTU4NDUyNTMwOSwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.NKix2NjXOckfqQ249FjlKZwW8wxCZbAxhBXm_0NOmKY Connection: - keep-alive Content-Type: @@ -281,40 +334,40 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/52daa27a-6250-4ebf-9ef7-7540d9bae95a/download + uri: http://localhost:8081/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/submissions/bc677b8f-794f-4e89-aa25-7af0f3e8c7e3/download response: body: string: !!binary | - hQIMA8PnxMCiIBsqAQ//Y0u6YqeWkhDz/OH3NQyzM+QO9rF5919jonIF9+xWxdxRTfQyaSv1i/Gk - l9PcJLU+1xAEvJwClU/i4GDKLGoAvaL2QCgL+X4JylitykadZN0s8bsoFLTepL/KgMvyymuZEC9Z - lXz0Nh6kkrnOKBnQqYRNxhlh96yhjCajt/AbSGnJSp09nPLhkSeNF7TuL4T1mNRaM8B0NVY5ccyx - oeJK7Not6+6vsutJqobn9W6oOfkZqOvEZ/+GcgGui2aA6zPElNWLaiaXhOifSp/nkraS7G0dA9d5 - WdOaTBtVyXgmjPe0R4hcIBn6YNUuh4OZSsl8ngPKJ3XPmZSwUQ2jx5lNwNzbaghekQWpvuObt7gY - jVXEJmlAtwokz1Rzyc3NnkRhZhbHZqCvZNfAMfIe6jhMmv6oxH2aEIP/0OCDKdc1zszUwu3mGmBP - 04IbMpW3lUOfyZZ03l/UGJJKF2Ls53sNmNtEfSKxsnjrMsd1WijJQQSmM+Q/kMf5W/TaMAz8WY/J - tF78ll4ywv4XYxOdRF+FNECcvN7m0enY+N/kzB9qUbEy6stbugtjV0VsNfZ64/BRycFq5btg0IyP - pBYruKWOWNkvjX1hcQ4A3TB75+yIuBpBfQIWFfhgR93iWEFsH1az89iGuwWOW4DnfD3Ql4/fXNlu - eZAUyp0PiRtszcCEin3SpQHL3ZubJM7ttCPa4rU6DOrKbF5nbo2+zDda//K9GsdJ3dfL2JWzMobV - CnH13Q7QDn57R9hEs3dNzLxxJCzNugmfPbEfrGCfgT6KLJRQL9n2mMPRko0Bmw3yQZQ3g8mTS7nZ - 2gOmBN4DrauGlbE++9vYBO6qsETv4Cb6rOiUcqXLk2x85NrTkAVTDbiDPSQO2/BRAhuMcWjcBemr - eET/j/YMUMZG6w== + hQIMA8PnxMCiIBsqAQ/+Pz3jcmx5QOCDHxM7Mhiy2w79KJ9hezjbV6xyJNfp6dxFwRIU6NlZhouB + hwfLythH/bNZlQ1Ko5cry9c6/wJfrp4l+mHcuelxhW0ZtPwMWokZA4HwELEWYP+0ijqAClbgNadY + OlNIXnZc/AivDPAKwMeba3NBhmkadqgwDB80LZBf041yvqt0fHmPIKAKPxYcHf9BrVyla2wAHcTu + vcqcuh1cPR8hn+Dkq0WA3uZ4cabO9RhP32dnGNPI17r+0NdNJ/6fu4d8jjmjSRHkJkC0sGbRWj1E + MtRSLD1IQDRW6ZjSSn5zZbMjE9o6RaoYvzZakBwZtqZQ67PTFx7WlsHoptKXEtSQCC8u+3JbD5gU + wJ5xc7xEgVZHZ7J03sACqvjfgwtxxPpbwGzreGGP692hakuunfO2GRy8xTy1vtrmWna256+qD1R0 + DZ9QgKqWmbA52UidTg6VvDkCEOXdX4HBLEE3gp5uRCy/j6T++RgwIthBk/WhpEE908aWHpYKdMB6 + 8eZEt5tyiwbF0sWwD6JuOQKR0NM5BfnO3vXdzRkAd58PvNCT+jmXdzDgqqP9KJ3cLIKtwNGcIxnL + kY42fcWre25mBXBqQQldjgGlsiDKGws638kIwfCAv9LO0jOmfVz4GOu0WjG8BYRwR3fDoBsaFDuQ + yxH7voUmNhCi+mSBAt/SpAEBtOkaL6/Sumxl+5amtlmZlL5VHpQMc/8Jd/xLHWzVAe9tcWY8XOnj + vP37oKHsWW6R6pLhpjp4sVcQa07QAnGCt6YgNHU58jtvsLIWy2puBT3zg3wTqwJKPVjm9n2ZzPLG + OOfZqiXPfXld1pn+T5S4Lsvf+K4R3afvt54s/CrnEKmQL+MXO7MC++PAfyYP+Urq6NJkPuUZAJWy + NynWC6ZP+Dm6 headers: Cache-Control: - - max-age=43200, public + - public, max-age=43200 Content-Disposition: - - attachment; filename=2-bracing_population-msg.gpg + - attachment; filename=2-curricular_neurasthenia-msg.gpg Content-Length: - - '694' + - '693' Content-Type: - application/pgp-encrypted Date: - - Mon, 24 Feb 2020 12:50:13 GMT + - Wed, 18 Mar 2020 09:55:10 GMT Etag: - - sha256:0eb9dce68e5dc9f9ed72696c8212a40bc2bf63a371d51df15a442d7240412dba + - sha256:64c795f301aaa4f5e178435d5f886e36708a59e35af2edb75939e0ac833bdebc Expires: - - Tue, 25 Feb 2020 00:50:13 GMT + - Wed, 18 Mar 2020 21:55:10 GMT Last-Modified: - - Mon, 24 Feb 2020 11:39:30 GMT + - Wed, 18 Mar 2020 09:47:43 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -328,7 +381,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + - Token eyJleHAiOjE1ODQ1NTQxMDksImlhdCI6MTU4NDUyNTMwOSwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.NKix2NjXOckfqQ249FjlKZwW8wxCZbAxhBXm_0NOmKY Connection: - keep-alive Content-Type: @@ -336,39 +389,38 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/9010b9cd-305b-4b1d-bbdb-a679867560a3/download + uri: http://localhost:8081/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/submissions/2ba2d750-12d1-4216-bf6e-8a9ed5914ad9/download response: body: string: !!binary | - hQIMA8PnxMCiIBsqAQ//SBj58kK+d2CKxr5HazwpgIZoa27juifuhQpcPUbL7MUKu9xd3Gd/frpe - /oJkK0XioKa01uxPIOmYfTF8lDGtzs0xPtqRgmw2LXRGzA4wvEws9awgFYuZcGfqfQan7yWvdVsr - 8FircmO0do1x4TJGrWOA6bRsZMGuYrcB4ZTF5Y/7oHULkGGzWyFy/dbwXcihu0EVGyLMOHF2a8r8 - vOk6IzsDceQOEwEJwlhi/4NjBNSRQTXm3PeCClu4Yo3BvEnHQ7S9sdNIWUhwNUKU5ck1QMKi4nye - iFu03OzTrOW0Th/D6X3HUhg7Z8Q5I+5YHHR9s4HdUjKLntgFwjEHb8AlSX3FMNE3lp/lujXGcGMI - /gsC4xUqEuvuLzbiR21cEmH4hHqDupaX+1/LtggGEIiWvpaCakAZJWTABmmF+KuTMl6refNr8YO8 - Dp47iysM41uLguzidHes+exPhuEBsJH6gubdAkcgHuMr41rmXU9Uob26kCQY6lYM42LYhXupQxro - VAl0u0EG0iKRDLsPYby2Up5aHz7O14R1QMQE2ojYrfn4e+Wi1gyKeZXS8qGttfCYbu6QcAxsYswA - K9vbqtJ5mVrLHzarm8+1b4MWD9NNwrygIY54jJcq5ZA+CvBk1CY6kTcA9cvksHU3UVjCO36VyCAE - RLaCSgirdVqMn6Rb4nvSYwG3h/wdgOI+fytfGJVAa2B3wURoQ2OYm9jwU67VMrGF0G4qIdALmePJ - s6lnuSjFcTm14fBZaav9hvhe5pAK5prDR3X4mx6QiUJmYDDBwcjwzaY6SG0fK1jtw1H7bI3rwdw5 - xw== + hQIMA8PnxMCiIBsqARAAtUHaRrSemQWsr7lpGvydsIKUzFmRInbqRfTvH+ix7Trvm4YxvTOPaJjr + cKrl9Krj76B8wWnRzXryCbMbubUJBE89xeSUwEo1X1ux8Jc9sxRFXAsor3WbiySWxAtzPLjZgpYZ + vKCGsK2+58BpKWCZX1h75ovcQ1vsFL/0gIybPbRwIxs7qiFMHfXKRM4vY6VYqtPVS3atspqbf99R + 7o9Rt+weOk/7EqLggGdOHcSu0o9VdNRdwkSmsCTGSRVnmE58+ATVc4MBk5C4U2KIffad2+C73HKE + 3T9pA4EWGY8NdkvaWrIgddTu9vJNBMm7xrotBAw9Fn0kl/LTn6f4RxIJcMbapzETcYbo26Hv9jdp + wpygd3UELzyn/oWwL0LqOrKP9f4xasYfS+yLklA/aSQruHUIlGOUJv0weK1JJ1RCfjQo1a8ofFp0 + 4qk9tFNvwrcYS0ob1AuViksiVDu8R5yyv0xjSJXbVvt2cUlIy6GkBAnDaqD5Ch+SYge4d1hM9XBl + 68fZPGv7wCLC5Euj+lYWd02CcTeXaJvuWEKEzwAn8oJfyEzl3ccjWMQyEyj9rblTG1torsrjBlyt + YE+CrGylU/ZlRp8llF+fFmR43Oa7Cy38AL5oPnMWubTyoEYXzr0GDyEudyQJvuMd+PyrBqbkEEYi + IcfF5TCunKE9TTzffAHSYgGZ1nLz/k1fqzfBZJvvfGElHcolFirA5iWIET4WDLlllnl/q4OTFPAN + ocexAHWCfBo8DQ1xzNqajQAKyg5sVULd/hFulojEI7yFbGHhQ5gd9/8uR4ir9DXbQKNHxP05yAbX headers: Cache-Control: - - max-age=43200, public + - public, max-age=43200 Content-Disposition: - - attachment; filename=1-incalculable_glaciation-msg.gpg + - attachment; filename=1-headless_quaver-msg.gpg Content-Length: - - '628' + - '627' Content-Type: - application/pgp-encrypted Date: - - Mon, 24 Feb 2020 12:50:13 GMT + - Wed, 18 Mar 2020 09:55:11 GMT Etag: - - sha256:3325fd58fa144ee8f0619950d519c042fb4aca4d7fc51eb319a12ad4dadea08c + - sha256:069b17b9322c971c6596010f630f658aed2fa9d4eb9d76312696f252f186cb0b Expires: - - Tue, 25 Feb 2020 00:50:13 GMT + - Wed, 18 Mar 2020 21:55:11 GMT Last-Modified: - - Mon, 24 Feb 2020 11:39:31 GMT + - Wed, 18 Mar 2020 09:47:46 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -382,7 +434,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + - Token eyJleHAiOjE1ODQ1NTQxMDksImlhdCI6MTU4NDUyNTMwOSwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.NKix2NjXOckfqQ249FjlKZwW8wxCZbAxhBXm_0NOmKY Connection: - keep-alive Content-Type: @@ -390,40 +442,40 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/8552132d-a6a5-46d0-b078-d6d1b15a16bf/download + uri: http://localhost:8081/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/submissions/5fa7c6be-b509-45d0-bb79-a6e0a9995e43/download response: body: string: !!binary | - hQIMA8PnxMCiIBsqAQ/9EeZ6RbxvOzPQY3Z5CM0xnQTk6xYPu6EaTOja26ycRhCJFGQLdfmnyful - A3fnNlJgGP2kOO08a+gVWq/wf2rpl6Y31UvaiHyFki7kmKCWbR28F16ChsT+57/nLqVFdvy1TbQq - pb400d3V2l/q3ltL8D9MI6MaXp+TUPNSE0wCGSpc94L8vQMJme+gnN1BVa3KvH9CD6V81JUr6o9D - +NXua+xaesJOE7XK1dk8ZOXX9u0mPQwDrdnIaysxfELPos92jm9R+lhSOTN/Y9A5tcyXivzFSID8 - hs5Q1yvGmAvdFAxppy4POqaFOG4Zj37d65ko7IUO8nczOXTiGTI1i7TasTraXSeoPWiG6PTrxFp5 - 80r5uEgUZOz8o+ymRbtcFYNMf2EFvFDyrAj0Gsp4GnHd4mxS0qxJWYASHrwD12wgr610bsDPvCIG - 1ZYOV/E+cuxRflDXX87oczYlbLpVkMtzyPvl146daPr1vaddbzTcr6q5585BnWnH4jpAajv/L3iT - hhQmiW7p/WaFnUyTdmLgAgteO8rqLebO1c61prQsOm3muvfeDmqssmPUmypEFHB1IBUt1aWv/Mm4 - r/eZzVMgQqtyc6GCXAVKBB4+l4kO77hOJI9zZgV9fPtq0zz+YgaglXvA23SEoC6BCgO+dfN9RGf7 - 7RPGM84kHxzapD7BPwzSpQEpwnwEykOAIMmKdnEiXYyp0qVPpg1SfnZkbyyJiLWcbOqAeFu62igV - zbnX07Z3P2y+fhyt0M+S9eA9+H6HN7mxk6eoUQR6sSYWaf15kEE7hB0hnXzjJek5YWHRnKOKvnWo - ybCDgHO7mY+knzBxXtDMjXAuMLdwrlizz7998ZVON8vMOBk2xFx959OCQVarBtk9ufpTNbV1tp75 - NkRnwZ2Zfcmh4w== + hQIMA8PnxMCiIBsqAQ/7BJOHIt0jqeRm52I9Hw4R42xaSzjX8C0HJbPO3sjZj1Fgoo235oIR8deM + 0ZfrVAmoLiwPS8/w1Cw0cFtei7/8ogVztb75laxDkP2tU2hfZmPOeUhLEGzuD9GYRBOv9WfT37nW + //XYKr+BAALLQyICV7QqfgePbYl3vN3mpkFKcx+FBhznbHCvWNYNlD7ROAZExUR5mb47s95ahty0 + zCeSS6KkbQ7/e0hC/GHAdpFTdSrUQOUuRZxCVgOjTwfIAiXcrRfP3VV+JhEvvYaWgLn1wkP1Vx0s + 0atoc8wBaXtZDIq3CVRoT1CFX4y1c4qfL9XHoGgVsU3kXUiONFi7HTkITokHTJBktkxg289IC4yj + WhLqjbN4C8CJGKhrC2X8etogIYNhtCuixnMj/4WzXSa2KikUdpDZHsn7pWLGNQ8cI8P2EL1b66rL + nky8euMyhTSQXhxfGImBq9NudHBVM1MtkHHP3BSM2zVmT7mR6pe4/dUvNiOhIRe/4jNdYJQE3QN3 + 0oiaHDZpR01yGPNRvp6JDEDzKe4H2Oglf70xevLiZY21zVH/pFoUHEcdd06ePnCr5tslrri1f9XH + zHunWhxT2dIYJKQ26FafyEOoLue5z6pEDoQaUhJeU0ChRv7pXoYkaR1poLbT8aYcclWffZOr67Zm + iG3vH81ukTpwMYvfofPSpAGr0nEDVxV1j2ld9d3pDye/EZFrCdPQuk1iK/VAx/Sja3yN9mwbhHS0 + 5LFz45gwygM9BoM/0YdkKfiPYyZQyoogSYJpx88FbSGZsb3UHZh3k1bms2K04cXo5d96cvAXgx6o + gNkI4qKwVlD55uMj29c95b3bM7CPb5qnecWslpCilr6AVVg/uzgY0V5E0OHj7N3r/La8+hx9jFdS + Yat9upoE6MKW headers: Cache-Control: - - max-age=43200, public + - public, max-age=43200 Content-Disposition: - - attachment; filename=2-incalculable_glaciation-msg.gpg + - attachment; filename=2-headless_quaver-msg.gpg Content-Length: - - '694' + - '693' Content-Type: - application/pgp-encrypted Date: - - Mon, 24 Feb 2020 12:50:13 GMT + - Wed, 18 Mar 2020 09:55:11 GMT Etag: - - sha256:97076c8778552a41e07bf4ba57c28560fbb45837bb7f36a96ea06b5482100106 + - sha256:c005ec2ff253e2877b1d88eb5119289d3d56baf2d4f50eded81757bf1042ff43 Expires: - - Tue, 25 Feb 2020 00:50:13 GMT + - Wed, 18 Mar 2020 21:55:11 GMT Last-Modified: - - Mon, 24 Feb 2020 11:39:31 GMT + - Wed, 18 Mar 2020 09:47:46 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -437,7 +489,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + - Token eyJleHAiOjE1ODQ1NTQxMDksImlhdCI6MTU4NDUyNTMwOSwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.NKix2NjXOckfqQ249FjlKZwW8wxCZbAxhBXm_0NOmKY Connection: - keep-alive Content-Type: @@ -445,38 +497,38 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/9ad72b34-f338-43c0-ac69-1f560331c9da/download + uri: http://localhost:8081/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/submissions/ba989d5d-350e-4569-bb31-6b437ac719d6/download response: body: string: !!binary | - hQIMA8PnxMCiIBsqARAAtEHtDEfC4TrsoO6c9VddI3YeTSJoyG8PihohW8YhfgjAmv9j9dHMmpu/ - vQPnm2+DFYg0Mgi4F0nD4f9/cTnzc/FAFD21RbF3aqffo3yn3sV7pF+HoR0Pv0jLlW6vFn9LrGN8 - 3nyiNNFy9SzZK+qMw+TDx1goeHF3dQvKgrJyzfTY4cdeyWTnxDGAYCz8C74w3ynvL0tEGUapvlAE - ipZrcU1DMZtVhzI3vxjvQtVXVeFdv0IICReo6b71SUQh5KwhXnHaRlYg1XssbegBJO24meYQ836A - RE6tJbCLGOd3+2CXNQlKOUorTjhpbHk/xas+AhjfLsOJfdomboXUrtPG2n+4Z7S8b2zH4IGRI7VE - 0MseglWvpBhRVB3zenSDtibq3T1P7pusemmPkyMgBBBUpbNU+TGu1YlO6uagw4WdiB7+A8ahj9Kv - HjmNlRJHEmlrDOOZ+Dbgn/Q4Rc79ShigW37sY5GGNfZaPZr9V4pKB2yDU0AmXwzFNhaiOWw3AAtD - UdRZ8gf6E2Os8xSa0O+lsbtNxDLhW0azG5GF6Mmoq69tAnG3cCI9ALzuxOtS4YcWQ8G+b/ZT1NTP - mIm0jSvq/XUxJ+GR1pO5jxbuObqKIK6P3Un0wvBXt62ISDv1AFFrZsFP7JtopwhVwMgPm8zeG+ue - O+pvJFENLdpJ2zzAcs/SQAHrk61NZPx8aFfM6G31jo6/SbYhz5lLC5Ttv4zG81+cAOGXk1Jol21n - nZTLeeQPljrTiTiRsgM8AJKVJF533q0= + hQIMA8PnxMCiIBsqAQ/+NTY5jwoPz1uGsCmSFdvtg6WYExR1QEcF1NjJL6bngquuh0EDxyNzkS6W + Egqkt6VbOTFeldKS9z3lQz3e++7653Mcalcio04KqZ9q35H5hfMdeACCJ/8YQGvCuI5Sc90oD+pN + moXZV5JNukl46KmeLmkbpB36ElbExxWAcafYqwxdC9jvYqUstBdrj4dnVhk5cpUQG/KUiybwCrs5 + VQM/BzyzmI0f1pUbGvREnlGlxAtddmJv1Zv6ifpPCFusAL4St2yZzpzSIYekGU8BIEDG3K/3HjJc + 21W7vAwlCHYH4I85W7TIujEh1D6a7+j8/A/+AYeHU1EQxD9R9Uw2nyIJInfA392/HNHrejKPXzpm + PqxG9Ald/GqblxO+TJr39g82Nk+g2Xvwu0bfYO+OjnL9O0oZpbExNryIBQmmOfxM7yV6+vVlEYq3 + nZutS1kwgE6ZqnqS6KiLgoQb1h6lh7OqVXfknTwB1SZ6489y0ImSA1ebllgE4zaMv7RGPVLEhD1+ + zPkk7+Nbrc0RKIHOrTVm/Gfg0kT1dxdEi8JgbzIGPbUdz2jlggTtRn47z77d0AXsdRpqENj5JpIw + BvwxrnPBBtUw57Flw1L4NAt5pLMopTZ/b/OnntmAiY7XumwiSHBtCxBWqwL4ffiLjqwAUzCp+eng + WLoKCpfVySMUJ6GxXgTSQAFiJyTvfWtLf/uXQmDN95h64+GNT32sROaU/A9soG4pH0TqMO1yC82J + m0TG4GShiyh3ntl+iEFEGLhEr/VzNEE= headers: Cache-Control: - - max-age=43200, public + - public, max-age=43200 Content-Disposition: - - attachment; filename=1-certain_iceman-msg.gpg + - attachment; filename=1-symbolic_cumulus-msg.gpg Content-Length: - '593' Content-Type: - application/pgp-encrypted Date: - - Mon, 24 Feb 2020 12:50:13 GMT + - Wed, 18 Mar 2020 09:55:11 GMT Etag: - - sha256:42770addc91e7780d3ab97be4045e93c7997960fb47660fdd83297746a3082cf + - sha256:e21bcf623c08f4eaafe0a91309520066620c96276f696618f124b9af82ee91d9 Expires: - - Tue, 25 Feb 2020 00:50:13 GMT + - Wed, 18 Mar 2020 21:55:11 GMT Last-Modified: - - Mon, 24 Feb 2020 12:48:19 GMT + - Wed, 18 Mar 2020 09:49:27 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -490,7 +542,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + - Token eyJleHAiOjE1ODQ1NTQxMDksImlhdCI6MTU4NDUyNTMwOSwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.NKix2NjXOckfqQ249FjlKZwW8wxCZbAxhBXm_0NOmKY Connection: - keep-alive Content-Type: @@ -498,48 +550,38 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/replies/59bd5d9b-9eb7-4401-ab50-7b3d32d84750/download + uri: http://localhost:8081/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/submissions/f80f22aa-1892-47e2-a503-acdb21a039a4/download response: body: string: !!binary | - hQIMA4Dt+h2tMfYVAQ//ePtSpB7fRifIc87uESdS6EE6GrTIGCAISD/vAWDJRJ5n8WtprLL1Sask - 5PVhGCVuygEXyACFFksc1h9sYSQuMwCO1vX0ryaFhihU4cWEdycJZeEBFBZTeFggXhtg31PUDCoC - dCK6rAqmIjvMHe95rHN1O585i7CL1XL/gI/4Hu/f9qHlSVMt1NGKkt07PLNUWYqsnI3h70YYsg2j - e8dG+c/9rK4Qm0roAIKWjhqUpIFlBKZim6P+IOVZtYfJJCOsRdODaVAhR5QLeFD07ZS9l2iiwKIP - afdLQe6pHhuwoY5ApEwe4xfj5ArocasEKZtvsZ0Ztn98fphD3WHGh1svhV9L3y0ArXeKhYBZbmkk - JroZvHiwa6kEw/iw7hqhBEJI/OH+bDZ31JqFxh2rTukElvPSN8iW9lM0iwSVyYTMND6S/WYnZ+dl - OPYrihq2VJOU5uz/mvJJJqc5jOH0eMem7q7kvUdzK8Q8W7CzLMNbh/3WakGYelYpKJuvo2G0H64H - +65gh01iy5q3EnXgr/cSRco3cgVYOAGjbyyZKB6DdZXq9kCaPCXIPX8SI0ctKi5np/RxuGsIcb3s - RRkR35QhIaDUaAByfEZuhrOSksBMgEb9WYIm3Pj9FH1rNCKkJYAQXlxiXacbFIUMcns1ujgePaAO - 2Ol4fkvay70fSpOyGLyFAgwDw+fEwKIgGyoBEADRWTAnAchYD6zZfQFfKxj094kJAPhF3QPVxB2c - OKHkD8Hx01pwRfqslsTgDOV6z8edXhoI1kBfR7Pyg5svnbZsHq7gt4cPpQiDQsFbELLDaL46mAKa - AhXLE0jmpx89R6m59i3aInT0HzrTSBHODV+v53rb9NS4kUqmzQJ7S3w4sH6EqNO5mBMDqwMt7wLB - /TKqQqq1E0IPVSMfzV+YSiuGsim9HK7EuhXb5ReoWQEZSSYDXasmkRutaGii9RNPCLpT6eZofnr/ - /ZrXbVTkbskDhefAC+w/6RwKOblYgjhkidzOa+gB1/iF4S0wWnDXiVc1yL9+LIehB/X2BF16DWC0 - 3qEd/nrH/uQaGfnIWaA3n/sXH8kNMMiZMkzJ0PdCngCHHsr7QehjizRZjiLDx9MZk03O4llnsh32 - JuvJV+AEKKB480fdXZt63BGcbthysE/HstagLAl1EuW1K7I3Xb+fMA+qnEhuRVKoAAz50GQss++z - 4DDWiRURpUtN0Ksmgo4cI3lxarMwlHAQZO67kj/Lo9HaLmAtt8918IdBOdXx1Xy24F1M4qsZVH5j - cEsMWNZgRE49cQEcUO9hmmGoHioAgXQ/esw95UpGfWteQmaBpftRcpWichhfKPhWU+dciwDKN57n - BaHIN0K+uhoiuI11Wp+IwLh/ZNjAQf4iZa9it9JeAefbjADuzQs8NUHrnuXNx2ZKcwC2jFSnRXM7 - tFWclgWp6p2cg3zZfTvOEKi+fV6G3JXyH+1/dWRQ1kYTdvQcAinwKCm1d3yUTQf7+SfcJMDS2Q53 - gR5kmp9n3bP3BQ== + hQIMA8PnxMCiIBsqARAA1c+INogs/uFxnSzQlubIMgThILjOEXPVMiDSDBNTb03fMI5OYmonhdpu + UDCB0mDO60L9/zwaz8TZ1t5+qj089eKUAagBPcAzavw2UwVBFGZ6BLAZTNF0VdN9KobFbtLxMAvC + sLfltAYMEzELNgXq5RAAb6S1wz1hPRvEnd9MZmERx+d/Tv3EPKdtCU4TScHHm31Yzc4kZQ3Zek3b + BDVE56tEGWhz6nraboDGcurXkxjcw0ffvaFWZuWz2xDP/YJf1e3aV5Rnq+8qGDO1CfmYLm2wkr9M + CXHkMFW8QrkMyo2CM03ZqonwchRVtAkHagjewbM5TVbbLmZgCTDtM21FV0yVcTWZIGRHa2fKllBH + 0pQ1MAg8Y+YUwE/7MFMPH+YsezHt/0E7ZqcU9FemIWy9KEeiZDlo+Yu6oq9jcc1ACeIOxt8yOWpv + pdJ5yzvfKK+cXEQM1D2XIDM5OcmOadG5ZoRekHRpmu6I1FgidFz98aIvPiYgT7H09OwX0k4oLExR + EkGso0VGgjZSnIVluwEBYiYqPUQ7dj2xzZPtDF6Go9RxiNfVV61CADuYsZA2eSSMiMaSVg/JWBY5 + Jv4Kz+l/PTIBh7EIfUGVBozTlQXNEEL8SMK2lY+ID9qs9c++HJLrxImj1zPaLXwbVl9dS9pQ00mm + e8mXIgzHQLe7c8aezNfSRgHgSfpWBDk1g+GhGwBHQIS7pvuYLNA/HHqG6AKceA+b4RaAmkDC1nR3 + ePrnt/5ryN8vX//UIj+6uuuJnGRjJgvmsj24Ays= headers: Cache-Control: - - max-age=43200, public + - public, max-age=43200 Content-Disposition: - - attachment; filename=3-bracing_population-reply.gpg + - attachment; filename=2-symbolic_cumulus-msg.gpg Content-Length: - - '1150' + - '599' Content-Type: - application/pgp-encrypted Date: - - Mon, 24 Feb 2020 12:50:13 GMT + - Wed, 18 Mar 2020 09:55:11 GMT Etag: - - sha256:eb6c5fba9ed0b5146ee8f1e5433def1f674f71984562fad2dd20d72cf48a8684 + - sha256:3c179ea5f44418271e153e154641a80ab6487c4490a7c03d5fa2f0856bd792c3 Expires: - - Tue, 25 Feb 2020 00:50:13 GMT + - Wed, 18 Mar 2020 21:55:11 GMT Last-Modified: - - Mon, 24 Feb 2020 11:39:30 GMT + - Wed, 18 Mar 2020 09:49:27 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -553,7 +595,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + - Token eyJleHAiOjE1ODQ1NTQxMDksImlhdCI6MTU4NDUyNTMwOSwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.NKix2NjXOckfqQ249FjlKZwW8wxCZbAxhBXm_0NOmKY Connection: - keep-alive Content-Type: @@ -561,49 +603,48 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/replies/069eb5c5-f1a6-4cf4-9421-9ec72570877d/download + uri: http://localhost:8081/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/replies/5591ed59-e2f3-4cea-aaae-2a2c6b0c30c0/download response: body: string: !!binary | - hQIMA4Dt+h2tMfYVAQ/8CfFmnmhJSKT6yO6ELu0PCWN2sDAuXtcLsNKecx9nA1UklIVE0jQ5DGSk - F/t5zVmn5D1dP7HSsUZYj1x4F1qaZv3sw+suTTvf9scnpmbeLdjhMorPFgKZQ1TSH1ilksXvmDdZ - vKL7zYKPdg4ZeHyAsKRvX/06CXIn9ij3SMwt+J1qsZxnur1rKS5v9KB8XrGSKzfvKhZyrRsWo8r9 - blttW0HRmbwWQYwU3pt3Lrnis+r23+GPjiL7zJaVjOEeaRt4iB/SEd8dEZVIRsUSsh+tHGL708Lt - SWTGMIYIw3vKqCzPk9SwDs/GZb+oZjsI6pV9wxWw2uKb+pbaxCnTYmIoj7IisNBovewRrEnBP1LW - JWI4C/cJZ6a7twAJvZSfyUUBlW1oEIERl/pAgZmvwv6aoxlE5mPFEqxjzrX85IUOMxtWpUvu7RBe - 6fkr2tCngBhqHLnYxKDiYSrBSgMy6LQO7OsnsvT6hUlc2hiPJHIe9xfeo1FMlv9gQ5ocyM41SEEP - SDSZ9oKrMku4BKcm5u4vtvgcMf/DAX7L5Woud9v7O5tg+Up/PtdtYdwvBxWMvhTCdOIPb6I4FeDr - YjLu92AqZ3BsCoGWnZvDb4H1QEB5q5FtiSb4OoqWublO40D0w48NEtG7QRzf0UXzJhqu88UM0wal - FT5e3zH38hiQwyV9ESyFAgwDw+fEwKIgGyoBD/0ffpo3B9lQCSBbVAfmi2jwzgz70ORmhSgzDbrg - 9xaUEc8xq/wt1UpJtsB7QLGD32yDNdYsi3O08wI+oLGvRgCXDozZUPKWj5uCK1ye0KmpzWh2dVY6 - TMKuP68P7aYaMaR/1vzw4kVOnp7eyhLYjebYWpbPsWhvtq1ZLlwPtoYmPOh9TA/fKQUYDB8BSI/K - GuBPuik6Th9F5DrVIRowJ9pEuKhktXlGPjEIKrNelHXZQwWeZp8Dur/7J7UipWv8475PxzYLREA8 - CwTkLxgutwfCxpd8FKv9/3uE50NBJnFAbAdfJdfc143EAOR7ajdckW7p+tYWttK67FLE+Aq4/8kN - Q7Hxwn2D/znMxRVj71jKyBzlT6/UFF+M+RPJHfxUkFBwuH7pvaP99mzK4Re9Mn8gH185+delcP9F - zlea7BoNALSkUyKtcnWH/oySPo0UuVdjZ6J20KC7V9H43GxlGLJ25QWw+qLJbkSpGTnxZ+q+5bgb - pURXtx8J2H9ILQkgintFnUZePizIYmszvKvpIRCLLwoPc/cUnxvLWbVDJ2eXSyTocCjXl3vjbi5n - dx/hPfnHvqm9dDLBalW/FgbmcTUZ0dL8Ke57XwxlDYEku2G9A95O1uAV4iBPQPPKn77fv+Zbomeg - fvDbHKLKOZ96C8EL4mK1RzqT2F7Q8h9yBLr/wtKiAZeT+trMQSsVz2QuUGyb6YGsKfRalBmw/CpG - PVvfN4QDQgXH3AVtmZJ5xXc5trXkLXMpo/va41LN5VCKjbjE+IMGvt5yJ19zV+lzuEYCWsddegKC - BEeKj3Ht2uVl+K4XyY9VOaFlunx3DsjAM3y47Ap7iasCBG4yQLgdbG7Gkhtbvxo0q7VAwba/CCkn - WdnEnlrpEBuc+k31s7D3X1KzP4Q5 + hQIMA0/cOb+ElobVAQ//aA0jPQKLEfPY+INVrPgFXypfMsQeBgftSpnyl5V5+rS0j/+1YuIWNhCb + FPDVcj9FWTLpFjy9zIlx+tdN5Rivy/PHGTlC6cl/9sA5QRD4XLu2XARGbztSuqtm/gltLu2bVeK2 + HObTFqDwtIxzN0IwqW9CgfxtpWz/IdJWzAlW/tCmNpYMdlGA+Y3FMiqTPUQdaH4o4AR4e8p7hFyO + lHoEsSqb6CJczc7OonMvzP0nFfJE95k2ZxRzn3Ga6WF0aSbJZLzlfIk8j6I+6j9XPiZYNulgSkMP + QMHCOtgn1WfJZU1ysRpJoBgJAPhToTTwkxwsLDv9FlMHlUnRXQOCHbVFdShpbElNpIvinozxtfSN + KVkvrGzZ77OVhMH7Il1ytCbyLl+S93344px2q/ksbGo84Q3AzveeTY2B2dlqN4ttqlLD9EdB6IyO + 0e6wjnBDjGVh4ZvNeU09+FKG5luvvIOwjcyvXG9b++rwA/MD82YM4L/lKt/uaItsPLzfj8OUWND6 + JT18xbnsJyMPVS/akrnuBzH0G5IxmtFkpwwdbRXEMfzc1k13w7oMfX/W/6o2QWrsIaD/AOauwGQE + bjaVx/2b8twI8ORk6oJbZsUDqxWALlMlp9PxYcF7yL1pTEtp9alJRfQQtCS4obVuPZCSVyhv9f1O + vbZC5ogVO4ywJdNe7uuFAgwDw+fEwKIgGyoBEADGTrIcx+qCOlbAPBu1+dXfdcZ5mBRhG1P6++rP + 2zSWeu+UKVe3Z0N8oIAcCTFv4xx0uF1osYoRE6xolq0bTUVxnkWFO8qPKeRFWTQQUiSkAWQKckoJ + 2qaegJ+i2TDQrh4B1iZnElroMjArWdz+X22UjaWyXZuH1Xhu8IRG6aSY9hI52Gmve9bfKo3efSMF + tkOyG4XHTm1+BJZuPgjQM/2Hgr+RHH+KR6YxhVM2ZH/Pms+2pAsE5+hekhltqkhZ7h+x2eYl+n6b + 8z8isEZQP37iCux0tqLBgK/PiiIymv4qrtt1KlUcDK0xiBKdP4+BATeGmtM1H01oCognjaG7Ikl3 + c5GhigbUfD3OFIUccDaQsZ/t9vEoiR1n0tzwBeEbaTbSBL+gKf2QSRVcWbI6ag34YsjA9z+Hk6eM + VWjI4WuLGhUBDEG8l+FiowJRvwsXsvaE0Qo0zz8kNSpFADWrWXNW/bu/OEj6z7scb8Mdf7YrhcnD + jdtvPXv8G2zWPwpSNK7Khp7Nq2lF3No2kxElZaf7vonD9++uiEcY51WFcv9cChrZD79+rPP6bD3+ + Ggmy7HjTrF8glYLRSTy9WbN8My5YhZlNcPi3p8uZhEIa6WLrggLRGP59z92hhb6GFLmr/Rn30w76 + 3YdG/0TtdJtmIDTKBv3+R4Q7a9lUBDMyKjAbZ9JdAZeAFFYYvWqetn1Cm7wI/NvMQ7RKOj13jIMB + vqs0vVDdATlxemRCJReS5axXBBk057y2Ejeu0OIfAB5ByeyHBhRxo+gJHwJVnjJUfZPaLgXECRbp + 3d6e6w7UGbV6 headers: Cache-Control: - - max-age=43200, public + - public, max-age=43200 Content-Disposition: - - attachment; filename=4-bracing_population-reply.gpg + - attachment; filename=3-curricular_neurasthenia-reply.gpg Content-Length: - - '1218' + - '1149' Content-Type: - application/pgp-encrypted Date: - - Mon, 24 Feb 2020 12:50:14 GMT + - Wed, 18 Mar 2020 09:55:11 GMT Etag: - - sha256:b2ce0617dcfeddc5583889b6ae2b4fda3d28aa652253f0408b23b2cc53027222 + - sha256:53cbe9b4d41de405a0bd0588399eb64ba9066ec46ab2ff665d769d646efe0cd5 Expires: - - Tue, 25 Feb 2020 00:50:13 GMT + - Wed, 18 Mar 2020 21:55:11 GMT Last-Modified: - - Mon, 24 Feb 2020 11:39:30 GMT + - Wed, 18 Mar 2020 09:47:43 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -617,7 +658,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + - Token eyJleHAiOjE1ODQ1NTQxMDksImlhdCI6MTU4NDUyNTMwOSwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.NKix2NjXOckfqQ249FjlKZwW8wxCZbAxhBXm_0NOmKY Connection: - keep-alive Content-Type: @@ -625,48 +666,49 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/replies/6743c4fc-378e-4ca9-9f5c-c11df35afbe1/download + uri: http://localhost:8081/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/replies/06143e72-91c7-43ea-bb75-a6c7465d4bb9/download response: body: string: !!binary | - hQIMA1Dt54daawGyARAAm4LMZlZWlGllUQLg7Wdxu4TOaRAvsB24D7KsjtZEXULo16jm+2+6fvch - yhn5gEbOsydLzlX2IgPjcHkDabawo4zsFx+mYvDUcbHz/QgnwYNcaDYsgxVe7j83NqxG/1pfL/lP - 15zokunaJTUBamSSgVv6CN3inakI5Is5ZN8837XLLMfdqcBpW0uytrOM3bi1See/Or0NeZCHQjso - IjsXYrcWGD2tw6Fq5knG/nin9iRvyJFvKdf0L3XaNj2u4QGmUzxMuhLw0fAyPzH/+h3b0JhJGkaw - skw9/6f/2osj5YoDapGXi2PkheOIo8ViRHM9iidVYkLwC4vicXtuuyTRfj9yzL+DhqeIFEuVXS2k - ipZ5NMetR8+9SOtUfH6QWZ9EqXl4o0f8YOdc1Cj9CJiQgbXAaNQi/p4BkgYwya15EjUPh6O0BIja - 5eEKlLpo3lb3qMtvKkRROnCuQYRjRd3pvfYIjoviHB18beXU4zsa30J7U2qpm3jIA94E2UchrhNn - +ge257QNjq9V6WVPYZq0PmJVEu6nyToX7reia0agMdreYPGbW2n4tyouSqLKr/c1IB0yXl/Btf8n - 7auHZN1dKwiz5RT/THjXmB0XKn5KGEmFRdlE6dJY98LBT4QcgeYsYZ1TtDsrT6Rhp04gDdsAZd3x - B/ddp8Nrpne6MWk3w4aFAgwDw+fEwKIgGyoBD/4//hO1/fcnxwa9cL8Q9EV/QT56iVCztkvNfBIw - 8g13AdCfp+zHCPlSQrMgEm30iNCCcx9H5qEfMEGx5ZQg752Wf04ubimAh76YmcgUni2IQKYiuFKw - jPzZz4fBA39q6XT8MjCzzQNzZ5gfIaLjhCZfhha92iDUzk0kzjWcsHC1yQq5y4BWOYn5Sxpbqz2j - Z5tndRU0OZol97d+EO9hiid/tGvOJtFe74WSRJv3G0zBAl9fM2USDq/SPNyCXmAcx8aUEIzVL66J - m7KcdabAu+tx1Fis+jL38pzL9hY+1gNe+sA73hg5E0TaIirwLsPauqwgJCwLPwiJklcP/HfIW4Ir - SM8fhwK5bY71Ww3cBDvYPn9jvpQzFAwSIDAkm58nJ7xBuU4P1eufUH7sfmBBVFrnxLhfDxKo8T4i - IbUfvHrrX0BBuKAy/RY8iJZknWt7TcG6WjfeQ/wm5R42sw8uwZPgJ9ThCywQwF4+DR+NbZZ6VR5/ - Irpudj1RCMQLmuh27EOfaAcs/yIRzd6OJuMtkDSBet6PTOX2QHUvjrbW3Hx4huMF3X3Vhr07tz35 - sh2JnVnlza53YvtHjpGjt15zUYqn+fetsWcQGENGpuE6n45HPGXCMseJnPz9eRwrVbMpldGgBu5r - 1wYz1zjWTQ1U5NFeQmY9dJOJcIbXz58A59YVM9JeAeD3ibhFUss7o7R6gdzm7Fg+Wg6c9VEe6YLw - EFAyq7pYacZtxgg1R5NA9ezrUfveUWkw89unoDDnogf/tD5Z4W1fzktNSYTD2s+/cPK+4y7+aGHP - TVq4QqDDno/ZLQ== + hQIMA0/cOb+ElobVAQ//dofupaG7bBZ7PHCaRCU2ndYxj5FPmf6uW/LSur+d/JXrGqCef/VZ213W + QOUk+QgNzwZWIhV5jY5YxXZVCAC5y35FZ6jzoxFGrp1if/M34+Oi8VNc7DQ9kulIB1KiF9/P+fs9 + 7pnINsAipZbMRSXR02bf/SOo3BvoOHW4ExQ0nzVGqb+JYA37KbEjGmd6cafGtlG7Hlb3PfxmUKRb + 85aYTzTYG3jlE+kuV7BhjGt3pluWjA9R4rUgLkOsEV6YQASc+jTybG5NbN1Wy/S2e3wGgax1n0lm + t6g2nuP/2rvUYwGJsTMLgh4rEqlDZF1bpmeqXtjWemM4SMr186adpQ1abvVNNJiGse2/MOCz6sHz + GDWBs6lxK6uqys/Ur8nKUD5+E+3UI+j38PQtkqhwt3yF8WgVuV0pCxSsFXqXk2BQF+Re1sHC30wc + SZDxAPZbQKLiIzTgc4lKED7D3MuKYivt4u9otRkhPKQj3IpVPoa1B/0USKyjzTuj81R7gOh7rO2e + xXk0zS5XmLsVvrOTJOnjLDhw4j1nvPiQcUMcnfx2P/qqzxfrr/JdLmG1VP/xS7iS1n+X+jpl2N8f + 0/ZVt6NH3eoWRtesbiIWTpWHU3QUK/ZqOSR2Z3DEtegSsN0IsXpiCcA5FnLXOFpfziTNLwsevc+z + C7daNB7NO+jzgGv0gyqFAgwDw+fEwKIgGyoBD/0QLlNRNKdTvPFyogpZK375AOMteVUEhGuJOuaN + 6SK1KrKIirOSa8FIxkuzXPQA5BZAFLunZbfYWrgtAdW/eiCiFVPTViX16Ls/HEWDcZ4pPlNpHs1E + R0htJBx3x6Uxsxz1Jao0aJJJk9ao58eqc18tZCVl9p8ZKQcil7kcwHXXBq8bVwivFzoVq+nUctaJ + oA/RQw/2/gtDmq3K0cZDtRYdhVH9x9zyOtlb71xnhCQ41rd/FfOm3c+kSP43Aa23mF7nnV7MxNHV + LyOxfIboqWLEFGoQY7fprBzPdTTXEgT4uJ5pOEH76nxq6tIpfwAHeyiPuE26PfmCVw00rxU+5Vfz + wIIoQYMOFSZyz95uzqrZZWybeI/kskWXSxpKXuCQD8za14tSWiMUpzR3V7bJc2md+7CJ8hU0r+G7 + T4uUwTuc/0xlJn9MaX/W0+r0iM4FF3kWxk21OR41IOegWhB39GIKavKTSbc/sE+ElXqetMXHV+2i + LFFBz2fm90dnOUyLMlSqFiLcAfCjXqiDkC0tyymFVbfwF7I/edD1oYXNSOPRzYM2Rail7q5KF7QL + RjJMp1VeszqfGypDhSXlUaWPThpkm6XVt7ypZbQeVW+TbfrRL7TOptZD+fHlVEXgwHcfa34IizDF + toK1n1CUGvar0ffuJyLpdGCf/cgvmLYhlfgvWtKhAQrcPvMTPi5uY/G7/005a54iU5qUE+FM8VYt + D/el2zXVeA55GHDeLJQmQMi8ms9xUhOgNTbPQ+pn9NHXJpkmWB35qGPF36Mhph0T1pbzHZijbKkC + cT8LKC7QBGwVifqlA4YXtN9Rtd0+KPaBr0cFyRMd+77EF+LMbnCa6FKsn/fFd6kJrtXWZ5Vd0Iu6 + Kjzi/TY9SlmHaJuGQNBgbVxzEgo= headers: Cache-Control: - - max-age=43200, public + - public, max-age=43200 Content-Disposition: - - attachment; filename=3-incalculable_glaciation-reply.gpg + - attachment; filename=4-curricular_neurasthenia-reply.gpg Content-Length: - - '1150' + - '1217' Content-Type: - application/pgp-encrypted Date: - - Mon, 24 Feb 2020 12:50:14 GMT + - Wed, 18 Mar 2020 09:55:12 GMT Etag: - - sha256:3669a592a843705154a358257ab532dfa666ffea5bc0ed49b8da3f3a004e124d + - sha256:077639553f37a3bb59e731f18f87928e56b71460480256c55e40c67f3b034fe0 Expires: - - Tue, 25 Feb 2020 00:50:14 GMT + - Wed, 18 Mar 2020 21:55:12 GMT Last-Modified: - - Mon, 24 Feb 2020 11:39:31 GMT + - Wed, 18 Mar 2020 09:47:43 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -680,7 +722,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + - Token eyJleHAiOjE1ODQ1NTQxMDksImlhdCI6MTU4NDUyNTMwOSwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.NKix2NjXOckfqQ249FjlKZwW8wxCZbAxhBXm_0NOmKY Connection: - keep-alive Content-Type: @@ -688,49 +730,48 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/replies/0c89631d-c0ea-4a83-871b-6b4e65d4272c/download + uri: http://localhost:8081/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/replies/841cc66f-1d28-427a-8bec-375a072b11e3/download response: body: string: !!binary | - hQIMA1Dt54daawGyAQ//fHj0M++6UHQNF6PqlfRLJFDJjQyDxmvWILfG3w6hQXap3h3NRgcRT6ar - 7xfOEJrSkfXIt3ahosiVZ4M60OR1yvHuontMiVE1qixLgEk/h9NoA3QWwlmtU1u2fqS3xkX9o5F5 - /q6JpTJJeYqUpvKxcqiD87zsdXgok6Etl+LREbNrQsZx+oNCnfuoUb2IVPZL03doUVueQ8GhH78+ - wz9X78wqCDl4izZnCQ8XCqyj5H7mw0fdRWgT2edZiXSNm1WSlXrnCMojub0dPYAmqSM5AJXuhQFY - 99Ya5lGW2/PjaXXTsSOlaF7qvMOeNk80QWaj9HYC5T2CXNL6va71O2GDkU6ETUrVbqEow9j1BS42 - +CyYeJkm0uqi9FxzDpb3iFLbbLCIhLD29lsmTX7ZuhHq1fAU4WysNd+iJkuJSM3DxKlHZ5vbKDk4 - MX9DqkY+tfNPpU/uJTchtR+AySDT6jiqMtmbkcJ6cR9VhqJ8pMufA9tHKqmZQWYPikR/eF6oPrcY - au4aDZFX7ZK5RG7939mqALYvVq/dpweZHJz8ppIYVti/ouSb1oeOVJhaKWRpSIboejy8R0xdUnlS - DzQg6cjNkZLEXXz42UuKWCBt5ozu41vsWtrFjJ+xIPaXFR7+yiQs+0jy6Zr9WNn2FeoSPkTYueJy - +4Skjl0uKieC9eRQ8w6FAgwDw+fEwKIgGyoBEACvg5W6224Wmy1kpX5+nlZSFaA8Vuh/GVGHcTqe - WVWA4yeAlLWfFvePSzJRq4oGkC6/WJy6fcmJpcPu2UlueiAE9kYIM7LU16ZZBDVGIxFg7CWSn/Qt - 7dQR3fR1CB9vOz3drus5UMOCAxBmEpnCOdS3sBbEEm2R2nkgRCSlVPPuKzC8FlbYlUXM7K6l5IVH - OYRfAuTJgLrm4ZXST2aIR3VfDp4sZMT45sAuhkpZEFRb/tnTWR2Rt/nGzKEgTEcWP9J8qZhdMs5C - cPSFnnmOjmi3NQKR8FOltBz5q0uUX7xvPhVNHWCzMMX/Hkl8/jXgcZScW+BkKx01+8PDwEWwZJks - 2TX2BSY0lf+9kGCxZ65srmVEKi2e7dm2UFWFgqvtHNVKGxs2hKp/IvRwOF32pM5DcwXynDgXrPKr - H/3SLzv48emHozGFadqU0xrI32gCivvPQq/v2nJiO9+p6R9MXtwj0EZJowY7tshhPBluInzQozFP - +fyDU17TkGpte/0/InhWIHEvVg9WbQdVBmtdWNvEHgd+rEK+Jc8scJ49Hf7r1mv753DTI5sL2Jk9 - zYz/1h4NAZ8c2nmgmA2HlYJxx/I+ImM7ra09WQx2PXU1QMOZOCgTHlBlXA4aqwwV7D7hFptRwxYr - QQaeS3Lh0xchrt3TVlAouONKSsAgjEK6Fu3F9dKiATfhvWRaZyLJqjOTNg9wVcS6KHWaPq5NUysa - FP9jsIM8DH2RQ5ipp2cZX2mWNRScvFzvQkU3gcMTMt/FuCEdI3DjHk9oTonxKu0808WXPSkvlbz2 - rUdIgAjBGrGOOzRwqcLbyH7UxHQeLC5MDYVgkXSyVv5d+K31PnZtrGUruHfe7C1KYU77VvMD3aGo - 9jygfcxC3OVs4WDuWof5zKZGM3Lx + hQIMA5sYmQnsmrlIAQ//fgsAVL8HxVx238nQfj8QRSmvlYhJpclVZRtBBvNoqQh/DUc8K0FOQteh + rpbGpFhD7CMevluzLvaYO0aN0h/jyqtCANgqbkm0XIFrf+ZBKMatsGzp6thHwBWtQ22iVJJhqRFP + CZ7e9Lrt8awP0Bv5m3i96WatIkPXzoA36y/mwwQcQmm5g+uNQttxnUWC5tS3yZDJN2BkQb/gyPsq + YvO7n1bTk5oGKvNwOEoW3MF3genMAtLLJRAeXJaPgvTerPQcZtvX6fV162a9dtcDP5+U6zpdsTXU + 3RTUWLcfX3AIfPANZP3C59fUyaf2cEUcO/ZWC6Nn/3cRndO4ks317q3k+iQ4SXEP09ZjLQ9S6zh+ + lREAUG9LobeB/n9SuH/iqDsGAlBQ5Cvl36Z2swsJpePs/VQRz++ci9LDKQBWl7jaeDGryuXINKVA + l66M3HoQ8ruEBX2ChSSD72Y9CtN1O0pqjjevHtmbeYl04szxPy3nTZ7VJSKoJw3fkZCfB6umohps + /3V0vCnB+8QhYWQZxPoggUygCNCXAmB935dNnNIsdmecr1YNgElaHk5N+/pn3QYFmUc2N2GWhf9X + HNYFmSPQyoi13eZ/RVkYly4qPJbURVlO/7CMpniFlHGpcSrshYpM52YXe09bp+N+mMEQ3N+CsCk0 + 5PU+Ti00KJVV1U+4zcOFAgwDw+fEwKIgGyoBEACj7mepdx12fZXQjdoFmDEX3JHTFs8BU2EPtf8I + jn8ZbkGXmYhGwiialkP39z5lxJ6Tv7Y7rdrJCikNMo05/kpr2WxGQAQin6gBCy2xN/nWFrf+RcX2 + 5p7PW8MBzr0/8xyVIOh9xAHt/7RabulN/fmnscrNcm1Yqp6hENrzgRAghWbNEBf+IwxnexBDjDuZ + K9ng0rJQd8pnucQ6EMid/Q0auGY+hOtp1iBDWB071jGj8iU3mezbohbE+DcaNeEvmkGaL7N6jFG6 + BWg2PIfSImPGY7tbFMN7jH5ZNhIypH3710AOWQ43vQT3GeNBL224/kJpnSzhOE8cDG9HpxyfmjGk + Sob5i0KzpndC4WK1TCjLEvK0uqM3H6K6eDvRnEmvEMj0xtHqwa1INCtw64AMDalChgacRFljwRkp + 7OBzysYjrmpwumCE9CsmLgvWPpItfyN+Z/ty0P08+VXs56QTMZXFtX3qgW5tqkakq2OlA6rQdDSD + sw1ZROtl/V4lt0phtZPNOfd2Excb/UfZRjuyg0s/YI6q4w7cW1hLc84bIjof0aeN8izNoDzbvzDc + W4o+Y2Q9f7KJcYvAC31PEWPX+qaZY9KkYOtHkKwx20O9yCv08pdcw5IoC9XgblGURMA1fCqwHrjX + zIAdUlnrQfAWqAPpE1bAuzzQZrj4JeKYugvDtdJdAW5ed1AKXVo8tZHHCIrTbJjroJqL0jhRgsbc + O5Vq6guAeExGdQsJEFVSMGJY4EQlXa341x1FLO80BbarDzNcNzskH8aQNxytdbhY8nuOc6xhMTHq + OQ1zupKTY1f0 headers: Cache-Control: - - max-age=43200, public + - public, max-age=43200 Content-Disposition: - - attachment; filename=4-incalculable_glaciation-reply.gpg + - attachment; filename=3-headless_quaver-reply.gpg Content-Length: - - '1218' + - '1149' Content-Type: - application/pgp-encrypted Date: - - Mon, 24 Feb 2020 12:50:14 GMT + - Wed, 18 Mar 2020 09:55:12 GMT Etag: - - sha256:feaf5a9de0d1e14ddf5f444a5ad530ed6661abf731560341536821e7450ab154 + - sha256:85860244bb5fe87348ff5a2273eae54a85e61228cd00cf24dddad323273c2638 Expires: - - Tue, 25 Feb 2020 00:50:14 GMT + - Wed, 18 Mar 2020 21:55:12 GMT Last-Modified: - - Mon, 24 Feb 2020 11:39:31 GMT + - Wed, 18 Mar 2020 09:47:46 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -744,7 +785,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + - Token eyJleHAiOjE1ODQ1NTQxMDksImlhdCI6MTU4NDUyNTMwOSwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.NKix2NjXOckfqQ249FjlKZwW8wxCZbAxhBXm_0NOmKY Connection: - keep-alive Content-Type: @@ -752,52 +793,49 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/sources + uri: http://localhost:8081/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/replies/062a5ead-b32b-44c4-bf31-2bf89ee0bc71/download response: body: - string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/add_star\", - \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": - false, \n \"journalist_designation\": \"bracing population\", \n \"key\": - {\n \"fingerprint\": \"4D368CB030CFD1C9F04E1EBA80EDFA1DAD31F615\", - \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEAC3wwgst49KS36iC2F1VIsm1Ao8nRheATmYPlO7OtoK4T4NJUqa\\nMlOK5BPeIAkL4DuaJ7XU56JcfG07BJzoPFtf4ecAVBK7R3bZMkAhza4EE9QH4prM\\n4b6GLFUaBHRaPGKvxbl3uq940KrNUtiZNf1BzbPGn55L//2PTgtIYmoIRWv85ZTL\\nCTOu7OZ+MqNLQoT5kbipBZ1Skdgawj/TM85hpKXm0nIOoRYvAFL3FBLT3jUPYoQz\\nYNUd4B0N5wcKX7Gx7IfhnUJEhquiZA3ms6H5EisDhpuWDeyX9jFcButLeorQKwm4\\nf4rGommcJ1MYu17EMcAA7uTMTwF4w7ZZMcK1JcyQnEqHKsnG7vF5TdFeCEk4dEfN\\nfnfsRSudzpYAJnQV4WUH0tcn9enE6SB69IAhVfQwIG5FwGvGK08KvEIaIfbOytEK\\nNsM+sAOJb0S/PSdDG6Dy/hDFfOBPWXTulvvXAoVL5bME9UdguvYm67Iha6oDUVHc\\nL5xvcPt93Jl/l8C9wHKPVjoXl5UNloWjpdRFzwZG8IaMfGYvn9WcQLjvT9jmEmue\\nO5t1efiC+uiHtbHHuX+ds0GGVPTKDycxyDxI1AkyElM17nm0GSJnHVymMkl8SvNL\\nr8ztqJYoChL6xJr+1V4DjuQLVR28B0Exv891wwRQZJHl4yHYCyRGHDZ+iwARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8SUVGV0lHWDNBS1oyRkZPRVJVV1BZRERKRDRS\\nVTVLSVBOUEQ2M1pOVFNFUEc0RkYyQ0dTWlRaUlA3U002SUI0NDNRTzJMVk5aTkZL\\nSktBVVNOV0hVTk83VkgzNUwyQzNXNVRHQ1dTST0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEIDt+h2tMfYVIJEP/0FRr52RAfgR\\nfdTPO/NpWtXV3mAlFmFDw5Nxt+jqGc0D3dcuDoATEilgBGqw3z5Amugm9A4qN+Mp\\nfutUT1q5b8oaDTohM5C/CAIgACYr6uA3Q1nyzkSZmAbNATNS/CXNBSsM2tb/CwaC\\nrj8EZkGDiE9qTLcdmP+z2ZqufuH3OvhO7gP+ZvYJJwai55+1w0u7kAfXGIUrAUy3\\nbRltHIRaPoESq9/09yvoc+1yPHQ3g6p/kBPQd/Pq9jIj53JVvOrvVHlXS+atCXsB\\n4hOpe7FJt/2h1q1MI0zDLY3j9IBXYpd6zI4kZi1iIZ/zWaTENvW2Q2IC6Yj2z4nU\\n1BDgKFJgQnP98JsTeUh7OHSfoquSCtRSWCYxZ5CfSgTw0azQ/4rjOkmgVKEAVO4U\\n3xdTshUjBuECnNRd6LNhz6Bh89rNK+saOunC/xmBZ4zfjvYpoyZq9cy5/O2iU/wB\\nsfnoi8Fy0F3hTjWr4+/xBJ7NRWK0WZlNspklcmUShwvM9vU199hP2RaJjapOLhjL\\nIJnUySE9BdwHugLxMHfZZz2M7slBUWe0yZ6LtEdyZY/A3Es5mv/iUCW3PDeWXBq5\\nGb6MhBx/UL/CO7IIOX8u+05IJEzs+wq4ei1rwAEbVZe0NCxLY/Gg6vaeCazaVcZs\\nFrW00uKSGxw+vOZquA9tdDRGnJUMLByJ\\n=cniW\\n-----END - PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": - \"2020-02-24T11:39:30.647449Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": - 2, \n \"remove_star_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/remove_star\", - \n \"replies_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/replies\", - \n \"submissions_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions\", - \n \"url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", - \n \"uuid\": \"9107a14b-0c96-4900-b0b1-65b7f39c5a27\"\n }, \n {\n - \ \"add_star_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/add_star\", - \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \"is_starred\": - false, \n \"journalist_designation\": \"incalculable glaciation\", \n - \ \"key\": {\n \"fingerprint\": \"1E2236AEFA14B28C41A7720750EDE7875A6B01B2\", - \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADBherz3ZtIi6WxqeSf/Gf83qBHnmOaL93F+vZHravlj4KCyA3H\\nImHx3Bv1EqCiyCwx9RaLSnFlVI6PqSkr31kzXl0EVY+dU78a1GjZpEzCl7vqVVAp\\nv53UIWYiCT068hdNvaY04oNHar3XhvBKa4A7VUjAsI0hiIkKCOTDSNnT/UfcXIV4\\nJYAJDNDdeCp04Lg1I65LTR5PbGrlZTfSErhZhpegE0mkC1rczdpP4gWbTU5PB/QP\\n5EUK71tcURj09zaMeEqupqi8O4ulKRzlZfj6F/c7svkJ8e7Ge5IsIk9d67KfhZvo\\nm7vJI/vBa7mzOiypleXK/iXk/pA7joNWACC4FccQlQC3cSVUG4HJmHduY5EjICIX\\ndCXZSR1wG4h+3WxKgbL0mTv7QAlKdrujKyqmhn+JI29tcqcJx1W1i3mDwfsRM68b\\nzL2onMAbhI2jfqFEgXJaePBXACKPlCOKa0UMAWYjygumM95CXD4bRvtcXZocrach\\na/v4ZdXBoPaMfWOwC6U6f95yWDt1fMRxwJcEPeswSWixfgD/5NqafeszQSZafH7o\\nLPu2tODlvIFs0DXUlQo1XSFr40yl3LSTpm8ZmxbGqj7kg9GVtwGT9Kht1pHUUPfe\\nrL1cOUM3VEyr7wGDnFDIbS+GYhNguLXCw0vSh1WN2d2qwUBLtpF2k4Mg9QARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8T1NNUk5PVkpWS01ETktTTVkzUjRVVEsyTDdY\\nTU5aVUdVQUdCNVpCRDdPVE1DWUZJVVVES0hMV1pJQzU2SlFFTU5UNURaRDROSjVN\\nUUpSUVcyWFlKQjRHQlpaSlk0RURIUlZMM0pNWT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEFDt54daawGyNNIQAJm7ynrvStO8\\nqgC/E3xWoIEWBjZ6FWnPrWuVOdOq6XLCPUXtiJyybQpXaKdISemFPVPtlyzGXIw6\\npoiJ8KO5GSzy/QQNf+iBUxMDxxzEoTq6GKWQSEJrgvIuaIdOqYm2EjBuwCYoOIit\\nHRFs/3kn89gAlFpfe3iGIEfd3ojyxnTyzvKe0eivUexIQ0Di5lYcR3tH1Eq7BRjt\\ntgn/8pN6nDLoLyfAcUD5E80lopA2CXp/KIUQfIWRd1WBfSXqju1LYHGN+fXoAWTY\\nOUrFw44xtnHGknyh3mBIBA5RT5LWh3aA5FWZKibfPnxa0Nuyklp9sPmGxCT45/zk\\nGn72guXk8W+zWl4AqeFb1rVOav9Tdjtsnsievahgy8A/JsoCC3mu6PKR7h1BpW7q\\ne5h5TXx2N3GtOvQyff/qA3yHhwMDTyT0Wg0pYZ99tXdUMCaRAMtC8GeLQxNlJdio\\nZ/62YjVhbQIzph0QRK217rfRc55ojl4L74zIwT00U/P/EcvOxTHo21W+SoRQ2U68\\nXn9qjtDYARB/7DOc9hpz6/fzc2inRyNuvdF0RPy3QK/fbKmSQx8C1BYJPR/Y90yB\\n5/cyJHScWEsnMUHsQNrhpowNSrvK08ohyTAm1ZA2kBHggZ49FMK3JB3mcT1caw2L\\niG0Nd1t1KeVbkLuSph23mIFvticwlII+\\n=j4Mk\\n-----END - PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": - \"2020-02-24T11:39:31.673199Z\", \n \"number_of_documents\": 0, \n \"number_of_messages\": - 2, \n \"remove_star_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/remove_star\", - \n \"replies_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/replies\", - \n \"submissions_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions\", - \n \"url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", - \n \"uuid\": \"b1060583-e92c-42ae-a2db-ed87bfc597ff\"\n }, \n {\n - \ \"add_star_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/add_star\", - \n \"interaction_count\": 3, \n \"is_flagged\": false, \n \"is_starred\": - false, \n \"journalist_designation\": \"certain iceman\", \n \"key\": - {\n \"fingerprint\": \"22B24948D0AC0A209898AE9B4C8DD10DA2399958\", - \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADEqEvEhjRVM0R8EhTSYQ7T00mW0VrC9Z7WscoNcnYYJGJMuXSz\\nkoYZ1+BIPfnODYWvLZS7UD2njpok+cBdud71inspuhz7O1xnsiuJUtakzMvjeUv5\\nJM4XviZGELim1awVnbJ5d2mOsSdAWuev+UbiNvM0VczxV8+dYljIMYrAvDbXcHpU\\ndeurrH5uS0Q/1Pp5aAqADOJIPstS0j7xoPKu+GJd4PQe3sT5mrRANpssF3N8KwoC\\nghajAyU9nY+w1R17NTcCtzJfeO2j6XQNteZidmBkmKexkxwlEpp3DKWd/1/0EWr1\\nD0ae1PpddNcPsK2pwNYhC1VCB5i+WQBHblI7NBZ+s9f6uYmlN3IUTuzAIJbIYILu\\nj2190HtS1PZFFsbc0d6Ke80mC9vswedu6vnjLpLXK1zGR7zd5rHoCtRhBAkxa/v1\\n+T2GTuio7aENtAymy31w0V9HE/4FIiq6I7Q8y+M3+n8cuEAjJ+YdqlWpejQZIBYP\\noK7wIADE9Lpoj2zFtMX1J+Wesp5w+FC7SZleGG+Z3ehTwjDbQwjfSOOPrgYmIYDj\\nO74j4WGfHRiNRUbbedrZdt5EfsiuQ/gGJpJWe94PyvRYfLakOtRVngc1bhpm8kkn\\nqNp+DMvqdDVxsioa+wEWk4FuanjPD21IJbTGCFg2hz38QbK1At5KZv0MkwARAQAB\\ntHxBdXRvZ2VuZXJhdGVkIEtleSA8RkdIQVU1WjRHM1lOMk5HTExKM1EySU83VjJB\\nWUVHRTNBT0FHQlhITTRJQ0Q3RkFZVFlEQlo1SVdBTjdQWjdRTzI2REg0WUNNVE4z\\nSVpWQ01WRlNaVlREUVlBSFNVUENQU1M0RURXST0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEEyN0Q2iOZlY8fIP/3enlkjedzcq\\nnwxWruBgzxdH1gp+Y0o2yfn9AQus9MciQwKjSPhq0De18fDhmPnhU2Qchj1XSLFo\\njpzGoxtzX504SX6hnZIKYGAPT5RAwrF+pd5iaPC7DZCLiR2ZhPXCeJdMBx4xTzch\\nCL3moz+U0I37qtMMAXaTRgjSdrTSsuazenlWpwDadEcYyMVx5Uya6092Hk0V5VRJ\\nJEpIMqy+YGNsOs+0gXr2jevCelpwVE9WTmaxG191a4597Ie+Tq3s+9eaOjZ2opyf\\nITbGkf+2Vc8+5xZDs/uLnU+bkRYrA7WjHu/6a3dIehVEgk3CIY1rxg7BKNMyMAMd\\nHlV+sjrNSAQvLPRpjaPJCuyCO5MDqW00aepJDMN6iYM7EonWMGBa+JbCy5/g3sWm\\ntuaPEs4inDGi4tj4jBd5kUUkbeuXcDJIP/MHcaJQ/e73opisscPEb4A94ErRKWHL\\nJA+WKfSst/nyTUYBj6aIV49F/n4KVLto5qvbXLj+ACXaQgHyQZDw1Oo/T075yBzi\\nbDuIAmKD72ZLUp7OEYuaUTzJrs5yP5kygu7mp2awxrya0LE8uFeQNp47OgOdDrIl\\nuZ6lgF2ri1DzAFsWPcg+6BlU8MFYelKXv92FgrIeD57OZghX+k1das8Gjvkcwb/2\\nmZdBt81ZebAT7kKOeJPkyXA52gmUY9yA\\n=4PxQ\\n-----END - PGP PUBLIC KEY BLOCK-----\\n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": - \"2020-02-24T12:50:18.973787Z\", \n \"number_of_documents\": 1, \n \"number_of_messages\": - 2, \n \"remove_star_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/remove_star\", - \n \"replies_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/replies\", - \n \"submissions_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions\", - \n \"url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a\", - \n \"uuid\": \"d9992fd5-2d32-4fed-a619-30f869798b5a\"\n }\n ]\n}\n" + string: !!binary | + hQIMA5sYmQnsmrlIARAAmWe3tC/IcE5u98PbFRJM3xoOSvFYBui4uToadoSAQPIsjMTwf4O5twSx + TZ7ToDMLigg0rS9K27B4vKHou2Xj7m4wAOFGVvcKJKQhjye7P0hcX6+0Rtc1mzSpFo4L2v0imvvg + 1JtAbuZSMnn3TAajK++0CB8yS3rgsLUpMHe6GHH5WALYAxasmb2IROFE6PASw0z0G71mOFRAKVWi + kuBOh4iHYH3WHlEcfH2O1l7B/oqeYNK1kuK1uFQ65GCgxb9pMOQjhpH7E9L9GYcz9UXQE0/zQEnX + FHYK6lzGj6iLNAz10cuNcZF8TOLDsdYbHZK6O4MJMqYKuflaLkAT2JVYRZq8UnftPWo9uTXwyi81 + gmlsloZvwwWDCWumcHaG0r6bAsoL4szQoIgbWJd83o/bdjq+dULxWZLw+A82N4NWSe6akV3RoBx3 + 6E71ECjtZEzogclNrNXU6t9+HcpcJ5J9piUsImGn7b04AM/Hk4IHYNMQkvBd+6H2gl763MocYabn + BgOQolxsdlnrqrcq5WVard1VLPWmuE0BN0B0/sCXMC102JZvF9L83kTGmd6T4WtajW6H6gnOVQ2i + z6fgpdMqgeq2rP6YvI7Lrc2Ccl1WQ4pnFJLm+XLrJKni5pQaT2HVkMuNQqj+Yt+Tztl37sP3sn33 + W5y2Fr0D1QOex/oT0v6FAgwDw+fEwKIgGyoBD/sGoLeegdRHBOxqQxs1i8fkedSwwZzQzf5DtZUc + NsPjMDSoxOKyELkpY3PRCFDavw01+9IUrbFHe00l7QVsAg6DZpjQk8wH9UTt1vgFwoXLr49sNdM2 + ar0bOuacumVAgbG6MdQOVlZy03d6qZA36VB2bhpLRPX/cZ/eKFyQ+dqkfI2bSGPEcQu22X9bcaoq + PCJ5qpZc2pvpr4/aok9il5GjUfXWq9Mr7aNiigv3IbzJPiXqqa463qWkVdHdQLbr3VItzFKU7CHZ + Hp75VbKasz0nx58bYXiJFbQKk6S1Ct2K1cIFgNb+o20rNusH6vQwVen17hWhtzg0S4BpnZJzNjRJ + X/x75T3dB3L0GEUk6I77uOq/4k4/v/4NzljKn19ksMcBP6gBvsXMf4h/KMonnx+fjV2IbWISlA2q + Zwe4b4ULv10Lglz41kpAJi/qfzc1BZkyrfLAQ2LiRlTvGfMkkZy+ctrdRk8GxnN7a0mVNeReMi6C + I4vmxLlJoSNtnvKnTuss0Xk81gge3Z71ZyulahtV9riIgal8yoqE266eomKylxt8qFPGBT7fdVS+ + 8vAdmxKMGt1ElDz+f3Yag/QBPv1GbElzXDwKTkrVOS6XsjKvIkqnVdrGpivePggjaiK5/Jp1AZQ9 + OrrA1zXs38OASWywSALn5WgzXa7itTBzpsfZEdKiAQn+dMK3+fHsGrnWO4X8SkKXspN8csRbTZtc + bcg7wkMKUyk2f6I6V+7wDWmVjcMmX7Q//i4Wtm9B5rkQAosckSJsJpm7/+xwuDq99IYZIFuKCL+o + 66lbfEgRR/1JmZ8+4ith0FGM+Q8bM6pZSrdPvPr1a1s3VK+sfTT8wj8ggVP78zD7MIxq0TcLI53w + jiTkvBE0uWYNQhWpjTxT36DnjQHG headers: + Cache-Control: + - public, max-age=43200 + Content-Disposition: + - attachment; filename=4-headless_quaver-reply.gpg Content-Length: - - '8017' + - '1218' Content-Type: - - application/json + - application/pgp-encrypted Date: - - Mon, 24 Feb 2020 12:50:27 GMT + - Wed, 18 Mar 2020 09:55:12 GMT + Etag: + - sha256:0dfd9029e3813628c0325a589764ae6cb3d4d25373fbb55ee2157b72ef2091fa + Expires: + - Wed, 18 Mar 2020 21:55:12 GMT + Last-Modified: + - Wed, 18 Mar 2020 09:47:46 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -811,7 +849,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + - Token eyJleHAiOjE1ODQ1NTQxMDksImlhdCI6MTU4NDUyNTMwOSwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.NKix2NjXOckfqQ249FjlKZwW8wxCZbAxhBXm_0NOmKY Connection: - keep-alive Content-Type: @@ -819,51 +857,92 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/submissions + uri: http://localhost:8081/api/v1/sources response: body: - string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/b9a96403-e68f-43ee-bebb-41e354308cfc/download\", - \n \"filename\": \"1-bracing_population-msg.gpg\", \n \"is_read\": - true, \n \"size\": 628, \n \"source_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", - \n \"submission_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/b9a96403-e68f-43ee-bebb-41e354308cfc\", - \n \"uuid\": \"b9a96403-e68f-43ee-bebb-41e354308cfc\"\n }, \n {\n - \ \"download_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/52daa27a-6250-4ebf-9ef7-7540d9bae95a/download\", - \n \"filename\": \"2-bracing_population-msg.gpg\", \n \"is_read\": - true, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", - \n \"submission_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/submissions/52daa27a-6250-4ebf-9ef7-7540d9bae95a\", - \n \"uuid\": \"52daa27a-6250-4ebf-9ef7-7540d9bae95a\"\n }, \n {\n - \ \"download_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/9010b9cd-305b-4b1d-bbdb-a679867560a3/download\", - \n \"filename\": \"1-incalculable_glaciation-msg.gpg\", \n \"is_read\": - true, \n \"size\": 628, \n \"source_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", - \n \"submission_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/9010b9cd-305b-4b1d-bbdb-a679867560a3\", - \n \"uuid\": \"9010b9cd-305b-4b1d-bbdb-a679867560a3\"\n }, \n {\n - \ \"download_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/8552132d-a6a5-46d0-b078-d6d1b15a16bf/download\", - \n \"filename\": \"2-incalculable_glaciation-msg.gpg\", \n \"is_read\": - true, \n \"size\": 694, \n \"source_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", - \n \"submission_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/submissions/8552132d-a6a5-46d0-b078-d6d1b15a16bf\", - \n \"uuid\": \"8552132d-a6a5-46d0-b078-d6d1b15a16bf\"\n }, \n {\n - \ \"download_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/9ad72b34-f338-43c0-ac69-1f560331c9da/download\", - \n \"filename\": \"1-certain_iceman-msg.gpg\", \n \"is_read\": true, - \n \"size\": 593, \n \"source_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a\", - \n \"submission_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/9ad72b34-f338-43c0-ac69-1f560331c9da\", - \n \"uuid\": \"9ad72b34-f338-43c0-ac69-1f560331c9da\"\n }, \n {\n - \ \"download_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/59f86145-b78f-4996-943c-d5467100b7d7/download\", - \n \"filename\": \"2-certain_iceman-msg.gpg\", \n \"is_read\": false, - \n \"size\": 599, \n \"source_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a\", - \n \"submission_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/59f86145-b78f-4996-943c-d5467100b7d7\", - \n \"uuid\": \"59f86145-b78f-4996-943c-d5467100b7d7\"\n }, \n {\n - \ \"download_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/aeb8a062-c8a5-40fd-ae73-2594d7326594/download\", - \n \"filename\": \"3-certain_iceman-doc.gz.gpg\", \n \"is_read\": - false, \n \"size\": 12574, \n \"source_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a\", - \n \"submission_url\": \"/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/aeb8a062-c8a5-40fd-ae73-2594d7326594\", - \n \"uuid\": \"aeb8a062-c8a5-40fd-ae73-2594d7326594\"\n }\n ]\n}\n" + string: "{\n \"sources\": [\n {\n \"add_star_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/add_star\"\ + , \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \ + \ \"is_starred\": false, \n \"journalist_designation\": \"curricular\ + \ neurasthenia\", \n \"key\": {\n \"fingerprint\": \"BDBC302C1854CD08561680334FDC39BF849686D5\"\ + , \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEACuYw3A1PVmUlJFTQ4h6BsjQJtdVhTecmeFwJmZ6Lyt7VgXXmD4\\\ + n53VzHaJy/+9pKtz08PP10l7irzwu5AjSWZQ3oDPVFxvwxHBYGFDToBtQ4o6MqivX\\nFveBFOgpP4BpXJ7ZePrxxAfzCP2UblIfzYcCGD3VaaDAfQQOXJAjWAfCe0aw5lqk\\\ + n9iYvYVIxOzF/8aVcoYuV+D6+e3qL8k/XVCkC+JzQ+xpnNYD606TmNo3PgVFcskHu\\nPfY5udPeLzXYX8t58/JuljJrgx62DtsOfnqw8zJFRiSmuSG87TB1EHisDOTt1jlH\\\ + nZIET3TTkE3xXy6jm8Y39qeqID/kMmdEtgM+91rZ9nvuJjhpz8qQx64gmlZLhk02p\\n4ZH0w+t14QZDPoNBjfwys0U8q2fyrjsfkw8cPTKN/0EbdEqDA991jBJ9L9Iyahgy\\\ + nnf75+I/FSHT8sYBAqefFRGq0Qewg7hKISt7hOeJsutjRCXqFJPgHf0AUTdsYyyFL\\ncSZioWUCHL7X/FR3Wy3nLYUopbwxDHEHfNuDBYLuG+P1ERQPRIhYk//WaDj6XiLo\\\ + n32yCxT5CWVXAZ9SCxNJUFfg8lxWGAdwTFcmoYdoT/AE0WS/bjy8lawZywAH4wD9d\\nXGf9L53xOMjyc63Kp3o/YtOFSzIbIY01/HzjVcF3SaCAYd74k8uWS6NylQARAQAB\\\ + ntHxBdXRvZ2VuZXJhdGVkIEtleSA8RVlJS0FaQ0tOSUhSTUo0VUpaWFNGUUJIT0FQ\\nQ1lJSU1VVURMSzdVRUJPV0VVVkpFQk1BVE43NEEzSjU1T1dSRDQzMlZaU0o2R1E2\\\ + nT1dTMzYySlRKNEhKUFpYTkFVSkI0Q01NVTJOST0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEE/cOb+ElobV1YcP/AwqtYprj36G\\\ + nG1RtrecmOb8Wfr6FxUx/8xKiYwA6suFvah7vLyoLOZ2k3t6M2Gq8w2fIQ4HXpPUK\\njAiHyfKARDSU34BrSEwFYYcjmLxiz0nsKPvNZco8SOcfTjp3B9Rch8h1NLXtQuh3\\\ + nlQ9UOHMxxdUKgT37RMGo15uAhR0UAbqPpD+3GTOPLTLAinCiDS16N9vUdNzNYLvQ\\npzH36xTGjCWoX/L0XZS1+G2tjgfpy+bAO3CbVHcxQCznwJ+Et1p5iOSmrEWSLAVi\\\ + nNXdT45AYtCJw88nstPpFZuwWSL50q+d0etT6v3Bl27IaXgifTMXla6YDWFKywaC5\\nZ0TihN77xBhW9COJBkgawtqWYpb0BdyDNPJ9KKoQ3eGFzhepcABrRkBIrBAmW2Gq\\\ + nR2gZYuDhWKs4k8bsGztdExbKU+nuZRWNxyWhsS+LrMk794qB42V+ZY9JfLGheG9U\\n7O4BW/ag1Yi4V/FwRQKKYgTM4iiuIy26U3BQ6fNs8R77Crfw6FjzIhUKqmVL9+vT\\\ + nTborNcnhGPVrIbcq+EEzzwouwd/0LyPBAijHMXVj2uF18kWjIWOw+ZzkuX4zgx22\\nunbKfrzDuMiGQp1NYI0CjnL4GOcQAP7U/9vGY9wJQzxgoaOZh7eS30LQ44aQMf7H\\\ + nPpda8hTZr9i8DhXT6ecbCvs+yOEgVPMm\\n=uZLW\\n-----END PGP PUBLIC KEY BLOCK-----\\\ + n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": \"2020-03-18T09:47:43.450274Z\"\ + , \n \"number_of_documents\": 0, \n \"number_of_messages\": 2, \n\ + \ \"remove_star_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/remove_star\"\ + , \n \"replies_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/replies\"\ + , \n \"submissions_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/submissions\"\ + , \n \"url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042\"\ + , \n \"uuid\": \"756841eb-32b0-44e3-aa19-e2f8ab71c042\"\n }, \n \ + \ {\n \"add_star_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/add_star\"\ + , \n \"interaction_count\": 4, \n \"is_flagged\": false, \n \ + \ \"is_starred\": false, \n \"journalist_designation\": \"headless quaver\"\ + , \n \"key\": {\n \"fingerprint\": \"E1D2030A4D84E266959863DD9B189909EC9AB948\"\ + , \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEACqk4MLFoJ0uguNYFjd2L9VyWreGXovbl4Mpm79Me/O9WQB/uzF\\\ + nu8LllOPJGfYKOlSComrbzGHy+uRyY5SnERt43F9CrGhMcC5BeX5FmOGlDIJj6g+l\\nqYBBa5UaMbD0+3LLC8drg8YmPkx83B8+iaeqbKxI/DgMHzuiHPMnIHvbukiOuMda\\\ + nRK3bl+1zoxGBh42pklbjynMmZUO2pCIl67aQEtG5FKVB7XV3ZfwrAlXF/8fYac3k\\nMfqC9D0jbItpRtYa6l65MEaIk3EigIzQacx6m+h5b1DDWJZNyzp3FNiQVNjb+Eom\\\ + nZlQdrU+ONUqV87jZrQ1EJNuQx+7EFsxhFqL6S3Yg7ZU4TwSFCrvV/MBX9o1nVuNW\\nHGCGt0bxGHk7115rbeQz6glw/UJMc8fjJrrK1wunUgWjxVHMtkKS1I6kM1GVhbLW\\\ + nBquCKZY498zDWQ108ADlfZjlwcRs0ltHYVnUjkEgv09Nf1d4jpQ6ayNKydMB0qrQ\\nApLBapnNdPqO7Cd0RR3zCjOQl4aRks6K/N3mQJGtRkCeTFfKIQVajD3aLPMvgbN6\\\ + ndcK+nuL0hIJMYialPBs4kgxhE0Z5fdbxqKscx3FVR9oz+wncd1T0uD8+W0maaDkV\\nbeAKqH3nZYUmeKXKDiVI3qQYftvH2asoST0X3TRifLbHMFbzOWmgyCaIiwARAQAB\\\ + ntHxBdXRvZ2VuZXJhdGVkIEtleSA8QTdNSU5RSERES1dMWEk0QlNDRkNLQkE3RUFD\\nN0VVNkZLQUVFV0VOWlpMVzVYVlVKVkUyNUFORzY1Q1ZYQkpSN1QyRVFXT0JQM1g0\\\ + nWVFaQlRVU1JKQVVaUDNIWUhNMjZMSEFONk5CST0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEJsYmQnsmrlIbAgP/1mPLV00OyuU\\\ + nb2ldxdv8IC8hvBwWw1RR5oiof7WwjxmhgB5rR7xNDZvEeJIoG52ClIQE/j+IJ2ul\\n6S+2BTY0ulx4r18nnBcMGT18ICGyfkMV1f6QNyvwBh+EPkvlsJMMYxF3wBWzPtNm\\\ + nXFbCHBKw8CcupJtcJaUqlVzDwoXiH2qhjRGFVIaQJUi/OVFzdPpQkYZUCJUmtWIW\\nbB70gUrepZK8xCqsQ58+8MyCw0gbC6acZ9/Uej247OUYGsmA5dtMl6vdDPP74rGA\\\ + nG5j/QlJqZRgdME/KMo92QO+TJRloE8ZWB68/BX2MDWBdRMAU9fKFyMVxxtFTucJk\\ni590np33xDxv9Bf35rYQAjB1FXIrBR4imoUuX6qQJD0jzi/l/IpNzJld5UY711j1\\\ + nTW7G7aF8+uahqCYNGnSWyNlfiTro1E9fJws0RxVMK4/D526rJfYq1lAJ3xQUrzam\\nnuPwmKhir8X0gEb6xzRqSzeBjzYtF9bkfYPm8EW+SBYqEvswdjFKD5Qeo8aB5vAd\\\ + no49V3l8pW4mfIQlnTCyFYYJazfjEyPpizueVlyTMWz+qXZtlbCzNet3x/vR6w3Ay\\nWZoFewGEiVCT32VfoVc5D56Ifi6exlMFi0/eNhNze50gr8X+1ReosfFspqQbtGfS\\\ + nSiQUk5RkAemLRGG4YnUecYLKrkBO7hE+\\n=z678\\n-----END PGP PUBLIC KEY BLOCK-----\\\ + n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": \"2020-03-18T09:47:46.168907Z\"\ + , \n \"number_of_documents\": 0, \n \"number_of_messages\": 2, \n\ + \ \"remove_star_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/remove_star\"\ + , \n \"replies_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/replies\"\ + , \n \"submissions_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/submissions\"\ + , \n \"url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6\"\ + , \n \"uuid\": \"79600826-34bb-47e7-b45c-945974c3e7f6\"\n }, \n \ + \ {\n \"add_star_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/add_star\"\ + , \n \"interaction_count\": 3, \n \"is_flagged\": false, \n \ + \ \"is_starred\": false, \n \"journalist_designation\": \"symbolic cumulus\"\ + , \n \"key\": {\n \"fingerprint\": \"393842A8D90B4F453153DB482A31EB832BD808E9\"\ + , \n \"public\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----\\n\\nmQINBFGRfoABEADH8msGnSoyOPnrJUY2rIKERbYLwS/gUxIKzQUGgyv9rWaFOCNU\\\ + n/AhT9GBw2sPN9dscFxN582FMVXymKLyCMFta8X2qpA5C78FFog76CDfmJQmv/5rD\\n3rkhzzMgIepWJc6eM0m9P7DI3F/3qfQO2/jwYozSe1dIZExSxD0e9aSFd99CE0xw\\\ + nYD4SEo502h/aoKeQqI+gop3SDqJsBmbOmmiNyvle3Ynw2nULEmshx0qhcWwNkAqD\\nJmU2uNmroE33IDPgQ2irlQLvi95ShbAxK3lFrmuHRI9tmG93NwUcDMdrWr1EXmn/\\\ + nyUMO1HyX5jEsmz4WmRtuDBKgy+R8KU0n+UyD9SR1IUmFSt3pKtZ5Ar/Pq4LpS4ou\\n4+DdAZ5tguefaJhbVoXPvpUQacbwiR5GXGynpLcqoZf2BfjktDp64BnrjZhf67va\\\ + nkM+Do/t+xSWWaQlvtXzBkDfTxtXnt2HoIB5o1b6hjTBDHQjlXWwq2Y+V3s2O5w3g\\na/bb3GtNaXAbIhStEK4flDDorcP7s0FmYCNukewYnGcw/vvVUvrUDF40o306P2UJ\\\ + nc3Zh0/Gtj2tAMJpmn+JPwGtufQWltP7Ac2t9Vm+KxdJysnw2dx36N+CXANWzOb7F\\nnZx3Yvqll6iOkUiX/EahU3dzd3/rsY5N1PqJTkHum2krN2OgfCOwGOmcvQARAQAB\\\ + ntHxBdXRvZ2VuZXJhdGVkIEtleSA8U0cyTVVYNlQ3WTZLREFZTDVYRTZYQ0tSSFoy\\nQzM1T0ZHTEdaU1VHR0YyWVE2SktBUDVUN0pFU0tOQlVBNFdOTVpNQUtGQTRPR1dC\\\ + nQUpDSENMQVpMSDZSNFM0SllZVFZRQTVZSlRXUT0+iQI3BBMBCgAhBQJRkX6AAhsv\\nBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJECox64Mr2AjpicQP/iT4TMSC7HOm\\\ + nEi8XelvQojX/gds6n0DAu8r5liBv/klKRG2eCFTF4kh+wA5P9nkkCftLshUB3GXo\\nAWsCSKpXrXuWq3OclwZFp3onk23EC+NGCRyDubhxqxCaOdDbVfyn3f+QDH1b7XGu\\\ + nIBEJFUUJrrIax8ZhNmsmInej0LSpYrJotzftSnpPv2uVCY7TdbQqd8PjajiAph3a\\n+Y3g6n16P3juGWuavg9gwmzPOpHYAEjtDVtr0eZ1eXGXVbb90Nk1aDUOYF5T7Idr\\\ + nn0FanCB8ZLKaTF2DM+7A1vi7JiFRiEvljgmpH5m7Rsz9ABQ6uBrFD5TJg/Cj0jbq\\nmK2QrQiRKxUqoMYHZf/12rBjEsllbdXHUaz6D/Gm61nYG+vpm0PxLFHFfODAVe1n\\\ + ns2O4o4txa1yTb51c+rGn9uwqObComkknrAw6S6KxCP0aa2bVr6VD/lHuhffLUBTm\\n1CA/ThXPZu7pDaXnMUYsdRtxvNfksy6GgQcStKZu2rh4YZmeMWtxPQB8fazeLEbZ\\\ + nnW1fCuULbfXEs/YmFnWCFBEVAi47duSYmDgat2chHQKogiYPmxvBXIz0mcsI4YdH\\n186fJvo4JFwHb5Np/OOg5+Hx2qB2jB9nHvCEP6vLHQTcTUtRNLaWvPk72mDZEFVE\\\ + n+kPWF+iDA/d9EWAFmQzLCzC6T8qhXtd9\\n=l5of\\n-----END PGP PUBLIC KEY BLOCK-----\\\ + n\", \n \"type\": \"PGP\"\n }, \n \"last_updated\": \"2020-03-18T09:49:27.959595Z\"\ + , \n \"number_of_documents\": 1, \n \"number_of_messages\": 2, \n\ + \ \"remove_star_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/remove_star\"\ + , \n \"replies_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/replies\"\ + , \n \"submissions_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/submissions\"\ + , \n \"url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607\"\ + , \n \"uuid\": \"747f37d9-7ed0-4ad6-a74c-a506e6fe7607\"\n }\n ]\n\ + }\n" headers: Content-Length: - - '3572' + - '8016' Content-Type: - application/json Date: - - Mon, 24 Feb 2020 12:50:27 GMT + - Wed, 18 Mar 2020 09:55:25 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -877,7 +956,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + - Token eyJleHAiOjE1ODQ1NTQxMDksImlhdCI6MTU4NDUyNTMwOSwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.NKix2NjXOckfqQ249FjlKZwW8wxCZbAxhBXm_0NOmKY Connection: - keep-alive Content-Type: @@ -885,41 +964,52 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/replies + uri: http://localhost:8081/api/v1/submissions response: body: - string: "{\n \"replies\": [\n {\n \"filename\": \"3-bracing_population-reply.gpg\", - \n \"is_deleted_by_source\": false, \n \"journalist_first_name\": - null, \n \"journalist_last_name\": null, \n \"journalist_username\": - \"journalist\", \n \"journalist_uuid\": \"c461451d-8f55-4088-9225-55cb196c7af0\", - \n \"reply_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/replies/59bd5d9b-9eb7-4401-ab50-7b3d32d84750\", - \n \"size\": 1150, \n \"source_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", - \n \"uuid\": \"59bd5d9b-9eb7-4401-ab50-7b3d32d84750\"\n }, \n {\n - \ \"filename\": \"4-bracing_population-reply.gpg\", \n \"is_deleted_by_source\": - false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": - null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": - \"c461451d-8f55-4088-9225-55cb196c7af0\", \n \"reply_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27/replies/069eb5c5-f1a6-4cf4-9421-9ec72570877d\", - \n \"size\": 1218, \n \"source_url\": \"/api/v1/sources/9107a14b-0c96-4900-b0b1-65b7f39c5a27\", - \n \"uuid\": \"069eb5c5-f1a6-4cf4-9421-9ec72570877d\"\n }, \n {\n - \ \"filename\": \"3-incalculable_glaciation-reply.gpg\", \n \"is_deleted_by_source\": - false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": - null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": - \"c461451d-8f55-4088-9225-55cb196c7af0\", \n \"reply_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/replies/6743c4fc-378e-4ca9-9f5c-c11df35afbe1\", - \n \"size\": 1150, \n \"source_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", - \n \"uuid\": \"6743c4fc-378e-4ca9-9f5c-c11df35afbe1\"\n }, \n {\n - \ \"filename\": \"4-incalculable_glaciation-reply.gpg\", \n \"is_deleted_by_source\": - false, \n \"journalist_first_name\": null, \n \"journalist_last_name\": - null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\": - \"c461451d-8f55-4088-9225-55cb196c7af0\", \n \"reply_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff/replies/0c89631d-c0ea-4a83-871b-6b4e65d4272c\", - \n \"size\": 1218, \n \"source_url\": \"/api/v1/sources/b1060583-e92c-42ae-a2db-ed87bfc597ff\", - \n \"uuid\": \"0c89631d-c0ea-4a83-871b-6b4e65d4272c\"\n }\n ]\n}\n" + string: "{\n \"submissions\": [\n {\n \"download_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/submissions/3d4818b7-770c-4fef-bf7f-9ea8a049f464/download\"\ + , \n \"filename\": \"1-curricular_neurasthenia-msg.gpg\", \n \"\ + is_read\": true, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042\"\ + , \n \"submission_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/submissions/3d4818b7-770c-4fef-bf7f-9ea8a049f464\"\ + , \n \"uuid\": \"3d4818b7-770c-4fef-bf7f-9ea8a049f464\"\n }, \n \ + \ {\n \"download_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/submissions/bc677b8f-794f-4e89-aa25-7af0f3e8c7e3/download\"\ + , \n \"filename\": \"2-curricular_neurasthenia-msg.gpg\", \n \"\ + is_read\": true, \n \"size\": 693, \n \"source_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042\"\ + , \n \"submission_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/submissions/bc677b8f-794f-4e89-aa25-7af0f3e8c7e3\"\ + , \n \"uuid\": \"bc677b8f-794f-4e89-aa25-7af0f3e8c7e3\"\n }, \n \ + \ {\n \"download_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/submissions/2ba2d750-12d1-4216-bf6e-8a9ed5914ad9/download\"\ + , \n \"filename\": \"1-headless_quaver-msg.gpg\", \n \"is_read\"\ + : true, \n \"size\": 627, \n \"source_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6\"\ + , \n \"submission_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/submissions/2ba2d750-12d1-4216-bf6e-8a9ed5914ad9\"\ + , \n \"uuid\": \"2ba2d750-12d1-4216-bf6e-8a9ed5914ad9\"\n }, \n \ + \ {\n \"download_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/submissions/5fa7c6be-b509-45d0-bb79-a6e0a9995e43/download\"\ + , \n \"filename\": \"2-headless_quaver-msg.gpg\", \n \"is_read\"\ + : true, \n \"size\": 693, \n \"source_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6\"\ + , \n \"submission_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/submissions/5fa7c6be-b509-45d0-bb79-a6e0a9995e43\"\ + , \n \"uuid\": \"5fa7c6be-b509-45d0-bb79-a6e0a9995e43\"\n }, \n \ + \ {\n \"download_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/submissions/ba989d5d-350e-4569-bb31-6b437ac719d6/download\"\ + , \n \"filename\": \"1-symbolic_cumulus-msg.gpg\", \n \"is_read\"\ + : true, \n \"size\": 593, \n \"source_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607\"\ + , \n \"submission_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/submissions/ba989d5d-350e-4569-bb31-6b437ac719d6\"\ + , \n \"uuid\": \"ba989d5d-350e-4569-bb31-6b437ac719d6\"\n }, \n \ + \ {\n \"download_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/submissions/f80f22aa-1892-47e2-a503-acdb21a039a4/download\"\ + , \n \"filename\": \"2-symbolic_cumulus-msg.gpg\", \n \"is_read\"\ + : true, \n \"size\": 599, \n \"source_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607\"\ + , \n \"submission_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/submissions/f80f22aa-1892-47e2-a503-acdb21a039a4\"\ + , \n \"uuid\": \"f80f22aa-1892-47e2-a503-acdb21a039a4\"\n }, \n \ + \ {\n \"download_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/submissions/1c429a33-e47b-4c77-a060-fd7f79f53334/download\"\ + , \n \"filename\": \"3-symbolic_cumulus-doc.gz.gpg\", \n \"is_read\"\ + : false, \n \"size\": 625, \n \"source_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607\"\ + , \n \"submission_url\": \"/api/v1/sources/747f37d9-7ed0-4ad6-a74c-a506e6fe7607/submissions/1c429a33-e47b-4c77-a060-fd7f79f53334\"\ + , \n \"uuid\": \"1c429a33-e47b-4c77-a060-fd7f79f53334\"\n }\n ]\n\ + }\n" headers: Content-Length: - - '2279' + - '3569' Content-Type: - application/json Date: - - Mon, 24 Feb 2020 12:50:27 GMT + - Wed, 18 Mar 2020 09:55:25 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: @@ -933,7 +1023,7 @@ interactions: Accept-Encoding: - gzip, deflate Authorization: - - Token eyJpYXQiOjE1ODI1NDg2MTIsImV4cCI6MTU4MjU3NzQxMiwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.Gr652RrBO6ibNl11pxakngfZvBzSZXSgFYTX3hEaF5Y + - Token eyJleHAiOjE1ODQ1NTQxMDksImlhdCI6MTU4NDUyNTMwOSwiYWxnIjoiSFMyNTYifQ.eyJpZCI6MX0.NKix2NjXOckfqQ249FjlKZwW8wxCZbAxhBXm_0NOmKY Connection: - keep-alive Content-Type: @@ -941,38 +1031,43 @@ interactions: User-Agent: - python-requests/2.20.0 method: GET - uri: http://localhost:8081/api/v1/sources/d9992fd5-2d32-4fed-a619-30f869798b5a/submissions/59f86145-b78f-4996-943c-d5467100b7d7/download + uri: http://localhost:8081/api/v1/replies response: body: - string: !!binary | - hQIMA8PnxMCiIBsqAQ/+LMh3PvmNLsrcY+wxBO2dbESXXf9bc1rFUapRnzLKORmi/8TkIiQNjYVL - NAYNuU/f1qIpDjVOwtG5i3YTg5RXwr3z/GCF1waclYYN/+k1yDmOztfuEaGB1/OkxYeAOjsc+Hhu - Zi4h/zbhzHy0XlBj5iCpvetAPrQHrCjjZOHOnMoYH9mmc5DhpxmHRu97LDY6frU9+dBX4onfRvFf - 58DoVeLU5y7ubApTHO+Ph1wZNWqrQBadvn4+s38UJoeYx6Kul3Q20oCH6cIFa4g0B682GORF5i+f - 0l5X3+JA4MmsptTNesVgWdhq22GJD0budeYX9jtdbPM9RNnpJ7yI4MwOgvHPJ8i3pAEuygldDr4P - iKXifKX4WOd7UkgVvHbRvErUFIpVFmAFFd4aUswl4qMf2crmRsHo9rHqNWvpYPZRaI+wvne944rB - aIarUVOPy6iitS8ByTK89kc6cmtjnbFB9OydqlWuCE5fdpyi35dHNF3MTcMFQrFSRDGLkd0NpZ4c - IraxqOYYDrlGyAjm0vldkJMG0YpTGJDGgTWmRAycLvoQU0n9vAeJazvohtNWFjwiOaDKJXqMl1xw - ZUimnyAYybXBv9bLYCN/M98BSeQEP/udFet7cD9xLxs6E5EuzRaI6MKWLingiO2kWfqp5E8f6oKc - H079XXv0xVsTdCKPfuDSRgEyqBrXzVKSx4Csajv6dMA6S9G1hmlABAw5qaI3lB+En0CA0QFOFxGM - nixzXYmLiNxB3GWJyWWoKgFcMHzTox2OHPoThPg= + string: "{\n \"replies\": [\n {\n \"filename\": \"3-curricular_neurasthenia-reply.gpg\"\ + , \n \"is_deleted_by_source\": false, \n \"journalist_first_name\"\ + : null, \n \"journalist_last_name\": null, \n \"journalist_username\"\ + : \"journalist\", \n \"journalist_uuid\": \"664cdd2e-ab28-4ad4-a5da-8689e6a22109\"\ + , \n \"reply_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/replies/5591ed59-e2f3-4cea-aaae-2a2c6b0c30c0\"\ + , \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042\"\ + , \n \"uuid\": \"5591ed59-e2f3-4cea-aaae-2a2c6b0c30c0\"\n }, \n \ + \ {\n \"filename\": \"4-curricular_neurasthenia-reply.gpg\", \n \ + \ \"is_deleted_by_source\": false, \n \"journalist_first_name\": null,\ + \ \n \"journalist_last_name\": null, \n \"journalist_username\"\ + : \"journalist\", \n \"journalist_uuid\": \"664cdd2e-ab28-4ad4-a5da-8689e6a22109\"\ + , \n \"reply_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042/replies/06143e72-91c7-43ea-bb75-a6c7465d4bb9\"\ + , \n \"size\": 1217, \n \"source_url\": \"/api/v1/sources/756841eb-32b0-44e3-aa19-e2f8ab71c042\"\ + , \n \"uuid\": \"06143e72-91c7-43ea-bb75-a6c7465d4bb9\"\n }, \n \ + \ {\n \"filename\": \"3-headless_quaver-reply.gpg\", \n \"is_deleted_by_source\"\ + : false, \n \"journalist_first_name\": null, \n \"journalist_last_name\"\ + : null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\"\ + : \"664cdd2e-ab28-4ad4-a5da-8689e6a22109\", \n \"reply_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/replies/841cc66f-1d28-427a-8bec-375a072b11e3\"\ + , \n \"size\": 1149, \n \"source_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6\"\ + , \n \"uuid\": \"841cc66f-1d28-427a-8bec-375a072b11e3\"\n }, \n \ + \ {\n \"filename\": \"4-headless_quaver-reply.gpg\", \n \"is_deleted_by_source\"\ + : false, \n \"journalist_first_name\": null, \n \"journalist_last_name\"\ + : null, \n \"journalist_username\": \"journalist\", \n \"journalist_uuid\"\ + : \"664cdd2e-ab28-4ad4-a5da-8689e6a22109\", \n \"reply_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6/replies/062a5ead-b32b-44c4-bf31-2bf89ee0bc71\"\ + , \n \"size\": 1218, \n \"source_url\": \"/api/v1/sources/79600826-34bb-47e7-b45c-945974c3e7f6\"\ + , \n \"uuid\": \"062a5ead-b32b-44c4-bf31-2bf89ee0bc71\"\n }\n ]\n\ + }\n" headers: - Cache-Control: - - max-age=43200, public - Content-Disposition: - - attachment; filename=2-certain_iceman-msg.gpg Content-Length: - - '599' + - '2273' Content-Type: - - application/pgp-encrypted + - application/json Date: - - Mon, 24 Feb 2020 12:50:28 GMT - Etag: - - sha256:2c4b699c1451f65003db9435986a8749eaed7378213a242019f8f9bb252a0ecd - Expires: - - Tue, 25 Feb 2020 00:50:28 GMT - Last-Modified: - - Mon, 24 Feb 2020 12:50:19 GMT + - Wed, 18 Mar 2020 09:55:25 GMT Server: - Werkzeug/0.16.0 Python/3.5.2 status: diff --git a/tests/functional/test_delete_source.py b/tests/functional/test_delete_source.py index 481359b01..317b95db8 100644 --- a/tests/functional/test_delete_source.py +++ b/tests/functional/test_delete_source.py @@ -14,7 +14,7 @@ def test_delete_source_and_their_docs(qtbot, mocker): """ It's possible to delete a source and see it removed from the UI. """ - totp = "192894" + totp = "177711" tempdir = get_safe_tempdir() gui, controller = get_logged_in_test_context(tempdir, qtbot, totp) qtbot.wait(1000) @@ -22,7 +22,7 @@ def test_delete_source_and_their_docs(qtbot, mocker): def check_for_sources(): assert len(list(gui.main_view.source_list.source_widgets.keys())) - qtbot.waitUntil(check_for_sources, timeout=10000) + qtbot.waitUntil(check_for_sources, timeout=20000) source_ids = list(gui.main_view.source_list.source_widgets.keys()) assert len(source_ids) == 2 first_source_id = source_ids[0] @@ -43,4 +43,4 @@ def check_source_list(): # Confirm there is now only one source in the client list. assert gui.main_view.source_list.count() == 1 - qtbot.waitUntil(check_source_list, timeout=10000) + qtbot.waitUntil(check_source_list, timeout=20000) diff --git a/tests/functional/test_login.py b/tests/functional/test_login.py index 9a109ec10..c605a4d3d 100644 --- a/tests/functional/test_login.py +++ b/tests/functional/test_login.py @@ -21,7 +21,7 @@ def test_login_ensure_errors_displayed(qtbot, mocker): assert login_dialog.error_bar.error_status_bar.text() == "" qtbot.keyClicks(login_dialog.username_field, "journalist") qtbot.mouseClick(login_dialog.submit, Qt.LeftButton) - expected = "Please enter a username, password and two-factor code." + expected = "Please enter a username, passphrase and two-factor code." actual = login_dialog.error_bar.error_status_bar.text() assert actual == expected diff --git a/tests/functional/test_receive_message.py b/tests/functional/test_receive_message.py index e0b9cbf08..4ad99d4c0 100644 --- a/tests/functional/test_receive_message.py +++ b/tests/functional/test_receive_message.py @@ -16,7 +16,7 @@ def test_receive_message_from_source(qtbot, mocker): It's possible to receive a new message from a source and see it show up in the conversation window. """ - totp = "625486" + totp = "795461" tempdir = get_safe_tempdir() gui, controller = get_logged_in_test_context(tempdir, qtbot, totp) qtbot.wait(1000) @@ -26,7 +26,7 @@ def check_for_sources(): qtbot.waitUntil(check_for_sources, timeout=10000) source_ids = list(gui.main_view.source_list.source_widgets.keys()) - first_source_id = source_ids[0] + first_source_id = source_ids[2] first_source_widget = gui.main_view.source_list.source_widgets[first_source_id] qtbot.mouseClick(first_source_widget, Qt.LeftButton) diff --git a/tests/functional/test_star_source.py b/tests/functional/test_star_source.py index f2427312d..f48b9ae9f 100644 --- a/tests/functional/test_star_source.py +++ b/tests/functional/test_star_source.py @@ -24,7 +24,7 @@ def check_for_sources(): qtbot.waitUntil(check_for_sources, timeout=10000) source_ids = list(gui.main_view.source_list.source_widgets.keys()) - first_source_id = source_ids[0] + first_source_id = source_ids[1] first_source_widget = gui.main_view.source_list.source_widgets[first_source_id] qtbot.mouseClick(first_source_widget, Qt.LeftButton) diff --git a/tests/functional/test_unstar_source.py b/tests/functional/test_unstar_source.py index a477555ee..a44e78af8 100644 --- a/tests/functional/test_unstar_source.py +++ b/tests/functional/test_unstar_source.py @@ -24,7 +24,7 @@ def check_for_sources(): qtbot.waitUntil(check_for_sources, timeout=10000) source_ids = list(gui.main_view.source_list.source_widgets.keys()) - first_source_id = source_ids[0] + first_source_id = source_ids[1] first_source_widget = gui.main_view.source_list.source_widgets[first_source_id] qtbot.mouseClick(first_source_widget, Qt.LeftButton)