Removes integration tests for treasure map storage.

pull/2808/head
Kieran Prasch 2021-10-06 19:41:59 -07:00 committed by Kieran R. Prasch
parent de9b3ea2d4
commit a37e741fc8
1 changed files with 0 additions and 65 deletions

View File

@ -98,68 +98,3 @@ def test_node_has_changed_cert(federated_alice, federated_ursulas):
# Cool - we didn't crash because of SSLError.
# TODO: Assertions and such.
def test_huge_treasure_maps_are_rejected(federated_alice, federated_ursulas):
federated_alice.network_middleware = EvilMiddleWare()
firstula = list(federated_ursulas)[0]
header = Arrangement._header()
ok_amount = 10 * 1024 # 10k
ok_data = header + os.urandom(ok_amount)
with pytest.raises(BytestringSplittingError):
federated_alice.network_middleware.upload_arbitrary_data(
firstula, 'consider_arrangement', ok_data
)
"""
TODO: the following does not work because of this issue: https://github.com/pallets/werkzeug/issues/1513
it is implemented at a lower level through hendrix
but would be nice if it could be configurable through
flask as well and thus, testable here...
evil_amount = 5000 * 1024
evil_data = os.urandom(evil_amount)
with pytest.raises(RequestEntityTooLarge):
federated_alice.network_middleware.upload_arbitrary_data(
firstula, 'consider_arrangement', evil_data
)
"""
@pytest.mark.skip("Hangs forever")
@pytest_twisted.inlineCallbacks
def test_hendrix_handles_content_length_validation(ursula_federated_test_config):
node = make_federated_ursulas(ursula_config=ursula_federated_test_config, quantity=1).pop()
node_deployer = node.get_deployer()
node_deployer.addServices()
node_deployer.catalogServers(node_deployer.hendrix)
node_deployer.start()
header = Arrangement._header()
def check_node_rejects_large_posts(node):
too_much_data = header + os.urandom(100 * 1024)
response = requests.post(
"https://{}/consider_arrangement".format(node.rest_url()),
data=too_much_data, verify=False)
assert response.status_code > 400
assert response.reason == "Request Entity Too Large"
return node
def check_node_accepts_normal_posts(node):
under_limit = (49 * 1024)-Versioned._HEADER_SIZE # 49K, the limit is 50K
a_normal_arrangement = header + os.urandom(under_limit)
response = requests.post(
"https://{}/consider_arrangement".format(node.rest_url()),
data=a_normal_arrangement, verify=False)
assert response.status_code >= 500 # it still fails because we are sending random bytes
assert response.reason != "Request Entity Too Large" # but now we are running nucypher code
return node
yield threads.deferToThread(check_node_rejects_large_posts, node)
yield threads.deferToThread(check_node_accepts_normal_posts, node)