Commit 146f0e0d authored by Bryton Lacquement's avatar Bryton Lacquement 🚪

wip

parent b7ddce31
...@@ -126,7 +126,8 @@ def _replaceParameterValue(original_content, to_replace): ...@@ -126,7 +126,8 @@ def _replaceParameterValue(original_content, to_replace):
def _generateSlaposNodeConfigurationFile(slapos_node_config_path, args): def _generateSlaposNodeConfigurationFile(slapos_node_config_path, args):
template_arg_list = (__name__, '../../slapos.cfg.example') template_arg_list = (__name__, '../../slapos.cfg.example')
slapos_node_configuration_template = pkg_resources.resource_string(*template_arg_list).decode('utf-8') slapos_node_configuration_template = \
pkg_resources.resource_string(*template_arg_list).decode('utf-8')
master_url = 'http://%s:%s' % (args.daemon_listen_ip, args.daemon_listen_port) master_url = 'http://%s:%s' % (args.daemon_listen_ip, args.daemon_listen_port)
slapos_home = args.slapos_buildout_directory slapos_home = args.slapos_buildout_directory
to_replace = [ to_replace = [
...@@ -152,7 +153,8 @@ def _generateSlaposNodeConfigurationFile(slapos_node_config_path, args): ...@@ -152,7 +153,8 @@ def _generateSlaposNodeConfigurationFile(slapos_node_config_path, args):
def _generateSlaposProxyConfigurationFile(conf): def _generateSlaposProxyConfigurationFile(conf):
template_arg_list = (__name__, '../../slapos-proxy.cfg.example') template_arg_list = (__name__, '../../slapos-proxy.cfg.example')
slapos_proxy_configuration_template = pkg_resources.resource_string(*template_arg_list).decode('utf-8') slapos_proxy_configuration_template = \
pkg_resources.resource_string(*template_arg_list).decode('utf-8')
slapos_proxy_configuration_path = os.path.join( slapos_proxy_configuration_path = os.path.join(
conf.slapos_configuration_directory, 'slapos-proxy.cfg') conf.slapos_configuration_directory, 'slapos-proxy.cfg')
listening_ip, listening_port = \ listening_ip, listening_port = \
......
...@@ -119,7 +119,7 @@ def _getSoftwareReleaseFromSoftwareString(logger, software_string, product): ...@@ -119,7 +119,7 @@ def _getSoftwareReleaseFromSoftwareString(logger, software_string, product):
try: try:
return product.__getattr__(software_string[len(SOFTWARE_PRODUCT_NAMESPACE):]) return product.__getattr__(software_string[len(SOFTWARE_PRODUCT_NAMESPACE):])
except AttributeError as e: except AttributeError as e:
logger.error('Error: %s Exiting now.' % e) logger.error('Error: %s Exiting now.', e)
sys.exit(1) sys.exit(1)
def do_console(local): def do_console(local):
......
...@@ -27,8 +27,6 @@ ...@@ -27,8 +27,6 @@
# #
############################################################################## ##############################################################################
from six.moves import zip
from lxml import etree as ElementTree from lxml import etree as ElementTree
from slapos.util import mkdir_p from slapos.util import mkdir_p
...@@ -137,19 +135,17 @@ class ConsumptionReportBase(object): ...@@ -137,19 +135,17 @@ class ConsumptionReportBase(object):
def getPartitionCPULoadAverage(self, partition_id, date_scope): def getPartitionCPULoadAverage(self, partition_id, date_scope):
self.db.connect() self.db.connect()
query_result_cursor = self.db.select("user", date_scope, cpu_percent_sum = self.db.select("user", date_scope,
columns="SUM(cpu_percent)", columns="SUM(cpu_percent)",
where="partition = '%s'" % partition_id) where="partition = '%s'" % partition_id)
cpu_percent_sum = list(zip(*query_result_cursor))
if len(cpu_percent_sum) and cpu_percent_sum[0][0] is None: if len(cpu_percent_sum) and cpu_percent_sum[0][0] is None:
return return
query_result_cursor = self.db.select("user", date_scope, sample_amount = self.db.select("user", date_scope,
columns="COUNT(DISTINCT time)", columns="COUNT(DISTINCT time)",
where="partition = '%s'" % partition_id) where="partition = '%s'" % partition_id)
sample_amount = list(zip(*query_result_cursor))
self.db.close() self.db.close()
if len(sample_amount) and len(cpu_percent_sum): if len(sample_amount) and len(cpu_percent_sum):
...@@ -157,19 +153,17 @@ class ConsumptionReportBase(object): ...@@ -157,19 +153,17 @@ class ConsumptionReportBase(object):
def getPartitionUsedMemoryAverage(self, partition_id, date_scope): def getPartitionUsedMemoryAverage(self, partition_id, date_scope):
self.db.connect() self.db.connect()
query_result_cursor = self.db.select("user", date_scope, memory_sum = self.db.select("user", date_scope,
columns="SUM(memory_rss)", columns="SUM(memory_rss)",
where="partition = '%s'" % partition_id) where="partition = '%s'" % partition_id)
memory_sum = list(zip(*query_result_cursor))
if len(memory_sum) and memory_sum[0][0] is None: if len(memory_sum) and memory_sum[0][0] is None:
return return
query_result_cursor = self.db.select("user", date_scope, sample_amount = self.db.select("user", date_scope,
columns="COUNT(DISTINCT time)", columns="COUNT(DISTINCT time)",
where="partition = '%s'" % partition_id) where="partition = '%s'" % partition_id)
sample_amount = list(zip(*query_result_cursor))
self.db.close() self.db.close()
if len(sample_amount) and len(memory_sum): if len(sample_amount) and len(memory_sum):
...@@ -177,18 +171,16 @@ class ConsumptionReportBase(object): ...@@ -177,18 +171,16 @@ class ConsumptionReportBase(object):
def getPartitionDiskUsedAverage(self, partition_id, date_scope): def getPartitionDiskUsedAverage(self, partition_id, date_scope):
self.db.connect() self.db.connect()
query_result_cursor = self.db.select("folder", date_scope, disk_used_sum = self.db.select("folder", date_scope,
columns="SUM(disk_used)", columns="SUM(disk_used)",
where="partition = '%s'" % partition_id) where="partition = '%s'" % partition_id)
disk_used_sum = list(zip(*query_result_cursor))
if len(disk_used_sum) and disk_used_sum[0][0] is None: if len(disk_used_sum) and disk_used_sum[0][0] is None:
return return
query_result_cursor = self.db.select("folder", date_scope, collect_amount = self.db.select("folder", date_scope,
columns="COUNT(DISTINCT time)", columns="COUNT(DISTINCT time)",
where="partition = '%s'" % partition_id) where="partition = '%s'" % partition_id)
collect_amount = list(zip(*query_result_cursor))
self.db.close() self.db.close()
if len(collect_amount) and len(disk_used_sum): if len(collect_amount) and len(disk_used_sum):
...@@ -289,7 +281,7 @@ class ConsumptionReport(ConsumptionReportBase): ...@@ -289,7 +281,7 @@ class ConsumptionReport(ConsumptionReportBase):
reference=user, reference=user,
category="") category="")
with open(xml_report_path, 'w') as f: with open(xml_report_path, 'wb') as f:
f.write(journal.getXML()) f.write(journal.getXML())
f.close() f.close()
...@@ -300,20 +292,18 @@ class ConsumptionReport(ConsumptionReportBase): ...@@ -300,20 +292,18 @@ class ConsumptionReport(ConsumptionReportBase):
def _getCpuLoadAverageConsumption(self, date_scope): def _getCpuLoadAverageConsumption(self, date_scope):
self.db.connect() self.db.connect()
query_result_cursor = self.db.select("system", date_scope, cpu_load_percent_list = self.db.select("system", date_scope,
columns="SUM(cpu_percent)/COUNT(cpu_percent)") columns="SUM(cpu_percent)/COUNT(cpu_percent)")
cpu_load_percent_list = list(zip(*query_result_cursor))
self.db.close() self.db.close()
if len(cpu_load_percent_list): if len(cpu_load_percent_list):
return cpu_load_percent_list[0][0] return cpu_load_percent_list[0][0]
def _getMemoryAverageConsumption(self, date_scope): def _getMemoryAverageConsumption(self, date_scope):
self.db.connect() self.db.connect()
query_result_cursor = self.db.select("system", date_scope, memory_used_list = self.db.select("system", date_scope,
columns="SUM(memory_used)/COUNT(memory_used)") columns="SUM(memory_used)/COUNT(memory_used)")
memory_used_list = list(zip(*query_result_cursor))
self.db.close() self.db.close()
if len(memory_used_list): if len(memory_used_list):
return memory_used_list[0][0] return memory_used_list[0][0]
...@@ -331,7 +321,7 @@ class Journal(object): ...@@ -331,7 +321,7 @@ class Journal(object):
def getXML(self): def getXML(self):
report = ElementTree.tostring(self.root) report = ElementTree.tostring(self.root)
return "<?xml version='1.0' encoding='utf-8'?>%s" % report return b"<?xml version='1.0' encoding='utf-8'?>%s" % report
def newTransaction(self, portal_type="Sale Packing List"): def newTransaction(self, portal_type="Sale Packing List"):
transaction = ElementTree.SubElement(self.root, "transaction") transaction = ElementTree.SubElement(self.root, "transaction")
......
...@@ -292,8 +292,8 @@ class Software(object): ...@@ -292,8 +292,8 @@ class Software(object):
f.close() f.close()
def _create_buildout_profile(self, buildout_cfg, url): def _create_buildout_profile(self, buildout_cfg, url):
with open(buildout_cfg, 'wb') as fout: with open(buildout_cfg, 'w') as fout:
fout.write(('[buildout]\nextends = ' + url + '\n').encode('utf-8')) fout.write('[buildout]\nextends = ' + url + '\n')
self._set_ownership(buildout_cfg) self._set_ownership(buildout_cfg)
def uploadSoftwareRelease(self, tarpath): def uploadSoftwareRelease(self, tarpath):
......
...@@ -30,8 +30,8 @@ try: ...@@ -30,8 +30,8 @@ try:
else: else:
LIBNETWORKCACHE_ENABLED = True LIBNETWORKCACHE_ENABLED = True
except: except:
print('There was problem while trying to import slapos.libnetworkcache:'\ print('There was problem while trying to import slapos.libnetworkcache:\n%s'
'\n%s' % traceback.format_exc()) % traceback.format_exc())
LIBNETWORKCACHE_ENABLED = False LIBNETWORKCACHE_ENABLED = False
print('Networkcache forced to be disabled.') print('Networkcache forced to be disabled.')
......
...@@ -38,7 +38,7 @@ import importlib ...@@ -38,7 +38,7 @@ import importlib
import traceback import traceback
import psutil import psutil
from multiprocessing import Process, Queue as MQueue from multiprocessing import Process, Queue as MQueue
from six.moves import queue from six.moves import queue, reload_module
from slapos.util import mkdir_p, chownDirectory from slapos.util import mkdir_p, chownDirectory
from slapos.grid.utils import dropPrivileges, killProcessTree from slapos.grid.utils import dropPrivileges, killProcessTree
from slapos.grid.promise import interface from slapos.grid.promise import interface
...@@ -195,7 +195,7 @@ class PromiseProcess(Process): ...@@ -195,7 +195,7 @@ class PromiseProcess(Process):
if promise_module.__file__ != self.promise_path: if promise_module.__file__ != self.promise_path:
# cached module need to be updated # cached module need to be updated
promise_module = reload(promise_module) promise_module = reload_module(promise_module)
# load extra parameters # load extra parameters
self._loadPromiseParameterDict(promise_module) self._loadPromiseParameterDict(promise_module)
...@@ -208,7 +208,7 @@ class PromiseProcess(Process): ...@@ -208,7 +208,7 @@ class PromiseProcess(Process):
if not isinstance(extra_dict, dict): if not isinstance(extra_dict, dict):
raise ValueError("Extra parameter is not a dict") raise ValueError("Extra parameter is not a dict")
for key in extra_dict: for key in extra_dict:
if self.argument_dict.has_key(key): if key in self.argument_dict:
raise ValueError("Extra parameter name %r cannot be used.\n%s" % ( raise ValueError("Extra parameter name %r cannot be used.\n%s" % (
key, extra_dict)) key, extra_dict))
self.argument_dict[key] = extra_dict[key] self.argument_dict[key] = extra_dict[key]
......
...@@ -32,7 +32,7 @@ import os ...@@ -32,7 +32,7 @@ import os
import pkg_resources import pkg_resources
import random import random
import socket import socket
from six import StringIO from io import BytesIO
import subprocess import subprocess
import sys import sys
import tempfile import tempfile
...@@ -1309,7 +1309,7 @@ stderr_logfile_backups=1 ...@@ -1309,7 +1309,7 @@ stderr_logfile_backups=1
def validateXML(self, to_be_validated, xsd_model): def validateXML(self, to_be_validated, xsd_model):
"""Validates a given xml file""" """Validates a given xml file"""
#We retrieve the xsd model #We retrieve the xsd model
xsd_model = StringIO.StringIO(xsd_model) xsd_model = BytesIO(xsd_model)
xmlschema_doc = etree.parse(xsd_model) xmlschema_doc = etree.parse(xsd_model)
xmlschema = etree.XMLSchema(xmlschema_doc) xmlschema = etree.XMLSchema(xmlschema_doc)
......
...@@ -352,10 +352,12 @@ def launchBuildout(path, buildout_binary, logger, ...@@ -352,10 +352,12 @@ def launchBuildout(path, buildout_binary, logger,
def updateFile(file_path, content, mode=0o600): def updateFile(file_path, content, mode=0o600):
"""Creates or updates a file with "content" as content.""" """Creates or updates a file with "content" as content."""
altered = False altered = False
if isinstance(content, six.text_type):
content = content.encode('utf-8')
if not (os.path.isfile(file_path)) or \ if not (os.path.isfile(file_path)) or \
not (hashlib.md5(open(file_path, 'rb').read()).digest() == not (hashlib.md5(open(file_path, 'rb').read()).digest() ==
hashlib.md5(content).digest()): hashlib.md5(content).digest()):
with open(file_path, 'w') as fout: with open(file_path, 'wb') as fout:
fout.write(content) fout.write(content)
altered = True altered = True
os.chmod(file_path, stat.S_IREAD | stat.S_IWRITE | stat.S_IEXEC) os.chmod(file_path, stat.S_IREAD | stat.S_IWRITE | stat.S_IEXEC)
......
...@@ -55,19 +55,10 @@ class UnauthorizedError(Exception): ...@@ -55,19 +55,10 @@ class UnauthorizedError(Exception):
pass pass
# cast everything to string, utf-8 encoded
def to_str(v):
if isinstance(v, six.binary_type):
return v
if not isinstance(v, six.text_type):
v = six.text_type(v)
return v.encode('utf-8')
def xml2dict(xml): def xml2dict(xml):
result_dict = {} result_dict = {}
if xml is not None and xml != '': if xml:
tree = etree.fromstring(to_str(xml)) tree = etree.fromstring(xml)
for element in tree.iter(tag=etree.Element): for element in tree.iter(tag=etree.Element):
if element.tag == 'parameter': if element.tag == 'parameter':
key = element.get('id') key = element.get('id')
...@@ -83,8 +74,6 @@ def xml2dict(xml): ...@@ -83,8 +74,6 @@ def xml2dict(xml):
def dict2xml(dictionary): def dict2xml(dictionary):
instance = etree.Element('instance') instance = etree.Element('instance')
for parameter_id, parameter_value in six.iteritems(dictionary): for parameter_id, parameter_value in six.iteritems(dictionary):
# cast everything to string
parameter_value = six.text_type(parameter_value)
etree.SubElement(instance, "parameter", etree.SubElement(instance, "parameter",
attrib={'id': parameter_id}).text = parameter_value attrib={'id': parameter_id}).text = parameter_value
return etree.tostring(instance, return etree.tostring(instance,
...@@ -511,8 +500,6 @@ def forwardRequestToExternalMaster(master_url, request_form): ...@@ -511,8 +500,6 @@ def forwardRequestToExternalMaster(master_url, request_form):
new_request_form['filter_xml'] = dumps(filter_kw) new_request_form['filter_xml'] = dumps(filter_kw)
xml = slap._connection_helper.POST('/requestComputerPartition', data=new_request_form) xml = slap._connection_helper.POST('/requestComputerPartition', data=new_request_form)
if type(xml) is six.text_type:
xml.encode('utf-8')
partition = loads(xml) partition = loads(xml)
# XXX move to other end # XXX move to other end
......
...@@ -94,8 +94,6 @@ class SlapRequester(SlapDocument): ...@@ -94,8 +94,6 @@ class SlapRequester(SlapDocument):
request_dict=request_dict, request_dict=request_dict,
connection_helper=self._connection_helper, connection_helper=self._connection_helper,
) )
if type(xml) is six.text_type:
xml.encode('utf-8')
software_instance = xml_marshaller.loads(xml) software_instance = xml_marshaller.loads(xml)
computer_partition = ComputerPartition( computer_partition = ComputerPartition(
software_instance.slap_computer_id.encode('UTF-8'), software_instance.slap_computer_id.encode('UTF-8'),
...@@ -206,12 +204,11 @@ class SoftwareInstance(SlapDocument): ...@@ -206,12 +204,11 @@ class SoftwareInstance(SlapDocument):
Contains Software Instance information Contains Software Instance information
""" """
def __init__(self, **kwargs): def __init__(self, **kw):
""" """
Makes easy initialisation of class parameters Makes easy initialisation of class parameters
""" """
for k, v in six.iteritems(kwargs): self.__dict__.update(kw)
setattr(self, k, v)
"""Exposed exceptions""" """Exposed exceptions"""
...@@ -728,8 +725,6 @@ class ConnectionHelper: ...@@ -728,8 +725,6 @@ class ConnectionHelper:
# We should stablise slap library soon. # We should stablise slap library soon.
xml = self.GET('getComputerInformation', params=params) xml = self.GET('getComputerInformation', params=params)
if type(xml) is six.text_type:
xml.encode('utf-8')
return xml_marshaller.loads(xml) return xml_marshaller.loads(xml)
def do_request(self, method, path, params=None, data=None, headers=None): def do_request(self, method, path, params=None, data=None, headers=None):
......
...@@ -185,7 +185,7 @@ class TestSlapOSPromiseLauncher(TestSlapOSPromiseMixin): ...@@ -185,7 +185,7 @@ class TestSlapOSPromiseLauncher(TestSlapOSPromiseMixin):
with self.assertRaises(ImportError) as exc: with self.assertRaises(ImportError) as exc:
promise_module = promise_process._loadPromiseModule() promise_module = promise_process._loadPromiseModule()
self.assertEquals(str(exc.exception), 'No module named %s' % self.assertEqual(str(exc.exception), 'No module named %s' %
("'%s'" % promise_name if six.PY3 else ("'%s'" % promise_name if six.PY3 else
promise_name)) promise_name))
...@@ -211,7 +211,7 @@ class RunPromise(GenericPromise): ...@@ -211,7 +211,7 @@ class RunPromise(GenericPromise):
promise_module = promise_process._loadPromiseModule() promise_module = promise_process._loadPromiseModule()
message = "RunPromise class in my_promise_noimplement.py must implement" \ message = "RunPromise class in my_promise_noimplement.py must implement" \
" 'IPromise' interface. @implementer(interface.IPromise) is missing ?" " 'IPromise' interface. @implementer(interface.IPromise) is missing ?"
self.assertEquals(str(exc.exception), message) self.assertEqual(str(exc.exception), message)
def test_promise_match_interface_no_generic(self): def test_promise_match_interface_no_generic(self):
promise_name = 'my_promise_nogeneric.py' promise_name = 'my_promise_nogeneric.py'
...@@ -236,7 +236,7 @@ class RunPromise(object): ...@@ -236,7 +236,7 @@ class RunPromise(object):
with self.assertRaises(RuntimeError) as exc: with self.assertRaises(RuntimeError) as exc:
promise_module = promise_process._loadPromiseModule() promise_module = promise_process._loadPromiseModule()
self.assertEquals(str(exc.exception), 'RunPromise class is not a subclass of GenericPromise class.') self.assertEqual(str(exc.exception), 'RunPromise class is not a subclass of GenericPromise class.')
def test_promise_match_interface_no_sense(self): def test_promise_match_interface_no_sense(self):
promise_name = 'my_promise_nosense.py' promise_name = 'my_promise_nosense.py'
...@@ -262,7 +262,7 @@ class RunPromise(GenericPromise): ...@@ -262,7 +262,7 @@ class RunPromise(GenericPromise):
with self.assertRaises(TypeError) as exc: with self.assertRaises(TypeError) as exc:
promise_module = promise_process._loadPromiseModule() promise_module = promise_process._loadPromiseModule()
promise = promise_module.RunPromise({}) promise = promise_module.RunPromise({})
self.assertEquals(str(exc.exception), self.assertEqual(str(exc.exception),
"Can't instantiate abstract class RunPromise with abstract methods sense") "Can't instantiate abstract class RunPromise with abstract methods sense")
def test_promise_extra_config(self): def test_promise_extra_config(self):
...@@ -290,9 +290,9 @@ class RunPromise(GenericPromise): ...@@ -290,9 +290,9 @@ class RunPromise(GenericPromise):
promise_module = promise_process._loadPromiseModule() promise_module = promise_process._loadPromiseModule()
promise = promise_module.RunPromise(promise_process.argument_dict) promise = promise_module.RunPromise(promise_process.argument_dict)
self.assertEquals(promise.getConfig('foo'), 'bar') self.assertEqual(promise.getConfig('foo'), 'bar')
self.assertEquals(promise.getConfig('my-config'), 4522111) self.assertEqual(promise.getConfig('my-config'), 4522111)
self.assertEquals(promise.getConfig('text'), config_dict['text']) self.assertEqual(promise.getConfig('text'), config_dict['text'])
def test_promise_extra_config_reserved_name(self): def test_promise_extra_config_reserved_name(self):
promise_name = 'my_promise_extra.py' promise_name = 'my_promise_extra.py'
...@@ -318,7 +318,7 @@ class RunPromise(GenericPromise): ...@@ -318,7 +318,7 @@ class RunPromise(GenericPromise):
with self.assertRaises(ValueError) as exc: with self.assertRaises(ValueError) as exc:
promise_module = promise_process._loadPromiseModule() promise_module = promise_process._loadPromiseModule()
self.assertEquals(str(exc.exception), "Extra parameter name 'name' cannot be used.\n%s" % config_dict) self.assertEqual(str(exc.exception), "Extra parameter name 'name' cannot be used.\n%s" % config_dict)
def test_runpromise(self): def test_runpromise(self):
promise_name = 'my_promise.py' promise_name = 'my_promise.py'
...@@ -347,7 +347,7 @@ class RunPromise(GenericPromise): ...@@ -347,7 +347,7 @@ class RunPromise(GenericPromise):
with open(state_file) as f: with open(state_file) as f:
result_dict = json.loads(f.read()) result_dict = json.loads(f.read())
result_dict['result'].pop('date') result_dict['result'].pop('date')
self.assertEquals(json.loads(expected_result), result_dict) self.assertEqual(json.loads(expected_result), result_dict)
def test_runpromise_multiple(self): def test_runpromise_multiple(self):
promise_name = 'my_promise.py' promise_name = 'my_promise.py'
...@@ -381,7 +381,7 @@ class RunPromise(GenericPromise): ...@@ -381,7 +381,7 @@ class RunPromise(GenericPromise):
result_dict = json.loads(f.read()) result_dict = json.loads(f.read())
result_dict['result'].pop('date') result_dict['result'].pop('date')
expected_dict = expected_result % {'promise_dir': self.plugin_dir, 'name': 'my_promise'} expected_dict = expected_result % {'promise_dir': self.plugin_dir, 'name': 'my_promise'}
self.assertEquals(json.loads(expected_dict), result_dict) self.assertEqual(json.loads(expected_dict), result_dict)
# second promise # second promise
state_file = os.path.join(self.partition_dir, PROMISE_RESULT_FOLDER_NAME, 'my_second_promise.status.json') state_file = os.path.join(self.partition_dir, PROMISE_RESULT_FOLDER_NAME, 'my_second_promise.status.json')
...@@ -390,7 +390,7 @@ class RunPromise(GenericPromise): ...@@ -390,7 +390,7 @@ class RunPromise(GenericPromise):
result_dict = json.loads(f.read()) result_dict = json.loads(f.read())
result_dict['result'].pop('date') result_dict['result'].pop('date')
expected_dict = expected_result % {'promise_dir': self.plugin_dir, 'name': 'my_second_promise'} expected_dict = expected_result % {'promise_dir': self.plugin_dir, 'name': 'my_second_promise'}
self.assertEquals(json.loads(expected_dict), result_dict) self.assertEqual(json.loads(expected_dict), result_dict)
def test_runpromise_no_logdir(self): def test_runpromise_no_logdir(self):
promise_name = 'my_promise.py' promise_name = 'my_promise.py'
...@@ -410,11 +410,11 @@ class RunPromise(GenericPromise): ...@@ -410,11 +410,11 @@ class RunPromise(GenericPromise):
self.assertTrue(isinstance(result, PromiseQueueResult)) self.assertTrue(isinstance(result, PromiseQueueResult))
self.assertTrue(isinstance(result.item, TestResult)) self.assertTrue(isinstance(result.item, TestResult))
self.assertTrue(result.execution_time != 0) self.assertTrue(result.execution_time != 0)
self.assertEquals(result.title, 'my_promise') self.assertEqual(result.title, 'my_promise')
self.assertEquals(result.name, promise_name) self.assertEqual(result.name, promise_name)
self.assertEquals(result.path, os.path.join(self.plugin_dir, promise_name)) self.assertEqual(result.path, os.path.join(self.plugin_dir, promise_name))
self.assertEquals(result.item.message, "success") self.assertEqual(result.item.message, "success")
self.assertEquals(result.item.hasFailed(), False) self.assertEqual(result.item.hasFailed(), False)
self.assertTrue(isinstance(result.item.date, datetime)) self.assertTrue(isinstance(result.item.date, datetime))
self.configureLauncher(save_method=test_method) self.configureLauncher(save_method=test_method)
...@@ -432,11 +432,11 @@ class RunPromise(GenericPromise): ...@@ -432,11 +432,11 @@ class RunPromise(GenericPromise):
self.assertTrue(isinstance(result, PromiseQueueResult)) self.assertTrue(isinstance(result, PromiseQueueResult))
self.assertTrue(isinstance(result.item, TestResult)) self.assertTrue(isinstance(result.item, TestResult))
self.assertTrue(result.execution_time != 0) self.assertTrue(result.execution_time != 0)
self.assertEquals(result.title, 'my_promise') self.assertEqual(result.title, 'my_promise')
self.assertEquals(result.name, promise_name) self.assertEqual(result.name, promise_name)
self.assertEquals(result.path, os.path.join(self.plugin_dir, promise_name)) self.assertEqual(result.path, os.path.join(self.plugin_dir, promise_name))
self.assertEquals(result.item.message, "success") self.assertEqual(result.item.message, "success")
self.assertEquals(result.item.hasFailed(), False) self.assertEqual(result.item.hasFailed(), False)
self.assertTrue(isinstance(result.item.date, datetime)) self.assertTrue(isinstance(result.item.date, datetime))
# no promise log output dir # no promise log output dir
...@@ -455,11 +455,11 @@ class RunPromise(GenericPromise): ...@@ -455,11 +455,11 @@ class RunPromise(GenericPromise):
self.assertTrue(isinstance(result, PromiseQueueResult)) self.assertTrue(isinstance(result, PromiseQueueResult))
self.assertTrue(isinstance(result.item, AnomalyResult)) self.assertTrue(isinstance(result.item, AnomalyResult))
self.assertTrue(result.execution_time != 0) self.assertTrue(result.execution_time != 0)
self.assertEquals(result.title, 'my_promise') self.assertEqual(result.title, 'my_promise')
self.assertEquals(result.name, promise_name) self.assertEqual(result.name, promise_name)
self.assertEquals(result.path, os.path.join(self.plugin_dir, promise_name)) self.assertEqual(result.path, os.path.join(self.plugin_dir, promise_name))
self.assertEquals(result.item.message, "success") self.assertEqual(result.item.message, "success")
self.assertEquals(result.item.hasFailed(), False) self.assertEqual(result.item.hasFailed(), False)
self.assertTrue(isinstance(result.item.date, datetime)) self.assertTrue(isinstance(result.item.date, datetime))
self.configureLauncher(save_method=test_method, enable_anomaly=True) self.configureLauncher(save_method=test_method, enable_anomaly=True)
...@@ -480,11 +480,11 @@ class RunPromise(GenericPromise): ...@@ -480,11 +480,11 @@ class RunPromise(GenericPromise):
self.assertTrue(isinstance(result.item, TestResult)) self.assertTrue(isinstance(result.item, TestResult))
self.assertTrue(result.name in [promise_failed, promise_name]) self.assertTrue(result.name in [promise_failed, promise_name])
if result.name == promise_failed: if result.name == promise_failed:
self.assertEquals(result.item.hasFailed(), True) self.assertEqual(result.item.hasFailed(), True)
self.assertEquals(result.item.message, "failed") self.assertEqual(result.item.message, "failed")
else: else:
self.assertEquals(result.item.hasFailed(), False) self.assertEqual(result.item.hasFailed(), False)
self.assertEquals(result.item.message, "success") self.assertEqual(result.item.message, "success")
self.counter += 1 self.counter += 1
self.configureLauncher(save_method=test_method) self.configureLauncher(save_method=test_method)
...@@ -494,7 +494,7 @@ class RunPromise(GenericPromise): ...@@ -494,7 +494,7 @@ class RunPromise(GenericPromise):
with self.assertRaises(PromiseError): with self.assertRaises(PromiseError):
self.launcher.run() self.launcher.run()
self.assertEquals(self.counter, 2) self.assertEqual(self.counter, 2)
self.assertTrue(os.path.exists(state_file)) self.assertTrue(os.path.exists(state_file))
self.assertTrue(os.path.exists(os.path.join(self.log_dir, 'my_promise.log'))) self.assertTrue(os.path.exists(os.path.join(self.log_dir, 'my_promise.log')))
self.assertTrue(os.path.exists(os.path.join(self.log_dir, 'my_failed_promise.log'))) self.assertTrue(os.path.exists(os.path.join(self.log_dir, 'my_failed_promise.log')))
...@@ -508,8 +508,8 @@ class RunPromise(GenericPromise): ...@@ -508,8 +508,8 @@ class RunPromise(GenericPromise):
self.assertTrue(isinstance(result, PromiseQueueResult)) self.assertTrue(isinstance(result, PromiseQueueResult))
self.assertTrue(isinstance(result.item, TestResult)) self.assertTrue(isinstance(result.item, TestResult))
self.assertTrue(result.name in [first_promise, second_promise, third_promise]) self.assertTrue(result.name in [first_promise, second_promise, third_promise])
self.assertEquals(result.item.hasFailed(), False) self.assertEqual(result.item.hasFailed(), False)
self.assertEquals(result.item.message, "success") self.assertEqual(result.item.message, "success")
self.counter += 1 self.counter += 1
self.configureLauncher(save_method=test_method) self.configureLauncher(save_method=test_method)
...@@ -520,7 +520,7 @@ class RunPromise(GenericPromise): ...@@ -520,7 +520,7 @@ class RunPromise(GenericPromise):
# run promise will not fail # run promise will not fail
self.launcher.run() self.launcher.run()
self.assertEquals(self.counter, 3) self.assertEqual(self.counter, 3)
self.assertTrue(os.path.exists(state_file)) self.assertTrue(os.path.exists(state_file))
self.assertTrue(os.path.exists(os.path.join(self.log_dir, 'my_first_promise.log'))) self.assertTrue(os.path.exists(os.path.join(self.log_dir, 'my_first_promise.log')))
self.assertTrue(os.path.exists(os.path.join(self.log_dir, 'my_second_promise.log'))) self.assertTrue(os.path.exists(os.path.join(self.log_dir, 'my_second_promise.log')))
...@@ -537,7 +537,7 @@ class RunPromise(GenericPromise): ...@@ -537,7 +537,7 @@ class RunPromise(GenericPromise):
# run promise will fail when promise fail (usefull for slapgrid) # run promise will fail when promise fail (usefull for slapgrid)
with self.assertRaises(PromiseError) as exc: with self.assertRaises(PromiseError) as exc:
self.launcher.run() self.launcher.run()
self.assertEquals(exc.exception.message, 'Promise %r failed.' % second_promise) self.assertEqual(str(exc.exception), 'Promise %r failed.' % second_promise)
# force to reload the module without rerun python # force to reload the module without rerun python
os.system('rm %s/*.pyc' % self.plugin_dir) os.system('rm %s/*.pyc' % self.plugin_dir)
...@@ -562,15 +562,15 @@ class RunPromise(GenericPromise): ...@@ -562,15 +562,15 @@ class RunPromise(GenericPromise):
def test_method_first(result): def test_method_first(result):
self.assertTrue(result.name in [first_promise, second_promise]) self.assertTrue(result.name in [first_promise, second_promise])
self.assertEquals(result.item.hasFailed(), False) self.assertEqual(result.item.hasFailed(), False)
self.assertEquals(result.item.message, "success") self.assertEqual(result.item.message, "success")
self.counter += 1 self.counter += 1
def test_method_one(result): def test_method_one(result):
self.counter += 1 self.counter += 1
self.assertEquals(result.name, first_promise) self.assertEqual(result.name, first_promise)
self.assertEquals(result.item.hasFailed(), False) self.assertEqual(result.item.hasFailed(), False)
self.assertEquals(result.item.message, "success") self.assertEqual(result.item.message, "success")
self.configureLauncher(save_method=test_method_first) self.configureLauncher(save_method=test_method_first)
# ~2 seconds # ~2 seconds
...@@ -579,19 +579,19 @@ class RunPromise(GenericPromise): ...@@ -579,19 +579,19 @@ class RunPromise(GenericPromise):
self.generatePromiseScript(second_promise, success=True, periodicity=0.05) self.generatePromiseScript(second_promise, success=True, periodicity=0.05)
self.launcher.run() self.launcher.run()
self.assertEquals(self.counter, 2) self.assertEqual(self.counter, 2)
self.configureLauncher(save_method=test_method_one) self.configureLauncher(save_method=test_method_one)
time.sleep(2) time.sleep(2)
self.counter = 0 self.counter = 0
self.launcher.run() # only my_first_promise will run self.launcher.run() # only my_first_promise will run
self.assertEquals(self.counter, 1) self.assertEqual(self.counter, 1)
time.sleep(3) time.sleep(3)
self.counter = 0 self.counter = 0
self.configureLauncher(save_method=test_method_first) self.configureLauncher(save_method=test_method_first)
self.launcher.run() self.launcher.run()
self.assertEquals(self.counter, 2) self.assertEqual(self.counter, 2)
def test_runpromise_with_periodicity_same(self): def test_runpromise_with_periodicity_same(self):
first_promise = 'my_first_promise.py' first_promise = 'my_first_promise.py'
...@@ -600,8 +600,8 @@ class RunPromise(GenericPromise): ...@@ -600,8 +600,8 @@ class RunPromise(GenericPromise):
def test_method(result): def test_method(result):
self.assertTrue(result.name in [first_promise, second_promise]) self.assertTrue(result.name in [first_promise, second_promise])
self.assertEquals(result.item.hasFailed(), False) self.assertEqual(result.item.hasFailed(), False)
self.assertEquals(result.item.message, "success") self.assertEqual(result.item.message, "success")
self.counter += 1 self.counter += 1
self.configureLauncher(save_method=test_method) self.configureLauncher(save_method=test_method)
...@@ -610,19 +610,19 @@ class RunPromise(GenericPromise): ...@@ -610,19 +610,19 @@ class RunPromise(GenericPromise):
self.generatePromiseScript(second_promise, success=True, periodicity=0.03) self.generatePromiseScript(second_promise, success=True, periodicity=0.03)
self.launcher.run() self.launcher.run()
self.assertEquals(self.counter, 2) self.assertEqual(self.counter, 2)
self.configureLauncher(save_method=test_method) self.configureLauncher(save_method=test_method)
time.sleep(1) time.sleep(1)
self.counter = 0 self.counter = 0
self.launcher.run() # run nothing self.launcher.run() # run nothing
self.assertEquals(self.counter, 0) self.assertEqual(self.counter, 0)
time.sleep(1) time.sleep(1)
self.counter = 0 self.counter = 0
self.configureLauncher(save_method=test_method) self.configureLauncher(save_method=test_method)
self.launcher.run() self.launcher.run()
self.assertEquals(self.counter, 2) self.assertEqual(self.counter, 2)
def test_runpromise_with_periodicity_result_failed(self): def test_runpromise_with_periodicity_result_failed(self):
first_promise = 'my_first_promise.py' first_promise = 'my_first_promise.py'
...@@ -640,14 +640,14 @@ class RunPromise(GenericPromise): ...@@ -640,14 +640,14 @@ class RunPromise(GenericPromise):
with self.assertRaises(PromiseError) as exc: with self.assertRaises(PromiseError) as exc:
self.launcher.run() self.launcher.run()
self.assertEquals(exc.exception.message, 'Promise %r failed.' % second_promise) self.assertEqual(exc.exception.message, 'Promise %r failed.' % second_promise)
self.assertTrue(os.path.exists(first_state_file)) self.assertTrue(os.path.exists(first_state_file))
self.assertTrue(os.path.exists(second_state_file)) self.assertTrue(os.path.exists(second_state_file))
first_result = json.load(open(first_state_file)) first_result = json.load(open(first_state_file))
second_result = json.load(open(second_state_file)) second_result = json.load(open(second_state_file))
self.assertEquals(first_result['name'], first_promise) self.assertEqual(first_result['name'], first_promise)
self.assertEquals(second_result['name'], second_promise) self.assertEqual(second_result['name'], second_promise)
first_date = first_result['result']['date'] first_date = first_result['result']['date']
second_date = second_result['result']['date'] second_date = second_result['result']['date']
...@@ -655,19 +655,19 @@ class RunPromise(GenericPromise): ...@@ -655,19 +655,19 @@ class RunPromise(GenericPromise):
time.sleep(2) time.sleep(2)
with self.assertRaises(PromiseError) as exc: with self.assertRaises(PromiseError) as exc:
self.launcher.run() # only my_first_promise will run but second_promise still failing self.launcher.run() # only my_first_promise will run but second_promise still failing
self.assertEquals(exc.exception.message, 'Promise %r failed.' % second_promise) self.assertEqual(exc.exception.message, 'Promise %r failed.' % second_promise)
first_result = json.load(open(first_state_file)) first_result = json.load(open(first_state_file))
second_result = json.load(open(second_state_file)) second_result = json.load(open(second_state_file))
self.assertNotEquals(first_result['result']['date'], first_date) self.assertNotEquals(first_result['result']['date'], first_date)
self.assertEquals(second_result['result']['date'], second_date) self.assertEqual(second_result['result']['date'], second_date)
first_date = first_result['result']['date'] first_date = first_result['result']['date']
time.sleep(3) time.sleep(3)
self.configureLauncher() self.configureLauncher()
with self.assertRaises(PromiseError) as exc: with self.assertRaises(PromiseError) as exc:
self.launcher.run() self.launcher.run()
self.assertEquals(exc.exception.message, 'Promise %r failed.' % second_promise) self.assertEqual(exc.exception.message, 'Promise %r failed.' % second_promise)
first_result = json.load(open(first_state_file)) first_result = json.load(open(first_state_file))
second_result = json.load(open(second_state_file)) second_result = json.load(open(second_state_file))
...@@ -690,14 +690,14 @@ class RunPromise(GenericPromise): ...@@ -690,14 +690,14 @@ class RunPromise(GenericPromise):
with self.assertRaises(PromiseError) as exc: with self.assertRaises(PromiseError) as exc:
self.launcher.run() self.launcher.run()
self.assertEquals(str(exc.exception), 'Promise %r failed.' % second_promise) self.assertEqual(str(exc.exception), 'Promise %r failed.' % second_promise)
self.assertTrue(os.path.exists(first_state_file)) self.assertTrue(os.path.exists(first_state_file))
self.assertTrue(os.path.exists(second_state_file)) self.assertTrue(os.path.exists(second_state_file))
first_result = json.load(open(first_state_file)) first_result = json.load(open(first_state_file))
second_result = json.load(open(second_state_file)) second_result = json.load(open(second_state_file))
self.assertEquals(first_result['name'], first_promise) self.assertEqual(first_result['name'], first_promise)
self.assertEquals(second_result['name'], second_promise) self.assertEqual(second_result['name'], second_promise)
first_date = first_result['result']['date'] first_date = first_result['result']['date']
second_date = second_result['result']['date'] second_date = second_result['result']['date']
...@@ -705,12 +705,12 @@ class RunPromise(GenericPromise): ...@@ -705,12 +705,12 @@ class RunPromise(GenericPromise):
time.sleep(2) time.sleep(2)
with self.assertRaises(PromiseError) as exc: with self.assertRaises(PromiseError) as exc:
self.launcher.run() # only my_first_promise will run but second_promise still failing self.launcher.run() # only my_first_promise will run but second_promise still failing
self.assertEquals(str(exc.exception), 'Promise %r failed.' % second_promise) self.assertEqual(str(exc.exception), 'Promise %r failed.' % second_promise)
first_result = json.load(open(first_state_file)) first_result = json.load(open(first_state_file))
second_result = json.load(open(second_state_file)) second_result = json.load(open(second_state_file))
self.assertNotEquals(first_result['result']['date'], first_date) self.assertNotEquals(first_result['result']['date'], first_date)
self.assertEquals(second_result['result']['date'], second_date) self.assertEqual(second_result['result']['date'], second_date)
first_date = first_result['result']['date'] first_date = first_result['result']['date']
second_date = second_result['result']['date'] second_date = second_result['result']['date']
...@@ -735,8 +735,8 @@ class RunPromise(GenericPromise): ...@@ -735,8 +735,8 @@ class RunPromise(GenericPromise):
def test_method(result): def test_method(result):
self.assertTrue(result.name in [first_promise, second_promise]) self.assertTrue(result.name in [first_promise, second_promise])
self.assertEquals(result.item.hasFailed(), False) self.assertEqual(result.item.hasFailed(), False)
self.assertEquals(result.item.message, "success") self.assertEqual(result.item.message, "success")
self.counter += 1 self.counter += 1
self.configureLauncher(save_method=test_method) self.configureLauncher(save_method=test_method)
...@@ -745,30 +745,30 @@ class RunPromise(GenericPromise): ...@@ -745,30 +745,30 @@ class RunPromise(GenericPromise):
self.generatePromiseScript(second_promise, success=True, periodicity=0.03) self.generatePromiseScript(second_promise, success=True, periodicity=0.03)
self.launcher.run() self.launcher.run()
self.assertEquals(self.counter, 2) self.assertEqual(self.counter, 2)
self.configureLauncher(save_method=test_method) self.configureLauncher(save_method=test_method)
time.sleep(1) time.sleep(1)
self.counter = 0 self.counter = 0
self.launcher.run() # run nothing self.launcher.run() # run nothing
self.assertEquals(self.counter, 0) self.assertEqual(self.counter, 0)
self.configureLauncher(save_method=test_method, force=True) self.configureLauncher(save_method=test_method, force=True)
self.counter = 0 self.counter = 0
self.launcher.run() # will run all as force is True self.launcher.run() # will run all as force is True
self.assertEquals(self.counter, 2) self.assertEqual(self.counter, 2)
self.configureLauncher(save_method=test_method) self.configureLauncher(save_method=test_method)
time.sleep(1) time.sleep(1)
self.counter = 0 self.counter = 0
self.launcher.run() # run nothing self.launcher.run() # run nothing
self.assertEquals(self.counter, 0) self.assertEqual(self.counter, 0)
time.sleep(1) time.sleep(1)
self.counter = 0 self.counter = 0
self.configureLauncher(save_method=test_method) self.configureLauncher(save_method=test_method)
self.launcher.run() # after 2 seconds will run all self.launcher.run() # after 2 seconds will run all
self.assertEquals(self.counter, 2) self.assertEqual(self.counter, 2)
def test_runpromise_wrapped(self): def test_runpromise_wrapped(self):
promise_name = "my_bash_promise" promise_name = "my_bash_promise"
...@@ -785,11 +785,11 @@ echo "success" ...@@ -785,11 +785,11 @@ echo "success"
self.assertTrue(isinstance(result, PromiseQueueResult)) self.assertTrue(isinstance(result, PromiseQueueResult))
self.assertTrue(isinstance(result.item, TestResult)) self.assertTrue(isinstance(result.item, TestResult))
self.assertTrue(result.execution_time != 0) self.assertTrue(result.execution_time != 0)
self.assertEquals(result.title, promise_name) self.assertEqual(result.title, promise_name)
self.assertEquals(result.name, promise_name) self.assertEqual(result.name, promise_name)
self.assertEquals(result.path, os.path.join(self.legacy_promise_dir, promise_name)) self.assertEqual(result.path, os.path.join(self.legacy_promise_dir, promise_name))
self.assertEquals(result.item.message, "success") self.assertEqual(result.item.message, "success")
self.assertEquals(result.item.hasFailed(), False) self.assertEqual(result.item.hasFailed(), False)
self.assertTrue(isinstance(result.item.date, datetime)) self.assertTrue(isinstance(result.item.date, datetime))
self.configureLauncher(save_method=test_method) self.configureLauncher(save_method=test_method)
...@@ -813,7 +813,7 @@ exit 1 ...@@ -813,7 +813,7 @@ exit 1
state_file = os.path.join(self.partition_dir, PROMISE_STATE_FOLDER_NAME) state_file = os.path.join(self.partition_dir, PROMISE_STATE_FOLDER_NAME)
with self.assertRaises(PromiseError) as exc: with self.assertRaises(PromiseError) as exc:
self.launcher.run() self.launcher.run()
self.assertEquals(str(exc.exception), 'Promise %r failed.' % promise_name) self.assertEqual(str(exc.exception), 'Promise %r failed.' % promise_name)
def test_runpromise_wrapped_mixed(self): def test_runpromise_wrapped_mixed(self):
self.called = 0 self.called = 0
...@@ -822,12 +822,12 @@ exit 1 ...@@ -822,12 +822,12 @@ exit 1
self.called += 1 self.called += 1
result_dict.pop(result.name) result_dict.pop(result.name)
if result.title == "first_promise" or result.title == "second_promise": if result.title == "first_promise" or result.title == "second_promise":
self.assertEquals(result.item.message, "success") self.assertEqual(result.item.message, "success")
if result.title == "my_bash_promise": if result.title == "my_bash_promise":
self.assertEquals(result.item.message, "promise 1 succeeded") self.assertEqual(result.item.message, "promise 1 succeeded")
if result.title == "my_bash_promise2": if result.title == "my_bash_promise2":
self.assertEquals(result.item.message, "promise 2 succeeded") self.assertEqual(result.item.message, "promise 2 succeeded")
self.assertEquals(result.item.hasFailed(), False) self.assertEqual(result.item.hasFailed(), False)
promise_name = "my_bash_promise" promise_name = "my_bash_promise"
promise_path = os.path.join(self.legacy_promise_dir, promise_name) promise_path = os.path.join(self.legacy_promise_dir, promise_name)
...@@ -850,7 +850,7 @@ exit 0 ...@@ -850,7 +850,7 @@ exit 0
self.configureLauncher(save_method=test_method) self.configureLauncher(save_method=test_method)
self.launcher.run() self.launcher.run()
self.assertEquals(self.called, 4) self.assertEqual(self.called, 4)
def test_runpromise_run_only(self): def test_runpromise_run_only(self):
...@@ -861,8 +861,8 @@ exit 0 ...@@ -861,8 +861,8 @@ exit 0
self.check_list = [first_promise, second_promise, third_promise] self.check_list = [first_promise, second_promise, third_promise]
def test_method(result): def test_method(result):
self.assertTrue(result.name in self.check_list) self.assertTrue(result.name in self.check_list)
self.assertEquals(result.item.hasFailed(), False) self.assertEqual(result.item.hasFailed(), False)
self.assertEquals(result.item.message, "success") self.assertEqual(result.item.message, "success")
self.counter += 1 self.counter += 1
self.configureLauncher(save_method=test_method) self.configureLauncher(save_method=test_method)
...@@ -872,14 +872,14 @@ exit 0 ...@@ -872,14 +872,14 @@ exit 0
# run promise will not fail # run promise will not fail
self.launcher.run() self.launcher.run()
self.assertEquals(self.counter, 3) self.assertEqual(self.counter, 3)
self.counter = 0 self.counter = 0
self.check_list = [second_promise] self.check_list = [second_promise]
self.configureLauncher(save_method=test_method, run_list=[second_promise], force=True) self.configureLauncher(save_method=test_method, run_list=[second_promise], force=True)
time.sleep(1) time.sleep(1)
self.launcher.run() self.launcher.run()
self.assertEquals(self.counter, 1) self.assertEqual(self.counter, 1)
def test_runpromise_run_only_multiple(self): def test_runpromise_run_only_multiple(self):
first_promise = 'my_first_promise.py' first_promise = 'my_first_promise.py'
...@@ -889,8 +889,8 @@ exit 0 ...@@ -889,8 +889,8 @@ exit 0
self.check_list = [first_promise, second_promise, third_promise] self.check_list = [first_promise, second_promise, third_promise]
def test_method(result): def test_method(result):
self.assertTrue(result.name in self.check_list) self.assertTrue(result.name in self.check_list)
self.assertEquals(result.item.hasFailed(), False) self.assertEqual(result.item.hasFailed(), False)
self.assertEquals(result.item.message, "success") self.assertEqual(result.item.message, "success")
self.counter += 1 self.counter += 1
self.configureLauncher(save_method=test_method) self.configureLauncher(save_method=test_method)
...@@ -900,14 +900,14 @@ exit 0 ...@@ -900,14 +900,14 @@ exit 0
# run promise will not fail # run promise will not fail
self.launcher.run() self.launcher.run()
self.assertEquals(self.counter, 3) self.assertEqual(self.counter, 3)
self.counter = 0 self.counter = 0
self.check_list = [third_promise, second_promise] self.check_list = [third_promise, second_promise]
self.configureLauncher(save_method=test_method, run_list=self.check_list, force=True) self.configureLauncher(save_method=test_method, run_list=self.check_list, force=True)
time.sleep(1) time.sleep(1)
self.launcher.run() self.launcher.run()
self.assertEquals(self.counter, 2) self.assertEqual(self.counter, 2)
def writeLatestPromiseResult(self): def writeLatestPromiseResult(self):
state_file = os.path.join(self.partition_dir, PROMISE_RESULT_FOLDER_NAME, 'my_promise.status.json') state_file = os.path.join(self.partition_dir, PROMISE_RESULT_FOLDER_NAME, 'my_promise.status.json')
...@@ -962,10 +962,10 @@ exit 0 ...@@ -962,10 +962,10 @@ exit 0
self.assertTrue(isinstance(result, PromiseQueueResult)) self.assertTrue(isinstance(result, PromiseQueueResult))
self.assertTrue(isinstance(result.item, AnomalyResult)) self.assertTrue(isinstance(result.item, AnomalyResult))
self.assertTrue(result.execution_time >= 1) self.assertTrue(result.execution_time >= 1)
self.assertEquals(result.title, 'my_promise') self.assertEqual(result.title, 'my_promise')
self.assertEquals(result.name, promise_name) self.assertEqual(result.name, promise_name)
self.assertTrue("Promise timed out after" in result.item.message) self.assertTrue("Promise timed out after" in result.item.message)
self.assertEquals(result.item.hasFailed(), True) self.assertEqual(result.item.hasFailed(), True)
self.configureLauncher(save_method=test_method, enable_anomaly=True, timeout=1) self.configureLauncher(save_method=test_method, enable_anomaly=True, timeout=1)
self.generatePromiseScript(promise_name, success=True, content="""import time self.generatePromiseScript(promise_name, success=True, content="""import time
...@@ -993,11 +993,11 @@ echo "success" ...@@ -993,11 +993,11 @@ echo "success"
self.assertTrue(isinstance(result, PromiseQueueResult)) self.assertTrue(isinstance(result, PromiseQueueResult))
self.assertTrue(isinstance(result.item, TestResult)) self.assertTrue(isinstance(result.item, TestResult))
self.assertTrue(result.execution_time >= 1) self.assertTrue(result.execution_time >= 1)
self.assertEquals(result.title, promise_name) self.assertEqual(result.title, promise_name)
self.assertEquals(result.name, promise_name) self.assertEqual(result.name, promise_name)
self.assertEquals(result.path, promise_path) self.assertEqual(result.path, promise_path)
self.assertTrue("Promise timed out after" in result.item.message) self.assertTrue("Promise timed out after" in result.item.message)
self.assertEquals(result.item.hasFailed(), True) self.assertEqual(result.item.hasFailed(), True)
self.assertTrue(isinstance(result.item.date, datetime)) self.assertTrue(isinstance(result.item.date, datetime))
self.configureLauncher(save_method=test_method, timeout=1) self.configureLauncher(save_method=test_method, timeout=1)
...@@ -1105,16 +1105,16 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin): ...@@ -1105,16 +1105,16 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
promise_process = self.createPromiseProcess() promise_process = self.createPromiseProcess()
promise_module = promise_process._loadPromiseModule() promise_module = promise_process._loadPromiseModule()
promise = promise_module.RunPromise(self.promise_config) promise = promise_module.RunPromise(self.promise_config)
self.assertEquals(promise.getPeriodicity(), 1) self.assertEqual(promise.getPeriodicity(), 1)
self.assertEquals(promise.getName(), self.promise_name) self.assertEqual(promise.getName(), self.promise_name)
self.assertEquals(promise.getTitle(), 'my_promise') self.assertEqual(promise.getTitle(), 'my_promise')
self.assertEquals(promise.getPartitionFolder(), self.partition_dir) self.assertEqual(promise.getPartitionFolder(), self.partition_dir)
self.assertEquals(promise.getPromiseFile(), self.promise_path) self.assertEqual(promise.getPromiseFile(), self.promise_path)
self.assertEquals(promise.getLogFolder(), self.log_dir) self.assertEqual(promise.getLogFolder(), self.log_dir)
self.assertEquals(promise.getLogFile(), os.path.join(self.log_dir, 'my_promise.log')) self.assertEqual(promise.getLogFile(), os.path.join(self.log_dir, 'my_promise.log'))
promise.setPeriodicity(2) promise.setPeriodicity(2)
self.assertEquals(promise.getPeriodicity(), 2) self.assertEqual(promise.getPeriodicity(), 2)
with self.assertRaises(ValueError): with self.assertRaises(ValueError):
promise.setPeriodicity(0) promise.setPeriodicity(0)
...@@ -1122,11 +1122,11 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin): ...@@ -1122,11 +1122,11 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
result = self.queue.get(True, 1) result = self.queue.get(True, 1)
self.assertTrue(isinstance(result, PromiseQueueResult)) self.assertTrue(isinstance(result, PromiseQueueResult))
self.assertTrue(isinstance(result.item, AnomalyResult)) self.assertTrue(isinstance(result.item, AnomalyResult))
self.assertEquals(result.title, 'my_promise') self.assertEqual(result.title, 'my_promise')
self.assertEquals(result.name, self.promise_name) self.assertEqual(result.name, self.promise_name)
self.assertEquals(result.path, os.path.join(self.plugin_dir, self.promise_name)) self.assertEqual(result.path, os.path.join(self.plugin_dir, self.promise_name))
self.assertEquals(result.item.message, "success") self.assertEqual(result.item.message, "success")
self.assertEquals(result.item.hasFailed(), False) self.assertEqual(result.item.hasFailed(), False)
self.assertTrue(isinstance(result.item.date, datetime)) self.assertTrue(isinstance(result.item.date, datetime))
def test_promise_anomaly_disabled(self): def test_promise_anomaly_disabled(self):
...@@ -1139,11 +1139,11 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin): ...@@ -1139,11 +1139,11 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
result = self.queue.get(True, 1) result = self.queue.get(True, 1)
self.assertTrue(isinstance(result, PromiseQueueResult)) self.assertTrue(isinstance(result, PromiseQueueResult))
self.assertTrue(isinstance(result.item, TestResult)) self.assertTrue(isinstance(result.item, TestResult))
self.assertEquals(result.title, 'my_promise') self.assertEqual(result.title, 'my_promise')
self.assertEquals(result.name, self.promise_name) self.assertEqual(result.name, self.promise_name)
self.assertEquals(result.path, os.path.join(self.plugin_dir, self.promise_name)) self.assertEqual(result.path, os.path.join(self.plugin_dir, self.promise_name))
self.assertEquals(result.item.message, "success") self.assertEqual(result.item.message, "success")
self.assertEquals(result.item.hasFailed(), False) self.assertEqual(result.item.hasFailed(), False)
self.assertTrue(isinstance(result.item.date, datetime)) self.assertTrue(isinstance(result.item.date, datetime))
def test_promise_with_raise(self): def test_promise_with_raise(self):
...@@ -1156,10 +1156,10 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin): ...@@ -1156,10 +1156,10 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
# no raise # no raise
promise.run() promise.run()
result = self.queue.get(True, 1) result = self.queue.get(True, 1)
self.assertEquals(result.title, 'my_promise') self.assertEqual(result.title, 'my_promise')
self.assertEquals(result.name, self.promise_name) self.assertEqual(result.name, self.promise_name)
self.assertEquals(result.item.message, "Bad Promise raised") self.assertEqual(result.item.message, "Bad Promise raised")
self.assertEquals(result.item.hasFailed(), True) self.assertEqual(result.item.hasFailed(), True)
def test_promise_no_return(self): def test_promise_no_return(self):
promise_content = "return" promise_content = "return"
...@@ -1171,10 +1171,10 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin): ...@@ -1171,10 +1171,10 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
# no raise # no raise
promise.run() promise.run()
result = self.queue.get(True, 1) result = self.queue.get(True, 1)
self.assertEquals(result.title, 'my_promise') self.assertEqual(result.title, 'my_promise')
self.assertEquals(result.name, self.promise_name) self.assertEqual(result.name, self.promise_name)
self.assertEquals(result.item.message, "No result found!") self.assertEqual(result.item.message, "No result found!")
self.assertEquals(result.item.hasFailed(), False) self.assertEqual(result.item.hasFailed(), False)
def test_promise_resultfromlog(self): def test_promise_resultfromlog(self):
promise_content = "self.logger.info('Promise is running...')" promise_content = "self.logger.info('Promise is running...')"
...@@ -1188,11 +1188,11 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin): ...@@ -1188,11 +1188,11 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
# get all messages during the latest minute # get all messages during the latest minute
latest_message_list = promise.getLastPromiseResultList(result_count=1) latest_message_list = promise.getLastPromiseResultList(result_count=1)
date = datetime.strptime(date.strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S') date = datetime.strptime(date.strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S')
self.assertEquals(len(latest_message_list), 1) self.assertEqual(len(latest_message_list), 1)
self.assertEquals( self.assertEqual(
latest_message_list[0][0], latest_message_list[0][0],
{'date': date, 'status': 'INFO', 'message': 'Promise is running...'}) {'date': date, 'status': 'INFO', 'message': 'Promise is running...'})
self.assertEquals( self.assertEqual(
latest_message_list[0][1], latest_message_list[0][1],
{'date': date, 'status': 'INFO', 'message': 'success'}) {'date': date, 'status': 'INFO', 'message': 'success'})
...@@ -1208,12 +1208,12 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin): ...@@ -1208,12 +1208,12 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
# get all messages during the latest minute # get all messages during the latest minute
latest_message_list = promise.getLastPromiseResultList(result_count=1) latest_message_list = promise.getLastPromiseResultList(result_count=1)
date = datetime.strptime(date.strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S') date = datetime.strptime(date.strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S')
self.assertEquals(len(latest_message_list), 1) self.assertEqual(len(latest_message_list), 1)
self.assertEquals( self.assertEqual(
latest_message_list[0][0], latest_message_list[0][0],
{'date': date, 'status': 'ERROR', {'date': date, 'status': 'ERROR',
'message': 'Promise is running...\nmessage in new line'}) 'message': 'Promise is running...\nmessage in new line'})
self.assertEquals( self.assertEqual(
latest_message_list[0][1], latest_message_list[0][1],
{'date': date, 'status': 'INFO', 'message': 'success'}) {'date': date, 'status': 'INFO', 'message': 'success'})
...@@ -1227,17 +1227,17 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin): ...@@ -1227,17 +1227,17 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
date = datetime.now() date = datetime.now()
promise.sense() promise.sense()
self.assertEquals(promise.getLogFolder(), None) self.assertEqual(promise.getLogFolder(), None)
self.assertEquals(promise.getLogFile(), None) self.assertEqual(promise.getLogFile(), None)
# get all messages during the latest minute # get all messages during the latest minute
latest_message_list = promise.getLastPromiseResultList(result_count=1) latest_message_list = promise.getLastPromiseResultList(result_count=1)
date = datetime.strptime(date.strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S') date = datetime.strptime(date.strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S')
self.assertEquals(len(latest_message_list), 1) self.assertEqual(len(latest_message_list), 1)
self.assertEquals( self.assertEqual(
latest_message_list[0][0], latest_message_list[0][0],
{'date': date, 'status': 'INFO', 'message': 'Promise is running...'}) {'date': date, 'status': 'INFO', 'message': 'Promise is running...'})
self.assertEquals( self.assertEqual(
latest_message_list[0][1], latest_message_list[0][1],
{'date': date, 'status': 'INFO', 'message': 'success'}) {'date': date, 'status': 'INFO', 'message': 'success'})
...@@ -1264,13 +1264,13 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin): ...@@ -1264,13 +1264,13 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
start_date = datetime.strptime(start_date.strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S') start_date = datetime.strptime(start_date.strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S')
end_date_string = (start_date - timedelta(minutes=9)).strftime('%Y-%m-%d %H:%M:%S') end_date_string = (start_date - timedelta(minutes=9)).strftime('%Y-%m-%d %H:%M:%S')
end_date = datetime.strptime(end_date_string, '%Y-%m-%d %H:%M:%S') end_date = datetime.strptime(end_date_string, '%Y-%m-%d %H:%M:%S')
self.assertEquals(len(latest_message_list), 10) self.assertEqual(len(latest_message_list), 10)
for message in latest_message_list: for message in latest_message_list:
self.assertEquals(len(message), 1) self.assertEqual(len(message), 1)
self.assertEquals( self.assertEqual(
latest_message_list[0][0], latest_message_list[0][0],
{'date': start_date, 'status': 'INFO', 'message': 'Promise result 49'}) {'date': start_date, 'status': 'INFO', 'message': 'Promise result 49'})
self.assertEquals( self.assertEqual(
latest_message_list[-1][0], latest_message_list[-1][0],
{'date': end_date, 'status': 'INFO', 'message': 'Promise result 40'}) {'date': end_date, 'status': 'INFO', 'message': 'Promise result 40'})
...@@ -1309,13 +1309,13 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin): ...@@ -1309,13 +1309,13 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
end_date_string = (start_date - timedelta(seconds=30*19)).strftime('%Y-%m-%d %H:%M:%S') end_date_string = (start_date - timedelta(seconds=30*19)).strftime('%Y-%m-%d %H:%M:%S')
end_date = datetime.strptime(end_date_string, '%Y-%m-%d %H:%M:%S') end_date = datetime.strptime(end_date_string, '%Y-%m-%d %H:%M:%S')
# there is 2 result line per minutes # there is 2 result line per minutes
self.assertEquals(len(latest_message_list), 10) self.assertEqual(len(latest_message_list), 10)
for message in latest_message_list: for message in latest_message_list:
self.assertEquals(len(message), 2) self.assertEqual(len(message), 2)
self.assertEquals( self.assertEqual(
latest_message_list[0][1], latest_message_list[0][1],
{'date': start_date, 'status': 'INFO', 'message': 'Promise result 0'}) {'date': start_date, 'status': 'INFO', 'message': 'Promise result 0'})
self.assertEquals( self.assertEqual(
latest_message_list[-1][0], latest_message_list[-1][0],
{'date': end_date, 'status': 'INFO', 'message': 'Promise result 19'}) {'date': end_date, 'status': 'INFO', 'message': 'Promise result 19'})
...@@ -1353,11 +1353,11 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin): ...@@ -1353,11 +1353,11 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
end_date_string = (start_date - timedelta(seconds=30)).strftime('%Y-%m-%d %H:%M:%S') end_date_string = (start_date - timedelta(seconds=30)).strftime('%Y-%m-%d %H:%M:%S')
end_date = datetime.strptime(end_date_string, '%Y-%m-%d %H:%M:%S') end_date = datetime.strptime(end_date_string, '%Y-%m-%d %H:%M:%S')
# there is 2 result line per minutes # there is 2 result line per minutes
self.assertEquals(len(latest_message_list), 1) self.assertEqual(len(latest_message_list), 1)
self.assertEquals( self.assertEqual(
latest_message_list[0][0], latest_message_list[0][0],
{'date': end_date, 'status': 'INFO', 'message': 'Promise result 1'}) {'date': end_date, 'status': 'INFO', 'message': 'Promise result 1'})
self.assertEquals( self.assertEqual(
latest_message_list[0][1], latest_message_list[0][1],
{'date': start_date, 'status': 'INFO', 'message': 'Promise result 0'}) {'date': start_date, 'status': 'INFO', 'message': 'Promise result 0'})
...@@ -1395,19 +1395,19 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin): ...@@ -1395,19 +1395,19 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
end_date_string = (start_date - timedelta(seconds=30*3)).strftime('%Y-%m-%d %H:%M:%S') end_date_string = (start_date - timedelta(seconds=30*3)).strftime('%Y-%m-%d %H:%M:%S')
end_date = datetime.strptime(end_date_string, '%Y-%m-%d %H:%M:%S') end_date = datetime.strptime(end_date_string, '%Y-%m-%d %H:%M:%S')
# there is 2 result line per minutes # there is 2 result line per minutes
self.assertEquals(len(latest_message_list), 2) self.assertEqual(len(latest_message_list), 2)
for message in latest_message_list: for message in latest_message_list:
self.assertEquals(len(message), 2) self.assertEqual(len(message), 2)
self.assertEquals( self.assertEqual(
latest_message_list[0][1], latest_message_list[0][1],
{'date': start_date, 'status': 'INFO', 'message': 'Promise result 0'}) {'date': start_date, 'status': 'INFO', 'message': 'Promise result 0'})
self.assertEquals( self.assertEqual(
latest_message_list[-1][0], latest_message_list[-1][0],
{'date': end_date, 'status': 'INFO', 'message': 'Promise result 3'}) {'date': end_date, 'status': 'INFO', 'message': 'Promise result 3'})
latest_message_list = promise.getLastPromiseResultList(result_count=100) latest_message_list = promise.getLastPromiseResultList(result_count=100)
# all results # all results
self.assertEquals(len(latest_message_list), 25) self.assertEqual(len(latest_message_list), 25)
def test_promise_defaulttest(self): def test_promise_defaulttest(self):
promise_content = 'self.logger.info("Promise is running...\\nmessage in new line")' promise_content = 'self.logger.info("Promise is running...\\nmessage in new line")'
...@@ -1420,8 +1420,8 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin): ...@@ -1420,8 +1420,8 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
result = promise._test(result_count=1, failure_amount=1) result = promise._test(result_count=1, failure_amount=1)
self.assertTrue(isinstance(result, TestResult)) self.assertTrue(isinstance(result, TestResult))
self.assertEquals(result.message, 'Promise is running...\nmessage in new line\nsuccess') self.assertEqual(result.message, 'Promise is running...\nmessage in new line\nsuccess')
self.assertEquals(result.hasFailed(), False) self.assertEqual(result.hasFailed(), False)
def test_promise_defaulttest_failure(self): def test_promise_defaulttest_failure(self):
self.initialisePromise(success=False) self.initialisePromise(success=False)
...@@ -1433,8 +1433,8 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin): ...@@ -1433,8 +1433,8 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
result = promise._test(result_count=1, failure_amount=1) result = promise._test(result_count=1, failure_amount=1)
self.assertTrue(isinstance(result, TestResult)) self.assertTrue(isinstance(result, TestResult))
self.assertEquals(result.message, 'failed') self.assertEqual(result.message, 'failed')
self.assertEquals(result.hasFailed(), True) self.assertEqual(result.hasFailed(), True)
def test_promise_defaulttest_error_if_two_fail(self): def test_promise_defaulttest_error_if_two_fail(self):
self.initialisePromise(success=False, timeout=1) self.initialisePromise(success=False, timeout=1)
...@@ -1447,8 +1447,8 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin): ...@@ -1447,8 +1447,8 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
# fail if 2 errors found # fail if 2 errors found
result = promise._test(result_count=2, failure_amount=2) result = promise._test(result_count=2, failure_amount=2)
self.assertTrue(isinstance(result, TestResult)) self.assertTrue(isinstance(result, TestResult))
self.assertEquals(result.message, 'failed') self.assertEqual(result.message, 'failed')
self.assertEquals(result.hasFailed(), False) self.assertEqual(result.hasFailed(), False)
self.initialisePromise(success=False, timeout=1) self.initialisePromise(success=False, timeout=1)
promise_process = self.createPromiseProcess() promise_process = self.createPromiseProcess()
...@@ -1456,8 +1456,8 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin): ...@@ -1456,8 +1456,8 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
promise = promise_module.RunPromise(self.promise_config) promise = promise_module.RunPromise(self.promise_config)
promise.sense() promise.sense()
result = promise._test(result_count=2, failure_amount=2) result = promise._test(result_count=2, failure_amount=2)
self.assertEquals(result.message, 'failed') self.assertEqual(result.message, 'failed')
self.assertEquals(result.hasFailed(), True) self.assertEqual(result.hasFailed(), True)
# will continue to fail # will continue to fail
self.initialisePromise(success=False, timeout=1) self.initialisePromise(success=False, timeout=1)
...@@ -1466,8 +1466,8 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin): ...@@ -1466,8 +1466,8 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
promise = promise_module.RunPromise(self.promise_config) promise = promise_module.RunPromise(self.promise_config)
promise.sense() promise.sense()
result = promise._test(result_count=2, failure_amount=2) result = promise._test(result_count=2, failure_amount=2)
self.assertEquals(result.message, 'failed') self.assertEqual(result.message, 'failed')
self.assertEquals(result.hasFailed(), True) self.assertEqual(result.hasFailed(), True)
def test_promise_defaulttest_anomaly(self): def test_promise_defaulttest_anomaly(self):
promise_content = 'self.logger.info("Promise is running...\\nmessage in new line")' promise_content = 'self.logger.info("Promise is running...\\nmessage in new line")'
...@@ -1480,8 +1480,8 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin): ...@@ -1480,8 +1480,8 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
result = promise._anomaly(result_count=1, failure_amount=1) result = promise._anomaly(result_count=1, failure_amount=1)
self.assertTrue(isinstance(result, AnomalyResult)) self.assertTrue(isinstance(result, AnomalyResult))
self.assertEquals(result.message, 'Promise is running...\nmessage in new line\nsuccess') self.assertEqual(result.message, 'Promise is running...\nmessage in new line\nsuccess')
self.assertEquals(result.hasFailed(), False) self.assertEqual(result.hasFailed(), False)
if __name__ == '__main__': if __name__ == '__main__':
......
...@@ -30,7 +30,7 @@ from __future__ import print_function ...@@ -30,7 +30,7 @@ from __future__ import print_function
import logging import logging
import os import os
import unittest import unittest
import urlparse from six.moves.urllib import parse
import tempfile import tempfile
import httmock import httmock
...@@ -187,7 +187,7 @@ class TestSlap(SlapMixin): ...@@ -187,7 +187,7 @@ class TestSlap(SlapMixin):
self.slap.registerComputer(computer_guid) self.slap.registerComputer(computer_guid)
def handler(url, req): def handler(url, req):
qs = urlparse.parse_qs(url.query) qs = parse.parse_qs(url.query)
if (url.path == '/registerComputerPartition' if (url.path == '/registerComputerPartition'
and qs == { and qs == {
'computer_reference': [computer_guid], 'computer_reference': [computer_guid],
...@@ -228,7 +228,7 @@ class TestSlap(SlapMixin): ...@@ -228,7 +228,7 @@ class TestSlap(SlapMixin):
partition_id = 'PARTITION_01' partition_id = 'PARTITION_01'
def handler(url, req): def handler(url, req):
qs = urlparse.parse_qs(url.query) qs = parse.parse_qs(url.query)
if (url.path == '/registerComputerPartition' if (url.path == '/registerComputerPartition'
and qs == { and qs == {
'computer_reference': [computer_guid], 'computer_reference': [computer_guid],
...@@ -320,7 +320,7 @@ class TestSlap(SlapMixin): ...@@ -320,7 +320,7 @@ class TestSlap(SlapMixin):
software_release_url_list = ['1', '2'] software_release_url_list = ['1', '2']
def handler(url, req): def handler(url, req):
qs = urlparse.parse_qs(url.query) qs = parse.parse_qs(url.query)
if (url.path == '/getSoftwareReleaseListFromSoftwareProduct' if (url.path == '/getSoftwareReleaseListFromSoftwareProduct'
and qs == {'software_product_reference': [software_product_reference]}): and qs == {'software_product_reference': [software_product_reference]}):
return { return {
...@@ -346,7 +346,7 @@ class TestSlap(SlapMixin): ...@@ -346,7 +346,7 @@ class TestSlap(SlapMixin):
software_release_url_list = ['1', '2'] software_release_url_list = ['1', '2']
def handler(url, req): def handler(url, req):
qs = urlparse.parse_qs(url.query) qs = parse.parse_qs(url.query)
if (url.path == '/getSoftwareReleaseListFromSoftwareProduct' if (url.path == '/getSoftwareReleaseListFromSoftwareProduct'
and qs == {'software_release_url': [software_release_url]}): and qs == {'software_release_url': [software_release_url]}):
return { return {
...@@ -387,7 +387,7 @@ class TestSlap(SlapMixin): ...@@ -387,7 +387,7 @@ class TestSlap(SlapMixin):
""" """
hateoas_url = 'foo' hateoas_url = 'foo'
def handler(url, req): def handler(url, req):
qs = urlparse.parse_qs(url.query) qs = parse.parse_qs(url.query)
if (url.path == '/getHateoasUrl'): if (url.path == '/getHateoasUrl'):
return { return {
'status_code': 200, 'status_code': 200,
...@@ -408,7 +408,7 @@ class TestSlap(SlapMixin): ...@@ -408,7 +408,7 @@ class TestSlap(SlapMixin):
""" """
hateoas_url = 'foo' hateoas_url = 'foo'
def handler(url, req): def handler(url, req):
qs = urlparse.parse_qs(url.query) qs = parse.parse_qs(url.query)
if (url.path == '/getHateoasUrl'): if (url.path == '/getHateoasUrl'):
self.fail('slap should not have contacted master to get Hateoas URL.') self.fail('slap should not have contacted master to get Hateoas URL.')
...@@ -426,7 +426,7 @@ class TestSlap(SlapMixin): ...@@ -426,7 +426,7 @@ class TestSlap(SlapMixin):
""" """
hateoas_url = 'foo' hateoas_url = 'foo'
def handler(url, req): def handler(url, req):
qs = urlparse.parse_qs(url.query) qs = parse.parse_qs(url.query)
if (url.path == '/getHateoasUrl'): if (url.path == '/getHateoasUrl'):
return { return {
'status_code': 404, 'status_code': 404,
...@@ -452,7 +452,7 @@ class TestComputer(SlapMixin): ...@@ -452,7 +452,7 @@ class TestComputer(SlapMixin):
slap.initializeConnection(self.server_url) slap.initializeConnection(self.server_url)
def handler(url, req): def handler(url, req):
qs = urlparse.parse_qs(url.query) qs = parse.parse_qs(url.query)
if (url.path == '/registerComputerPartition' if (url.path == '/registerComputerPartition'
and 'computer_reference' in qs and 'computer_reference' in qs
and 'computer_partition_reference' in qs): and 'computer_partition_reference' in qs):
...@@ -522,7 +522,7 @@ class TestComputer(SlapMixin): ...@@ -522,7 +522,7 @@ class TestComputer(SlapMixin):
self.slap.initializeConnection(self.server_url) self.slap.initializeConnection(self.server_url)
def handler(url, req): def handler(url, req):
qs = urlparse.parse_qs(url.query) qs = parse.parse_qs(url.query)
if (url.path == '/registerComputerPartition' if (url.path == '/registerComputerPartition'
and qs == { and qs == {
'computer_reference': [self.computer_guid], 'computer_reference': [self.computer_guid],
...@@ -604,7 +604,7 @@ class TestComputerPartition(SlapMixin): ...@@ -604,7 +604,7 @@ class TestComputerPartition(SlapMixin):
partition_id = 'PARTITION_01' partition_id = 'PARTITION_01'
def handler(url, req): def handler(url, req):
qs = urlparse.parse_qs(url.query) qs = parse.parse_qs(url.query)
if (url.path == '/registerComputerPartition' if (url.path == '/registerComputerPartition'
and 'computer_reference' in qs and 'computer_reference' in qs
and 'computer_partition_reference' in qs): and 'computer_partition_reference' in qs):
...@@ -649,7 +649,7 @@ class TestComputerPartition(SlapMixin): ...@@ -649,7 +649,7 @@ class TestComputerPartition(SlapMixin):
partition_id = 'PARTITION_01' partition_id = 'PARTITION_01'
def handler(url, req): def handler(url, req):
qs = urlparse.parse_qs(url.query) qs = parse.parse_qs(url.query)
if (url.path == '/registerComputerPartition' if (url.path == '/registerComputerPartition'
and 'computer_reference' in qs and 'computer_reference' in qs
and 'computer_partition_reference' in qs): and 'computer_partition_reference' in qs):
...@@ -693,7 +693,7 @@ class TestComputerPartition(SlapMixin): ...@@ -693,7 +693,7 @@ class TestComputerPartition(SlapMixin):
partition_id = 'PARTITION_01' partition_id = 'PARTITION_01'
def handler(url, req): def handler(url, req):
qs = urlparse.parse_qs(url.query) qs = parse.parse_qs(url.query)
if (url.path == '/registerComputerPartition' and if (url.path == '/registerComputerPartition' and
'computer_reference' in qs and 'computer_reference' in qs and
'computer_partition_reference' in qs): 'computer_partition_reference' in qs):
...@@ -742,7 +742,7 @@ class TestComputerPartition(SlapMixin): ...@@ -742,7 +742,7 @@ class TestComputerPartition(SlapMixin):
computer_guid = self._getTestComputerId() computer_guid = self._getTestComputerId()
def handler(url, req): def handler(url, req):
qs = urlparse.parse_qs(url.query) qs = parse.parse_qs(url.query)
if (url.path == '/registerComputerPartition' and if (url.path == '/registerComputerPartition' and
'computer_reference' in qs and 'computer_reference' in qs and
'computer_partition_reference' in qs): 'computer_partition_reference' in qs):
...@@ -803,7 +803,7 @@ class TestComputerPartition(SlapMixin): ...@@ -803,7 +803,7 @@ class TestComputerPartition(SlapMixin):
transaction_file_path = os.path.join(partition_root, transaction_file_name) transaction_file_path = os.path.join(partition_root, transaction_file_name)
def handler(url, req): def handler(url, req):
qs = urlparse.parse_qs(url.query) qs = parse.parse_qs(url.query)
if (url.path == '/registerComputerPartition' if (url.path == '/registerComputerPartition'
and 'computer_reference' in qs and 'computer_reference' in qs
and 'computer_partition_reference' in qs): and 'computer_partition_reference' in qs):
...@@ -881,7 +881,7 @@ class TestComputerPartition(SlapMixin): ...@@ -881,7 +881,7 @@ class TestComputerPartition(SlapMixin):
slap.initializeConnection(self.server_url) slap.initializeConnection(self.server_url)
def handler(url, req): def handler(url, req):
qs = urlparse.parse_qs(url.query) qs = parse.parse_qs(url.query)
if (url.path == '/registerComputerPartition' and if (url.path == '/registerComputerPartition' and
qs['computer_reference'][0] == computer_guid and qs['computer_reference'][0] == computer_guid and
qs['computer_partition_reference'][0] == partition_id): qs['computer_partition_reference'][0] == partition_id):
...@@ -925,7 +925,7 @@ class TestComputerPartition(SlapMixin): ...@@ -925,7 +925,7 @@ class TestComputerPartition(SlapMixin):
slap.initializeConnection(self.server_url) slap.initializeConnection(self.server_url)
def handler(url, req): def handler(url, req):
qs = urlparse.parse_qs(url.query) qs = parse.parse_qs(url.query)
if (url.path == '/registerComputerPartition' and if (url.path == '/registerComputerPartition' and
qs['computer_reference'][0] == computer_guid and qs['computer_reference'][0] == computer_guid and
qs['computer_partition_reference'][0] == partition_id): qs['computer_partition_reference'][0] == partition_id):
...@@ -936,7 +936,7 @@ class TestComputerPartition(SlapMixin): ...@@ -936,7 +936,7 @@ class TestComputerPartition(SlapMixin):
'content': xml_marshaller.xml_marshaller.dumps(partition) 'content': xml_marshaller.xml_marshaller.dumps(partition)
} }
elif url.path == '/softwareInstanceError': elif url.path == '/softwareInstanceError':
parsed_qs_body = urlparse.parse_qs(req.body) parsed_qs_body = parse.parse_qs(req.body)
# XXX: why do we have computer_id and not computer_reference? # XXX: why do we have computer_id and not computer_reference?
# XXX: why do we have computer_partition_id and not # XXX: why do we have computer_partition_id and not
# computer_partition_reference? # computer_partition_reference?
...@@ -997,7 +997,7 @@ class TestSoftwareRelease(SlapMixin): ...@@ -997,7 +997,7 @@ class TestSoftwareRelease(SlapMixin):
slap.initializeConnection(self.server_url) slap.initializeConnection(self.server_url)
def handler(url, req): def handler(url, req):
qs = urlparse.parse_qs(req.body) qs = parse.parse_qs(req.body)
if (url.path == '/softwareReleaseError' and if (url.path == '/softwareReleaseError' and
qs['computer_id'][0] == computer_guid and qs['computer_id'][0] == computer_guid and
qs['url'][0] == software_release_uri and qs['url'][0] == software_release_uri and
......
...@@ -109,23 +109,14 @@ class TestUtil(unittest.TestCase): ...@@ -109,23 +109,14 @@ class TestUtil(unittest.TestCase):
shutil.rmtree(root_slaptest) shutil.rmtree(root_slaptest)
def test_string_to_boolean_with_true_values(self): def test_string_to_boolean_with_true_values(self):
"""
Check that mkdir_p doesn't raise if directory already exist.
"""
for value in ['true', 'True', 'TRUE']: for value in ['true', 'True', 'TRUE']:
self.assertTrue(string_to_boolean(value)) self.assertTrue(string_to_boolean(value))
def test_string_to_boolean_with_false_values(self): def test_string_to_boolean_with_false_values(self):
"""
Check that mkdir_p doesn't raise if directory already exist.
"""
for value in ['false', 'False', 'False']: for value in ['false', 'False', 'False']:
self.assertFalse(string_to_boolean(value)) self.assertFalse(string_to_boolean(value))
def test_string_to_boolean_with_incorrect_values(self): def test_string_to_boolean_with_incorrect_values(self):
"""
Check that mkdir_p doesn't raise if directory already exist.
"""
for value in [True, False, 1, '1', 't', 'tru', 'truelle', 'f', 'fals', 'falsey']: for value in [True, False, 1, '1', 't', 'tru', 'truelle', 'f', 'fals', 'falsey']:
self.assertRaises(ValueError, string_to_boolean, value) self.assertRaises(ValueError, string_to_boolean, value)
......
...@@ -31,7 +31,6 @@ import errno ...@@ -31,7 +31,6 @@ import errno
import os import os
import subprocess import subprocess
import sqlite3 import sqlite3
import six
def mkdir_p(path, mode=0o700): def mkdir_p(path, mode=0o700):
...@@ -85,16 +84,11 @@ def string_to_boolean(string): ...@@ -85,16 +84,11 @@ def string_to_boolean(string):
The parser is completely arbitrary, see code for actual implementation. The parser is completely arbitrary, see code for actual implementation.
""" """
if not isinstance(string, six.binary_type) and not isinstance(string, six.text_type): if isinstance(string, bytes):
raise ValueError('Given value is not a string.') string = string.decode('utf-8')
acceptable_true_values = ['true'] try:
acceptable_false_values = ['false'] return ('false', 'true').index(string.lower())
string = string.lower() except Exception:
if string in acceptable_true_values:
return True
if string in acceptable_false_values:
return False
else:
raise ValueError('%s is neither True nor False.' % string) raise ValueError('%s is neither True nor False.' % string)
......
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