From badff5fa184e323cf7d1bc7b3d53892aa6426380 Mon Sep 17 00:00:00 2001 From: Roque <roqueporchetto@gmail.com> Date: Tue, 27 Feb 2018 15:37:05 +0100 Subject: [PATCH] scalability: test suite refactor and new site availability url --- scalability_test/__init__.py | 42 +++++++++++++++++------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/scalability_test/__init__.py b/scalability_test/__init__.py index 052b1bb38c..695ea90a90 100644 --- a/scalability_test/__init__.py +++ b/scalability_test/__init__.py @@ -21,9 +21,8 @@ class ERP5_scalability(): def getUserQuantity(self, test_number): return [8, 14, 20, 28, 36][test_number] - # Test duration in seconds def getTestDuration(self, test_number): - return 30 * self.getUserQuantity(test_number) + return 60*10 def getTestRepetition(self, test_number): return 3 @@ -37,16 +36,27 @@ class ERP5_scalability(): return "%s:%d/erp5" % (frontend_address, port) def getScalabilityTestMetricUrl(self, instance_information_dict, **kw): - for frontend in instance_information_dict['frontend-url-list']: - if frontend[0] == ZOPE_USER_FAMILY: - frontend_address = frontend[1] - break - port = 4443 if urlparse.urlparse(frontend_address).scheme == 'https' else 8080 - frontend_address = "%s:%d" % (frontend_address, port) + frontend_address = self.getScalabilityTestUrl(instance_information_dict) metrics_url = frontend_address.replace("://", "://%s:%s@" % (instance_information_dict['user'], - instance_information_dict['password'])) - return metrics_url + "/erp5/ERP5Site_getScalabilityTestMetric" + instance_information_dict['password'])) + return metrics_url + "/ERP5Site_getScalabilityTestMetric" + + def getBootstrapScalabilityTestUrl(self, instance_information_dict, count=0, **kw): + frontend_address = self.getScalabilityTestUrl(instance_information_dict) + bootstrap_url = frontend_address.replace("://", + "://%s:%s@" % (instance_information_dict['user'], + instance_information_dict['password'])) + bootstrap_url += "/ERP5Site_bootstrapScalabilityTest" + bootstrap_url += "?user_quantity=%i" % self.getUserQuantity(count) + return bootstrap_url + + def getSiteAvailabilityUrl(self, instance_information_dict, **kw): + frontend_address = self.getScalabilityTestUrl(instance_information_dict) + site_url = frontend_address.replace("://", + "://%s:%s@" % (instance_information_dict['user'], + instance_information_dict['password'])) + return site_url + "/ERP5Site_isReady" def getScalabilityTestOutput(self, metric_list): """ @@ -63,15 +73,3 @@ class ERP5_scalability(): output_json[ORDER_KEY] = metric_json[ORDER_KEY] return "Person: %s doc/hour; SaleOrder: %s doc/hour;" % ( str(output_json[PERSON_KEY]), str(output_json[ORDER_KEY])) - - def getBootstrapScalabilityTestUrl(self, instance_information_dict, count=0, **kw): - for zope in instance_information_dict['zope-address-list']: - if zope[0] == ZOPE_USER_FAMILY: - zope_address = zope[1] - break - bootstrap_url = "http://%s:%s@%s" % (instance_information_dict['user'], - instance_information_dict['password'], - zope_address) - bootstrap_url += "/erp5/ERP5Site_bootstrapScalabilityTest" - bootstrap_url += "?user_quantity=%i" % self.getUserQuantity(count) - return bootstrap_url -- 2.30.9