|
@@ -519,12 +519,16 @@ class MockAsyncResultFailure(AsyncResult):
|
|
|
class MockAsyncResultSuccess(AsyncResult):
|
|
|
forgotten = False
|
|
|
|
|
|
+ def __init__(self, *args, **kwargs):
|
|
|
+ self._result = kwargs.pop('result', 42)
|
|
|
+ super(MockAsyncResultSuccess, self).__init__(*args, **kwargs)
|
|
|
+
|
|
|
def forget(self):
|
|
|
self.forgotten = True
|
|
|
|
|
|
@property
|
|
|
def result(self):
|
|
|
- return 42
|
|
|
+ return self._result
|
|
|
|
|
|
@property
|
|
|
def state(self):
|
|
@@ -622,6 +626,37 @@ class test_GroupResult:
|
|
|
for sub in subs:
|
|
|
assert sub.forgotten
|
|
|
|
|
|
+ def test_get_nested_without_native_join(self):
|
|
|
+ backend = SimpleBackend()
|
|
|
+ backend.supports_native_join = False
|
|
|
+ ts = self.app.GroupResult(uuid(), [
|
|
|
+ MockAsyncResultSuccess(uuid(), result='1.1',
|
|
|
+ app=self.app, backend=backend),
|
|
|
+ self.app.GroupResult(uuid(), [
|
|
|
+ MockAsyncResultSuccess(uuid(), result='2.1',
|
|
|
+ app=self.app, backend=backend),
|
|
|
+ self.app.GroupResult(uuid(), [
|
|
|
+ MockAsyncResultSuccess(uuid(), result='3.1',
|
|
|
+ app=self.app, backend=backend),
|
|
|
+ MockAsyncResultSuccess(uuid(), result='3.2',
|
|
|
+ app=self.app, backend=backend),
|
|
|
+ ]),
|
|
|
+ ]),
|
|
|
+ ])
|
|
|
+ ts.app.backend = backend
|
|
|
+
|
|
|
+ vals = ts.get()
|
|
|
+ assert vals == [
|
|
|
+ '1.1',
|
|
|
+ [
|
|
|
+ '2.1',
|
|
|
+ [
|
|
|
+ '3.1',
|
|
|
+ '3.2',
|
|
|
+ ]
|
|
|
+ ],
|
|
|
+ ]
|
|
|
+
|
|
|
def test_getitem(self):
|
|
|
subs = [MockAsyncResultSuccess(uuid(), app=self.app),
|
|
|
MockAsyncResultSuccess(uuid(), app=self.app)]
|