diff --git a/check_source_in_factory.py b/check_source_in_factory.py
index 002dff0f..b7f1c45e 100755
--- a/check_source_in_factory.py
+++ b/check_source_in_factory.py
@@ -148,7 +148,17 @@ class FactorySourceChecker(ReviewBot.ReviewBot):
return True
elif req.state.name == 'review':
self.logger.info("request still in review")
- return None
+ if not req.reviews:
+ self.logger.error("request in state review but no reviews?")
+ return False
+ for r in req.reviews:
+ if r.by_project and r.state == 'new' and r.by_project.startswith('openSUSE:Factory:Staging:'):
+ self.logger.info("%s review by %s ok", r.state, r.by_project)
+ continue
+ if r.state != 'accepted':
+ self.logger.debug("review %s/%s/%s in state %s", r.by_user, r.by_group, r.by_package, r.state)
+ return None
+ return True
else:
self.logger.error("request in state %s not expected"%req.state.name)
return None
diff --git a/tests/factory_source_tests.py b/tests/factory_source_tests.py
index d6ed8330..0ba25d75 100644
--- a/tests/factory_source_tests.py
+++ b/tests/factory_source_tests.py
@@ -124,6 +124,9 @@ class TestFactorySourceAccept(unittest.TestCase):
...
+
+
+
...
@@ -150,6 +153,8 @@ class TestFactorySourceAccept(unittest.TestCase):
u = urlparse.urlparse(uri)
if u.query == 'newstate=accepted&cmd=changereviewstate&by_user=factory-source':
result['status'] = True
+ else:
+ result['status'] = 'ERROR'
return (200, headers, '')
httpretty.register_uri(httpretty.POST,