Changeset 65787e5 in trunk


Ignore:
Timestamp:
2022-01-20T17:57:52Z (3 years ago)
Author:
Itamar Turner-Trauring <itamar@…>
Branches:
master
Children:
c4d71a46
Parents:
4b5c71f
Message:

Get rid of inlineCallbacks.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified src/allmydata/test/test_storage_http.py

    r4b5c71f r65787e5  
    1717from base64 import b64encode
    1818from os import urandom
    19 
    20 from twisted.internet.defer import inlineCallbacks
    2119
    2220from hypothesis import assume, given, strategies as st
     
    165163
    166164
     165def result_of(d):
     166    """
     167    Synchronously extract the result of a Deferred.
     168    """
     169    result = []
     170    error = []
     171    d.addCallbacks(result.append, error.append)
     172    if result:
     173        return result[0]
     174    if error:
     175        error[0].raiseException()
     176    raise RuntimeError(
     177        "We expected given Deferred to have result already, but it wasn't. "
     178        + "This is probably a test design issue."
     179    )
     180
     181
    167182class RoutingTests(SyncTestCase):
    168183    """
     
    183198        )
    184199
    185     @inlineCallbacks
    186200    def test_authorization_enforcement(self):
    187201        """
     
    190204        """
    191205        # Without secret, get a 400 error.
    192         response = yield self.client._request(
    193             "GET",
    194             "http://127.0.0.1/upload_secret",
     206        response = result_of(
     207            self.client._request(
     208                "GET",
     209                "http://127.0.0.1/upload_secret",
     210            )
    195211        )
    196212        self.assertEqual(response.code, 400)
    197213
    198214        # With secret, we're good.
    199         response = yield self.client._request(
    200             "GET", "http://127.0.0.1/upload_secret", upload_secret=b"MAGIC"
     215        response = result_of(
     216            self.client._request(
     217                "GET", "http://127.0.0.1/upload_secret", upload_secret=b"MAGIC"
     218            )
    201219        )
    202220        self.assertEqual(response.code, 200)
    203         self.assertEqual((yield response.content()), b"GOOD SECRET")
     221        self.assertEqual(result_of(response.content()), b"GOOD SECRET")
    204222
    205223
     
    233251        self.http = self.useFixture(HttpTestFixture())
    234252
    235     @inlineCallbacks
    236253    def test_bad_authentication(self):
    237254        """
     
    245262        )
    246263        with self.assertRaises(ClientException) as e:
    247             yield client.get_version()
     264            result_of(client.get_version())
    248265        self.assertEqual(e.exception.args[0], 401)
    249266
    250     @inlineCallbacks
    251267    def test_version(self):
    252268        """
     
    256272        might change across calls.
    257273        """
    258         version = yield self.http.client.get_version()
     274        version = result_of(self.http.client.get_version())
    259275        version[b"http://allmydata.org/tahoe/protocols/storage/v1"].pop(
    260276            b"available-space"
     
    284300        self.http = self.useFixture(HttpTestFixture())
    285301
    286     @inlineCallbacks
    287302    def test_upload_can_be_downloaded(self):
    288303        """
     
    303318        lease_secret = urandom(32)
    304319        storage_index = b"".join(bytes([i]) for i in range(16))
    305         created = yield im_client.create(
    306             storage_index, {1}, 100, upload_secret, lease_secret, lease_secret
     320        created = result_of(
     321            im_client.create(
     322                storage_index, {1}, 100, upload_secret, lease_secret, lease_secret
     323            )
    307324        )
    308325        self.assertEqual(
     
    320337            )
    321338
    322         finished = yield write(10, 10)
    323         self.assertFalse(finished)
    324         finished = yield write(30, 10)
    325         self.assertFalse(finished)
    326         finished = yield write(50, 10)
     339        finished = result_of(write(10, 10))
     340        self.assertFalse(finished)
     341        finished = result_of(write(30, 10))
     342        self.assertFalse(finished)
     343        finished = result_of(write(50, 10))
    327344        self.assertFalse(finished)
    328345
    329346        # Then, an overlapping write with matching data (15-35):
    330         finished = yield write(15, 20)
     347        finished = result_of(write(15, 20))
    331348        self.assertFalse(finished)
    332349
    333350        # Now fill in the holes:
    334         finished = yield write(0, 10)
    335         self.assertFalse(finished)
    336         finished = yield write(40, 10)
    337         self.assertFalse(finished)
    338         finished = yield write(60, 40)
     351        finished = result_of(write(0, 10))
     352        self.assertFalse(finished)
     353        finished = result_of(write(40, 10))
     354        self.assertFalse(finished)
     355        finished = result_of(write(60, 40))
    339356        self.assertTrue(finished)
    340357
    341358        # We can now read:
    342359        for offset, length in [(0, 100), (10, 19), (99, 1), (49, 200)]:
    343             downloaded = yield im_client.read_share_chunk(
    344                 storage_index, 1, offset, length
     360            downloaded = result_of(
     361                im_client.read_share_chunk(storage_index, 1, offset, length)
    345362            )
    346363            self.assertEqual(downloaded, expected_data[offset : offset + length])
Note: See TracChangeset for help on using the changeset viewer.