diff --git a/master/bt5/slapos_erp5/TestTemplateItem/testSlapOSDefaultScenario.py b/master/bt5/slapos_erp5/TestTemplateItem/testSlapOSDefaultScenario.py index cba4a63a7bf7ec07759137cf417eff926a2de99e..5b4d55e8af5f1ae49a3e0c5ae4f388485ffc6a99 100644 --- a/master/bt5/slapos_erp5/TestTemplateItem/testSlapOSDefaultScenario.py +++ b/master/bt5/slapos_erp5/TestTemplateItem/testSlapOSDefaultScenario.py @@ -200,6 +200,46 @@ class TestSlapOSDefaultScenario(TestSlapOSSecurityMixin): self.assertEqual('SoftwareInstance', software_instance.__class__.__name__) return software_instance + def checkInstanceAllocation(self, person_reference, instance_title, + software_release, software_type, server): + + self.login(person_reference) + self.personRequestInstanceNotReady( + software_release=software_release, + software_type=software_type, + partition_reference=instance_title, + ) + + self.stepCallSlaposAllocateInstanceAlarm() + self.tic() + + self.personRequestInstance( + software_release=software_release, + software_type=software_type, + partition_reference=instance_title, + ) + + # now instantiate it on computer and set some nice connection dict + self.simulateSlapgridCP(server) + + # let's find instances of user and check connection strings + hosting_subscription_list = self.\ + WebSection_getCurrentHostingSubscriptionList() + self.assertEqual(1, len(hosting_subscription_list)) + hosting_subscription = hosting_subscription_list[0].getObject() + + software_instance = hosting_subscription.getPredecessorValue() + self.assertEqual(software_instance.getTitle(), + hosting_subscription.getTitle()) + connection_dict = software_instance.getConnectionXmlAsDict() + self.assertSameSet(('url_1', 'url_2'), connection_dict.keys()) + self.login() + partition = software_instance.getAggregateValue() + self.assertSameSet( + ['http://%s/' % q.getIpAddress() for q in + partition.contentValues(portal_type='Internet Protocol Address')], + connection_dict.values()) + def test(self): # some preparation self.logout() @@ -248,49 +288,33 @@ class TestSlapOSDefaultScenario(TestSlapOSSecurityMixin): self.formatComputer(personal_server) self.formatComputer(friend_server) - # now join as the another visitor and request software instance - # on public computer + # join as the another visitor and request software instance on public + # computer self.logout() public_reference = 'public-%s' % self.generateNewId() self.joinSlapOS(self.web_site, public_reference) - self.login(public_reference) public_instance_title = 'Public title %s' % self.generateNewId() - self.personRequestInstanceNotReady( - software_release=public_server_software, - software_type='public type', - partition_reference=public_instance_title, - ) + self.checkInstanceAllocation(public_reference, public_instance_title, + public_server_software, 'public type', public_server) - self.stepCallSlaposAllocateInstanceAlarm() - self.tic() - - self.personRequestInstance( - software_release=public_server_software, - software_type='public type', - partition_reference=public_instance_title, - ) + # join as owner friend and request a software instance on computer + # configured by owner - # now instantiate it on computer and set some nice connection dict - self.simulateSlapgridCP(public_server) + self.logout() + friend_reference = 'friend-%s' % self.generateNewId() + self.joinSlapOS(self.web_site, friend_reference) + self.login() + friend_email = self.portal.portal_catalog.getResultValue( + portal_type='Person', reference=friend_reference).getDefaultEmailText() - # let's find instances of user and check connection strings - hosting_subscription_list = self.\ - WebSection_getCurrentHostingSubscriptionList() - self.assertEqual(1, len(hosting_subscription_list)) - hosting_subscription = hosting_subscription_list[0].getObject() + # allow friend to alloce on friendly computer + self.login(owner_reference) + self.setServerOpenFriend(friend_server, [friend_email]) - software_instance = hosting_subscription.getPredecessorValue() - self.assertEqual(software_instance.getTitle(), - hosting_subscription.getTitle()) - connection_dict = software_instance.getConnectionXmlAsDict() - self.assertSameSet(('url_1', 'url_2'), connection_dict.keys()) - self.login() - partition = software_instance.getAggregateValue() - self.assertSameSet( - ['http://%s/' % q.getIpAddress() for q in - partition.contentValues(portal_type='Internet Protocol Address')], - connection_dict.values()) + friend_instance_title = 'Friend title %s' % self.generateNewId() + self.checkInstanceAllocation(friend_reference, friend_instance_title, + friend_server_software, 'friend_type', friend_server) # remove the assertion after test is finished self.assertTrue(False, 'Test not finished') diff --git a/master/bt5/slapos_erp5/bt/revision b/master/bt5/slapos_erp5/bt/revision index 2fb681e3f93b6b7e6441bd64271813a1ec293b5b..9cd72aa941214d4cb8522dda34eb12cf878e3e8b 100644 --- a/master/bt5/slapos_erp5/bt/revision +++ b/master/bt5/slapos_erp5/bt/revision @@ -1 +1 @@ -71 \ No newline at end of file +72 \ No newline at end of file