Commit 2c614cd2 authored by Rafael Monnerat's avatar Rafael Monnerat

slapos_crm: Add tests for slapos_crm_check_software_installation_state

parent a258f253
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
</item> </item>
<item> <item>
<key> <string>enabled</string> </key> <key> <string>enabled</string> </key>
<value> <int>0</int> </value> <value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
</item> </item>
<item> <item>
<key> <string>enabled</string> </key> <key> <string>enabled</string> </key>
<value> <int>0</int> </value> <value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
</item> </item>
<item> <item>
<key> <string>enabled</string> </key> <key> <string>enabled</string> </key>
<value> <int>0</int> </value> <value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
</item> </item>
<item> <item>
<key> <string>enabled</string> </key> <key> <string>enabled</string> </key>
<value> <int>0</int> </value> <value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
</item> </item>
<item> <item>
<key> <string>enabled</string> </key> <key> <string>enabled</string> </key>
<value> <int>0</int> </value> <value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
</item> </item>
<item> <item>
<key> <string>enabled</string> </key> <key> <string>enabled</string> </key>
<value> <int>0</int> </value> <value> <int>1</int> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
...@@ -765,7 +765,6 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C ...@@ -765,7 +765,6 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C
self._makeComputer() self._makeComputer()
self.computer.edit(allocation_scope='open/public') self.computer.edit(allocation_scope='open/public')
self.tic()
self._simulateComputer_checkState() self._simulateComputer_checkState()
try: try:
...@@ -780,7 +779,6 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C ...@@ -780,7 +779,6 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C
def test_alarm_check_friend_computer_state(self): def test_alarm_check_friend_computer_state(self):
self._makeComputer() self._makeComputer()
self.computer.edit(allocation_scope='open/friend') self.computer.edit(allocation_scope='open/friend')
self.tic()
self._simulateComputer_checkState() self._simulateComputer_checkState()
...@@ -797,7 +795,6 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C ...@@ -797,7 +795,6 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C
def _test_alarm_check_computer_state_not_selected(self, allocation_scope): def _test_alarm_check_computer_state_not_selected(self, allocation_scope):
self._makeComputer() self._makeComputer()
self.computer.edit(allocation_scope=allocation_scope) self.computer.edit(allocation_scope=allocation_scope)
self.tic()
self._simulateComputer_checkState() self._simulateComputer_checkState()
...@@ -832,21 +829,6 @@ class TestSlapOSCrmMonitoringCheckComputerAllocationScope(SlapOSTestCaseMixin): ...@@ -832,21 +829,6 @@ class TestSlapOSCrmMonitoringCheckComputerAllocationScope(SlapOSTestCaseMixin):
def beforeTearDown(self): def beforeTearDown(self):
transaction.abort() transaction.abort()
def _makeSoftwareInstallation(self):
software_installation = self.portal\
.software_installation_module.template_software_installation\
.Base_createCloneDocument(batch_mode=1)
software_installation.edit(
url_string=self.generateNewSoftwareReleaseUrl(),
aggregate=self.computer.getRelativeUrl(),
reference='TESTSOFTINSTS-%s' % self.generateNewId(),
title='Start requested for %s' % self.computer.getUid()
)
software_installation.validate()
software_installation.requestStart()
return software_installation
def _simulateComputer_checkAndUpdateAllocationScope(self): def _simulateComputer_checkAndUpdateAllocationScope(self):
script_name = 'Computer_checkAndUpdateAllocationScope' script_name = 'Computer_checkAndUpdateAllocationScope'
if script_name in self.portal.portal_skins.custom.objectIds(): if script_name in self.portal.portal_skins.custom.objectIds():
...@@ -868,7 +850,6 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C ...@@ -868,7 +850,6 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C
def test_alarm_not_allowed_allocation_scope_OpenPublic(self): def test_alarm_not_allowed_allocation_scope_OpenPublic(self):
self._makeComputer() self._makeComputer()
self.computer.edit(allocation_scope = 'open/public') self.computer.edit(allocation_scope = 'open/public')
self.tic()
self._simulateComputer_checkAndUpdateAllocationScope() self._simulateComputer_checkAndUpdateAllocationScope()
...@@ -884,7 +865,6 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C ...@@ -884,7 +865,6 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C
def test_alarm_not_allowed_allocation_scope_OpenFriend(self): def test_alarm_not_allowed_allocation_scope_OpenFriend(self):
self._makeComputer() self._makeComputer()
self.computer.edit(allocation_scope = 'open/friend') self.computer.edit(allocation_scope = 'open/friend')
self.tic()
self._simulateComputer_checkAndUpdateAllocationScope() self._simulateComputer_checkAndUpdateAllocationScope()
...@@ -900,7 +880,6 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C ...@@ -900,7 +880,6 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C
def test_alarm_not_allowed_allocationScope_open_personal(self): def test_alarm_not_allowed_allocationScope_open_personal(self):
self._makeComputer() self._makeComputer()
self.computer.edit(allocation_scope = 'open/personal') self.computer.edit(allocation_scope = 'open/personal')
self.tic()
self._simulateComputer_checkAndUpdateAllocationScope() self._simulateComputer_checkAndUpdateAllocationScope()
...@@ -913,26 +892,81 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C ...@@ -913,26 +892,81 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C
self.assertNotEqual('Visited by Computer_checkAndUpdateAllocationScope', self.assertNotEqual('Visited by Computer_checkAndUpdateAllocationScope',
self.computer.workflow_history['edit_workflow'][-1]['comment']) self.computer.workflow_history['edit_workflow'][-1]['comment'])
class TestSlapOSCrmMonitoringCheckComputerSoftwareInstallation(SlapOSTestCaseMixin):
class TestSlapOSCrmMonitoringCheckComputerPersonalAllocationScope(SlapOSTestCaseMixin):
def beforeTearDown(self): def beforeTearDown(self):
transaction.abort() transaction.abort()
def _makeSoftwareInstallation(self): def _simulateComputer_checkSoftwareInstallationState(self):
software_installation = self.portal\ script_name = 'Computer_checkSoftwareInstallationState'
.software_installation_module.template_software_installation\ if script_name in self.portal.portal_skins.custom.objectIds():
.Base_createCloneDocument(batch_mode=1) raise ValueError('Precondition failed: %s exists in custom' % script_name)
software_installation.edit( createZODBPythonScript(self.portal.portal_skins.custom,
url_string=self.generateNewSoftwareReleaseUrl(), script_name,
aggregate=self.computer.getRelativeUrl(), '*args, **kw',
reference='TESTSOFTINSTS-%s' % self.generateNewId(), '# Script body\n'
title='Start requested for %s' % self.computer.getUid() """portal_workflow = context.portal_workflow
) portal_workflow.doActionFor(context, action='edit_action', comment='Visited by Computer_checkSoftwareInstallationState') """ )
software_installation.validate() transaction.commit()
software_installation.requestStart()
return software_installation def _dropComputer_checkAndUpdateAllocationScope(self):
script_name = 'Computer_checkSoftwareInstallationState'
if script_name in self.portal.portal_skins.custom.objectIds():
self.portal.portal_skins.custom.manage_delObjects(script_name)
transaction.commit()
def test_alarm_run_on_open_public(self):
self._makeComputer()
self.computer.edit(allocation_scope = 'open/public')
self.tic()
self._simulateComputer_checkSoftwareInstallationState()
try:
self.portal.portal_alarms.slapos_crm_check_software_installation_state.activeSense()
self.tic()
finally:
self._dropComputer_checkSoftwareInstallationState()
self.assertEqual('Visited by Computer_checkSoftwareInstallationState',
self.computer.workflow_history['edit_workflow'][-1]['comment'])
def test_alarm_run_on_open_friend(self):
self._makeComputer()
self.computer.edit(allocation_scope = 'open/friend')
self.tic()
self._simulateComputer_checkSoftwareInstallationState()
try:
self.portal.portal_alarms.slapos_crm_check_software_installation_state.activeSense()
self.tic()
finally:
self._dropComputer_checkSoftwareInstallationState()
self.assertEqual('Visited by Computer_checkSoftwareInstallationState',
self.computer.workflow_history['edit_workflow'][-1]['comment'])
def test_alarm_not_run_on_open_personal(self):
self._makeComputer()
self.computer.edit(allocation_scope = 'open/personal')
self.tic()
self._simulateComputer_checkSoftwareInstallationState()
try:
self.portal.portal_alarms.slapos_crm_check_software_installation_state.activeSense()
self.tic()
finally:
self._dropComputer_checkSoftwareInstallationState()
self.assertNotEqual('Visited by Computer_checkSoftwareInstallationState',
self.computer.workflow_history['edit_workflow'][-1]['comment'])
class TestSlapOSCrmMonitoringCheckComputerPersonalAllocationScope(SlapOSTestCaseMixin):
def beforeTearDown(self):
transaction.abort()
def _simulateComputer_checkAndUpdatePersonalAllocationScope(self): def _simulateComputer_checkAndUpdatePersonalAllocationScope(self):
script_name = 'Computer_checkAndUpdatePersonalAllocationScope' script_name = 'Computer_checkAndUpdatePersonalAllocationScope'
...@@ -957,7 +991,6 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C ...@@ -957,7 +991,6 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C
def getCreationDate(self): def getCreationDate(self):
return DateTime() - 31 return DateTime() - 31
self.computer.edit(allocation_scope = 'open/personal') self.computer.edit(allocation_scope = 'open/personal')
self.tic()
from Products.ERP5Type.Base import Base from Products.ERP5Type.Base import Base
...@@ -981,7 +1014,6 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C ...@@ -981,7 +1014,6 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C
def getCreationDate(self): def getCreationDate(self):
return DateTime() - 28 return DateTime() - 28
self.computer.edit(allocation_scope = 'open/personal') self.computer.edit(allocation_scope = 'open/personal')
self.tic()
from Products.ERP5Type.Base import Base from Products.ERP5Type.Base import Base
...@@ -1001,8 +1033,7 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C ...@@ -1001,8 +1033,7 @@ portal_workflow.doActionFor(context, action='edit_action', comment='Visited by C
def test_alarm_allowed_allocation_scope_OpenPersonal_already_closed(self): def test_alarm_allowed_allocation_scope_OpenPersonal_already_closed(self):
self._makeComputer() self._makeComputer()
self.computer.edit(allocation_scope = 'close/outdated') self.computer.edit(allocation_scope = 'open/oudated')
self.tic()
self._simulateComputer_checkAndUpdatePersonalAllocationScope() self._simulateComputer_checkAndUpdatePersonalAllocationScope()
......
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
<key> <string>text_content_warning_message</string> </key> <key> <string>text_content_warning_message</string> </key>
<value> <value>
<tuple> <tuple>
<string>W:1105, 0: Cannot decode using encoding "ascii", unexpected byte at position 32 (invalid-encoded-data)</string> <string>W:1145, 0: Cannot decode using encoding "ascii", unexpected byte at position 32 (invalid-encoded-data)</string>
</tuple> </tuple>
</value> </value>
</item> </item>
......
...@@ -434,8 +434,8 @@ The slapos team ...@@ -434,8 +434,8 @@ The slapos team
ticket, event = person.Person_checkToCreateRegularisationRequest() ticket, event = person.Person_checkToCreateRegularisationRequest()
transaction.commit() transaction.commit()
ticket2, event2 = person.Person_checkToCreateRegularisationRequest() ticket2, event2 = person.Person_checkToCreateRegularisationRequest()
self.assertNotEqual(ticket, None) self.assertNotEquals(ticket, None)
self.assertNotEqual(event, None) self.assertNotEquals(event, None)
self.assertEqual(ticket2, None) self.assertEqual(ticket2, None)
self.assertEqual(event2, None) self.assertEqual(event2, None)
...@@ -456,8 +456,8 @@ The slapos team ...@@ -456,8 +456,8 @@ The slapos team
transaction.commit() transaction.commit()
self.tic() self.tic()
ticket2, event2 = person.Person_checkToCreateRegularisationRequest() ticket2, event2 = person.Person_checkToCreateRegularisationRequest()
self.assertNotEqual(ticket, None) self.assertNotEquals(ticket, None)
self.assertNotEqual(event, None) self.assertNotEquals(event, None)
self.assertEqual(ticket2.getRelativeUrl(), ticket.getRelativeUrl()) self.assertEqual(ticket2.getRelativeUrl(), ticket.getRelativeUrl())
self.assertEqual(event2, None) self.assertEqual(event2, None)
...@@ -469,8 +469,8 @@ The slapos team ...@@ -469,8 +469,8 @@ The slapos team
transaction.commit() transaction.commit()
self.tic() self.tic()
ticket2, event2 = person.Person_checkToCreateRegularisationRequest() ticket2, event2 = person.Person_checkToCreateRegularisationRequest()
self.assertNotEqual(ticket, None) self.assertNotEquals(ticket, None)
self.assertNotEqual(event, None) self.assertNotEquals(event, None)
self.assertEqual(ticket2.getRelativeUrl(), ticket.getRelativeUrl()) self.assertEqual(ticket2.getRelativeUrl(), ticket.getRelativeUrl())
self.assertEqual(event2, None) self.assertEqual(event2, None)
...@@ -482,8 +482,8 @@ The slapos team ...@@ -482,8 +482,8 @@ The slapos team
transaction.commit() transaction.commit()
self.tic() self.tic()
ticket2, event2 = person.Person_checkToCreateRegularisationRequest() ticket2, event2 = person.Person_checkToCreateRegularisationRequest()
self.assertNotEqual(ticket2.getRelativeUrl(), ticket.getRelativeUrl()) self.assertNotEquals(ticket2.getRelativeUrl(), ticket.getRelativeUrl())
self.assertNotEqual(event2, None) self.assertNotEquals(event2, None)
def test_addRegularisationRequest_REQUEST_disallowed(self): def test_addRegularisationRequest_REQUEST_disallowed(self):
person = self.makePerson(index=0, user=0) person = self.makePerson(index=0, user=0)
...@@ -634,7 +634,7 @@ class TestSlapOSRegularisationRequest_checkToSendUniqEvent(SlapOSTestCaseMixin): ...@@ -634,7 +634,7 @@ class TestSlapOSRegularisationRequest_checkToSendUniqEvent(SlapOSTestCaseMixin):
'service_module/slapos_crm_spam', 'foo2 title', 'foo2 content', 'foo2 comment') 'service_module/slapos_crm_spam', 'foo2 title', 'foo2 content', 'foo2 comment')
self.assertEqual(ticket.getResource(), 'foo/bar') self.assertEqual(ticket.getResource(), 'foo/bar')
self.assertNotEqual(event.getTitle(), 'foo2 title') self.assertNotEquals(event.getTitle(), 'foo2 title')
self.assertEqual(event.getTextContent(), None) self.assertEqual(event.getTextContent(), None)
self.assertEqual(event.getSimulationState(), 'draft') self.assertEqual(event.getSimulationState(), 'draft')
self.assertEqual(event.getRelativeUrl(), event2.getRelativeUrl()) self.assertEqual(event.getRelativeUrl(), event2.getRelativeUrl())
...@@ -666,7 +666,7 @@ class TestSlapOSRegularisationRequest_checkToSendUniqEvent(SlapOSTestCaseMixin): ...@@ -666,7 +666,7 @@ class TestSlapOSRegularisationRequest_checkToSendUniqEvent(SlapOSTestCaseMixin):
transaction.commit() transaction.commit()
event2 = ticket.RegularisationRequest_checkToSendUniqEvent( event2 = ticket.RegularisationRequest_checkToSendUniqEvent(
'service_module/slapos_crm_spam', 'foo2 title', 'foo2 content', 'foo2 comment') 'service_module/slapos_crm_spam', 'foo2 title', 'foo2 content', 'foo2 comment')
self.assertNotEqual(event, event2) self.assertNotEquals(event, event2)
self.assertEqual(event2, None) self.assertEqual(event2, None)
def test_checkToSendUniqEvent_REQUEST_disallowed(self): def test_checkToSendUniqEvent_REQUEST_disallowed(self):
...@@ -1956,7 +1956,7 @@ class TestSlapOSComputer_notifyWrongAllocationScope(TestCRMSkinsMixin): ...@@ -1956,7 +1956,7 @@ class TestSlapOSComputer_notifyWrongAllocationScope(TestCRMSkinsMixin):
self.tic() self.tic()
self.assertEqual(computer.getAllocationScope(), 'open/personal') self.assertEqual(computer.getAllocationScope(), 'open/personal')
#ticket = self._getGeneratedSupportRequest(computer) #ticket = self._getGeneratedSupportRequest(computer)
self.assertNotEqual(None, ticket) self.assertNotEquals(None, ticket)
self.assertEqual(ticket.getSimulationState(), 'suspended') self.assertEqual(ticket.getSimulationState(), 'suspended')
self.assertEqual('Visited by SupportRequest_trySendNotificationMessage ' \ self.assertEqual('Visited by SupportRequest_trySendNotificationMessage ' \
...@@ -3116,7 +3116,7 @@ class TestSupportRequestTrySendNotificationMessage(SlapOSTestCaseMixin): ...@@ -3116,7 +3116,7 @@ class TestSupportRequestTrySendNotificationMessage(SlapOSTestCaseMixin):
self.assertEqual(title, first_event.getTitle()) self.assertEqual(title, first_event.getTitle())
self.assertEqual(text_content, first_event.getTextContent()) self.assertEqual(text_content, first_event.getTextContent())
self.assertNotEqual(None, first_event.getStartDate()) self.assertNotEquals(None, first_event.getStartDate())
self.assertEqual("service_module/slapos_crm_information", self.assertEqual("service_module/slapos_crm_information",
first_event.getResource()) first_event.getResource())
self.assertEqual(first_event.getDestination(), person.getRelativeUrl()) self.assertEqual(first_event.getDestination(), person.getRelativeUrl())
...@@ -3130,7 +3130,7 @@ class TestSupportRequestTrySendNotificationMessage(SlapOSTestCaseMixin): ...@@ -3130,7 +3130,7 @@ class TestSupportRequestTrySendNotificationMessage(SlapOSTestCaseMixin):
self.assertEqual(title, event.getTitle()) self.assertEqual(title, event.getTitle())
self.assertEqual(text_content, event.getTextContent()) self.assertEqual(text_content, event.getTextContent())
self.assertNotEqual(None, event.getStartDate()) self.assertNotEquals(None, event.getStartDate())
self.assertEqual("service_module/slapos_crm_information", self.assertEqual("service_module/slapos_crm_information",
event.getResource()) event.getResource())
self.assertEqual(event.getDestination(), person.getRelativeUrl()) self.assertEqual(event.getDestination(), person.getRelativeUrl())
...@@ -3143,7 +3143,7 @@ class TestSupportRequestTrySendNotificationMessage(SlapOSTestCaseMixin): ...@@ -3143,7 +3143,7 @@ class TestSupportRequestTrySendNotificationMessage(SlapOSTestCaseMixin):
self.assertEqual(event.getTitle(), title) self.assertEqual(event.getTitle(), title)
self.assertEqual(text_content, event.getTextContent()) self.assertEqual(text_content, event.getTextContent())
self.assertNotEqual(None, event.getStartDate()) self.assertNotEquals(None, event.getStartDate())
self.assertEqual("service_module/slapos_crm_information", self.assertEqual("service_module/slapos_crm_information",
event.getResource()) event.getResource())
self.assertEqual(event.getDestination(), person.getRelativeUrl()) self.assertEqual(event.getDestination(), person.getRelativeUrl())
...@@ -3168,7 +3168,7 @@ class TestSupportRequestTrySendNotificationMessage(SlapOSTestCaseMixin): ...@@ -3168,7 +3168,7 @@ class TestSupportRequestTrySendNotificationMessage(SlapOSTestCaseMixin):
self.assertEqual(title, another_first_event.getTitle()) self.assertEqual(title, another_first_event.getTitle())
self.assertEqual(text_content, another_first_event.getTextContent()) self.assertEqual(text_content, another_first_event.getTextContent())
self.assertNotEqual(None, another_first_event.getStartDate()) self.assertNotEquals(None, another_first_event.getStartDate())
self.assertEqual("service_module/slapos_crm_information", self.assertEqual("service_module/slapos_crm_information",
another_first_event.getResource()) another_first_event.getResource())
self.assertEqual(another_first_event.getDestination(), person.getRelativeUrl()) self.assertEqual(another_first_event.getDestination(), person.getRelativeUrl())
......
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