Explorar o código

Make empty ResultSet support get()

Alexey Kotlyarov %!s(int64=11) %!d(string=hai) anos
pai
achega
5f8cfd7830
Modificáronse 2 ficheiros con 7 adicións e 1 borrados
  1. 1 1
      celery/result.py
  2. 6 0
      celery/tests/tasks/test_result.py

+ 1 - 1
celery/result.py

@@ -718,7 +718,7 @@ class ResultSet(ResultBase):
 
     @property
     def supports_native_join(self):
-        return self.results[0].supports_native_join
+        return len(self.results) > 0 and self.results[0].supports_native_join
 
     @property
     def backend(self):

+ 6 - 0
celery/tests/tasks/test_result.py

@@ -276,6 +276,12 @@ class test_ResultSet(AppCase):
         x.get()
         self.assertTrue(x.join_native.called)
 
+    def test_get_empty(self):
+        x = self.app.ResultSet([])
+        x.join = Mock()
+        x.get()
+        self.assertTrue(x.join.called)
+
     def test_add(self):
         x = self.app.ResultSet([1])
         x.add(2)