From 99a395dfb15a8b48755c580925704ef2cda679b3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 18 Oct 2012 15:26:25 +0200
Subject: [PATCH] Follow up implementation.

---
 .../testVifibSlapSoftwareReleaseDestroyed.py  |  2 +-
 .../Vifib/tests/testVifibSlapWebService.py    | 20 ++++++++-----------
 2 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/master/product/Vifib/tests/testVifibSlapSoftwareReleaseDestroyed.py b/master/product/Vifib/tests/testVifibSlapSoftwareReleaseDestroyed.py
index b6b986e18..b9169bf50 100644
--- a/master/product/Vifib/tests/testVifibSlapSoftwareReleaseDestroyed.py
+++ b/master/product/Vifib/tests/testVifibSlapSoftwareReleaseDestroyed.py
@@ -34,7 +34,7 @@ class TestVifibSlapSoftwareReleaseDestroyed(TestVifibSlapWebServiceMixin):
       SlapLogout \
       LoginERP5TypeTestCase \
       CheckSoftwareReleaseUnavailableForRequest \
-      CheckSoftwareReleaseNotInPublicTable \
+      CheckSoftwareReleaseNotInSoftwareCatalog \
       CheckSiteConsistency \
       Logout \
     '
diff --git a/master/product/Vifib/tests/testVifibSlapWebService.py b/master/product/Vifib/tests/testVifibSlapWebService.py
index 10338399d..bd33a09cf 100644
--- a/master/product/Vifib/tests/testVifibSlapWebService.py
+++ b/master/product/Vifib/tests/testVifibSlapWebService.py
@@ -257,18 +257,14 @@ class TestVifibSlapWebServiceMixin(testVifibMixin):
   def stepCheckSoftwareReleaseUnavailableForRequest(self, sequence, **kw):
     self.assertEqual(0, self._getRequestBasedComputerPartitionCount(sequence))
 
-  def _getSoftwareReleasePublicTableAmount(self, sequence, **kw):
-    self.getPortal().portal_skins.changeSkin("Hosting")
-    request = self.app.REQUEST
-    request.set('portal_skin', "Hosting")
-    amount = len(self.portal.Base_getAvailableSoftwareReleaseList(
-      **{'software_release.url': sequence['software_release_uri']}))
-    self.getPortal().portal_skins.changeSkin("View")
-    request.set('portal_skin', "View")
-    return amount
-
-  def stepCheckSoftwareReleaseNotInPublicTable(self, sequence, **kw):
-    self.assertEqual(0, self._getSoftwareReleasePublicTableAmount(sequence))
+  def stepCheckSoftwareReleaseNotInSoftwareCatalog(self, sequence, **kw):
+    software_release = self.portal.portal_catalog.getResultValue(
+      uid=sequence['software_release_uid'])
+    software_product = software_release.getAggregateValue(
+      portal_type='Software Product')
+    # if software release is back referenced from product, it is preferred
+    self.assertFalse(software_product.getRelativeUrl() \
+      in software_product.getAggregateList())
 
   def stepCheckComputerTradeConditionDestinationSectionTestVifibCustomer(
       self, sequence, **kw):
-- 
2.30.9