Commit 3707bc1e authored by Jérome Perrin's avatar Jérome Perrin

gitlab interface fixes after update lab.nexedi.com update

See merge request !1075
parents 84d6267b 8e5edc5b
Pipeline #8449 failed with stage
...@@ -102,6 +102,13 @@ class GitlabRESTConnector(XMLObject): ...@@ -102,6 +102,13 @@ class GitlabRESTConnector(XMLObject):
# branch. This typically happen after a new commit was push-forced to # branch. This typically happen after a new commit was push-forced to
# the tested branch. # the tested branch.
return return
if state == 'running' and response.status_code == requests.codes.bad_request:
# Since we updated to gitlab 9.5.10, sometimes annotating a test as running
# fail with "Cannot transition status via :run from :running" error. This
# seem to happen when previous test did not receive the finish notification.
# In that case, it's better to ignore the error, the commit will not be
# annotated as "running", but that seems acceptable.
return
response.raise_for_status() response.raise_for_status()
......
...@@ -1547,6 +1547,17 @@ class TestGitlabRESTConnectorInterface(ERP5TypeTestCase): ...@@ -1547,6 +1547,17 @@ class TestGitlabRESTConnectorInterface(ERP5TypeTestCase):
self.test_result.stop() self.test_result.stop()
self.tic() self.tic()
def test_stop_test_build_failure(self):
self._start_test_result()
self.test_result.setStringIndex('FAILED')
with responses.RequestsMock() as rsps:
rsps.add_callback(
responses.POST,
self.post_commit_status_url,
self._response_callback('failed'))
self.test_result.fail()
self.tic()
def test_TestResult_getTestSuiteData(self): def test_TestResult_getTestSuiteData(self):
"""test for TestResult_getTestSuiteData helper script """test for TestResult_getTestSuiteData helper script
""" """
...@@ -1709,3 +1720,13 @@ class TestGitlabRESTConnectorInterface(ERP5TypeTestCase): ...@@ -1709,3 +1720,13 @@ class TestGitlabRESTConnectorInterface(ERP5TypeTestCase):
self.test_result.start() self.test_result.start()
self.tic() self.tic()
def test_start_test_tolerate_errors(self):
with responses.RequestsMock() as rsps:
rsps.add(
responses.POST,
self.post_commit_status_url,
json={"message": 'Cannot transition status via :run from :running (Reason(s): Status cannot transition via "run")'},
status=httplib.BAD_REQUEST,
)
self.test_result.start()
self.tic()
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="InteractionDefinition" module="Products.ERP5.Interaction"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>actbox_category</string> </key>
<value> <string>workflow</string> </value>
</item>
<item>
<key> <string>actbox_name</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>actbox_url</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>activate_script_name</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>after_script_name</string> </key>
<value>
<list>
<string>TestResult_afterFail</string>
</list>
</value>
</item>
<item>
<key> <string>before_commit_script_name</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>guard</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>fail</string> </value>
</item>
<item>
<key> <string>method_id</string> </key>
<value>
<list>
<string>fail</string>
</list>
</value>
</item>
<item>
<key> <string>once_per_transaction</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>portal_type_filter</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>portal_type_group_filter</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>script_name</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>temporary_document_disallowed</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>trigger_type</string> </key>
<value> <int>2</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>sci</string> </value>
</item>
<item>
<key> <string>_proxy_roles</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>TestResult_afterFail</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment