Commit d0583faa authored by Romain Courteaud's avatar Romain Courteaud

slapos_cloud:

* return nothing is no Software Product is found
* check if remote instance is allocated
parent c949f7ab
...@@ -4,30 +4,32 @@ software_product = None ...@@ -4,30 +4,32 @@ software_product = None
software_release = None software_release = None
software_type = None software_type = None
use_category_uid = portal.restrictedTraverse("portal_categories/use/trade/sale").getUid(),
product_list = portal.portal_catalog( product_list = portal.portal_catalog(
portal_type="Software Product", portal_type="Software Product",
validation_state=['validated', 'published'], validation_state=['validated', 'published'],
use__relative_url="trade/sale", use__uid=use_category_uid,
follow_up__uid=context.getFollowUpUid() follow_up__uid=context.getFollowUpUid()
) )
software_release = portal.portal_catalog.getResultValue( if len(product_list) != 0:
portal_type="Software Product Release Variation", software_release = portal.portal_catalog.getResultValue(
url_string=url_string, portal_type="Software Product Release Variation",
parent_uid=[x.getUid() for x in product_list] url_string=url_string,
) parent_uid=[x.getUid() for x in product_list]
)
if software_release is not None: if software_release is not None:
software_product = software_release.getParentValue() software_product = software_release.getParentValue()
software_type = portal.portal_catalog.getResultValue( software_type = portal.portal_catalog.getResultValue(
parent_uid=software_product.getUid(), parent_uid=software_product.getUid(),
title=context.getSourceReference(), title=context.getSourceReference(),
portal_type="Software Product Type Variation" portal_type="Software Product Type Variation"
) )
if software_type is None: if software_type is None:
software_release = None software_release = None
software_product = None software_product = None
return software_product, software_release, software_type return software_product, software_release, software_type
...@@ -479,22 +479,23 @@ class DefaultScenarioMixin(TestSlapOSSecurityMixin): ...@@ -479,22 +479,23 @@ class DefaultScenarioMixin(TestSlapOSSecurityMixin):
def checkRemoteInstanceAllocation(self, person_user_id, person_reference, def checkRemoteInstanceAllocation(self, person_user_id, person_reference,
instance_title, software_release, software_type, server, instance_title, software_release, software_type, server,
project_reference): project_reference, connection_dict_to_check=None):
self.login(person_user_id) self.login(person_user_id)
self.personRequestInstanceNotReady( if connection_dict_to_check is None:
software_release=software_release, self.personRequestInstanceNotReady(
software_type=software_type, software_release=software_release,
partition_reference=instance_title, software_type=software_type,
project_reference=project_reference partition_reference=instance_title,
) project_reference=project_reference
)
self.checkCloudContract(person_user_id, person_reference, self.checkCloudContract(person_user_id, person_reference,
instance_title, software_release, software_type, server) instance_title, software_release, software_type, server)
self.stepCallSlaposAllocateInstanceAlarm() self.stepCallSlaposAllocateInstanceAlarm()
self.tic() self.tic()
self.personRequestInstance( self.personRequestInstance(
software_release=software_release, software_release=software_release,
...@@ -517,15 +518,14 @@ class DefaultScenarioMixin(TestSlapOSSecurityMixin): ...@@ -517,15 +518,14 @@ class DefaultScenarioMixin(TestSlapOSSecurityMixin):
self.assertEqual(software_instance.getTitle(), self.assertEqual(software_instance.getTitle(),
instance_tree.getTitle()) instance_tree.getTitle())
connection_dict = software_instance.getConnectionXmlAsDict() connection_dict = software_instance.getConnectionXmlAsDict()
self.assertSameSet((), connection_dict.keys())
""" if connection_dict_to_check is None:
self.assertSameSet(('url_1', 'url_2'), connection_dict.keys()) connection_dict_to_check = {}
self.login()
partition = software_instance.getAggregateValue() self.assertSameSet(connection_dict_to_check.keys(), connection_dict.keys())
self.assertSameSet( self.assertSameSet(
['http://%s/' % q.getIpAddress() for q in connection_dict_to_check.values(),
partition.contentValues(portal_type='Internet Protocol Address')], connection_dict.values())
connection_dict.values())"""
def checkSlaveInstanceUnallocation(self, person_user_id, def checkSlaveInstanceUnallocation(self, person_user_id,
person_reference, instance_title, person_reference, instance_title,
......
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