Przeglądaj źródła

Make empty ResultSet support get()

Alexey Kotlyarov 11 lat temu
rodzic
commit
33d07e6909
2 zmienionych plików z 7 dodań i 1 usunięć
  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)