Commit 38e458a1 authored by Alain Takoudjou's avatar Alain Takoudjou Committed by Rafael Monnerat

Update Test testSlapOSSlapTool to consider changes on software installation message report

parent d210025b
...@@ -423,8 +423,8 @@ class TestSlapOSSlapToolComputerAccess(TestSlapOSSlapToolMixin): ...@@ -423,8 +423,8 @@ class TestSlapOSSlapToolComputerAccess(TestSlapOSSlapToolMixin):
def test_accessed_getComputerStatus(self): def test_accessed_getComputerStatus(self):
self.login(self.computer_id) self.login(self.computer_id)
self.portal_slap.softwareReleaseError(
'http://example.org', self.computer_id, 'error log') self.portal_slap.getFullComputerInformation(self.computer_id)
created_at = rfc1123_date(DateTime()) created_at = rfc1123_date(DateTime())
response = self.portal_slap.getComputerStatus(self.computer_id) response = self.portal_slap.getComputerStatus(self.computer_id)
self.assertEqual(200, response.status) self.assertEqual(200, response.status)
...@@ -451,7 +451,7 @@ class TestSlapOSSlapToolComputerAccess(TestSlapOSSlapToolMixin): ...@@ -451,7 +451,7 @@ class TestSlapOSSlapToolComputerAccess(TestSlapOSSlapToolMixin):
<unicode>created_at</unicode> <unicode>created_at</unicode>
<unicode>%(created_at)s</unicode> <unicode>%(created_at)s</unicode>
<unicode>text</unicode> <unicode>text</unicode>
<unicode>#error while installing http://example.org</unicode> <unicode>#access %(computer_id)s</unicode>
<unicode>user</unicode> <unicode>user</unicode>
<unicode>%(computer_id)s</unicode> <unicode>%(computer_id)s</unicode>
</dictionary> </dictionary>
...@@ -546,6 +546,51 @@ class TestSlapOSSlapToolComputerAccess(TestSlapOSSlapToolMixin): ...@@ -546,6 +546,51 @@ class TestSlapOSSlapToolComputerAccess(TestSlapOSSlapToolMixin):
finally: finally:
if os.path.exists(self.computer_load_configuration_simulator): if os.path.exists(self.computer_load_configuration_simulator):
os.unlink(self.computer_load_configuration_simulator) os.unlink(self.computer_load_configuration_simulator)
def test_not_accessed_getSoftwareInstallationStatus(self):
self._makeComplexComputer()
self.computer_bang_simulator = tempfile.mkstemp()[1]
self.login(self.computer_id)
created_at = rfc1123_date(DateTime())
software_installation = self.start_requested_software_installation
url_string = software_installation.getUrlString()
response = self.portal_slap.getSoftwareInstallationStatus(url_string,
self.computer_id)
self.assertEqual(200, response.status)
self.assertEqual('public, max-age=60, stale-if-error=604800',
response.headers.get('cache-control'))
self.assertEqual('REMOTE_USER',
response.headers.get('vary'))
self.assertTrue('last-modified' in response.headers)
self.assertEqual('text/xml; charset=utf-8',
response.headers.get('content-type'))
# check returned XML
xml_fp = StringIO.StringIO()
xml.dom.ext.PrettyPrint(xml.dom.ext.reader.Sax.FromXml(response.body),
stream=xml_fp)
xml_fp.seek(0)
got_xml = xml_fp.read()
expected_xml = """\
<?xml version='1.0' encoding='UTF-8'?>
<marshal>
<dictionary id='i2'>
<string>created_at</string>
<string>%(created_at)s</string>
<string>text</string>
<unicode>#error no data found for %(reference)s</unicode>
<string>user</string>
<unicode>SlapOS Master</unicode>
</dictionary>
</marshal>
""" % dict(
created_at=created_at,
reference=software_installation.getReference()
)
self.assertEqual(expected_xml, got_xml,
'\n'.join([q for q in difflib.unified_diff(expected_xml.split('\n'), got_xml.split('\n'))]))
def test_destroyedSoftwareRelease_noSoftwareInstallation(self): def test_destroyedSoftwareRelease_noSoftwareInstallation(self):
self.login(self.computer_id) self.login(self.computer_id)
...@@ -574,11 +619,14 @@ class TestSlapOSSlapToolComputerAccess(TestSlapOSSlapToolMixin): ...@@ -574,11 +619,14 @@ class TestSlapOSSlapToolComputerAccess(TestSlapOSSlapToolMixin):
self._makeComplexComputer() self._makeComplexComputer()
self.computer_bang_simulator = tempfile.mkstemp()[1] self.computer_bang_simulator = tempfile.mkstemp()[1]
self.login(self.computer_id) self.login(self.computer_id)
software_installation = self.start_requested_software_installation
url_string = software_installation.getUrlString()
response = self.portal_slap.availableSoftwareRelease( response = self.portal_slap.availableSoftwareRelease(
'http://example.org', self.computer_id) url_string, self.computer_id)
self.assertEqual('None', response) self.assertEqual('None', response)
created_at = rfc1123_date(DateTime()) created_at = rfc1123_date(DateTime())
response = self.portal_slap.getComputerStatus(self.computer_id) response = self.portal_slap.getSoftwareInstallationStatus(
url_string, self.computer_id)
# check returned XML # check returned XML
xml_fp = StringIO.StringIO() xml_fp = StringIO.StringIO()
...@@ -593,13 +641,14 @@ class TestSlapOSSlapToolComputerAccess(TestSlapOSSlapToolMixin): ...@@ -593,13 +641,14 @@ class TestSlapOSSlapToolComputerAccess(TestSlapOSSlapToolMixin):
<unicode>created_at</unicode> <unicode>created_at</unicode>
<unicode>%(created_at)s</unicode> <unicode>%(created_at)s</unicode>
<unicode>text</unicode> <unicode>text</unicode>
<unicode>#access software release http://example.org available</unicode> <unicode>#access software release %(url_string)s available</unicode>
<unicode>user</unicode> <unicode>user</unicode>
<unicode>%(computer_id)s</unicode> <unicode>%(computer_id)s</unicode>
</dictionary> </dictionary>
</marshal> </marshal>
""" % dict( """ % dict(
created_at=created_at, created_at=created_at,
url_string=url_string,
computer_id=self.computer_id, computer_id=self.computer_id,
) )
self.assertEqual(expected_xml, got_xml, self.assertEqual(expected_xml, got_xml,
...@@ -609,11 +658,14 @@ class TestSlapOSSlapToolComputerAccess(TestSlapOSSlapToolMixin): ...@@ -609,11 +658,14 @@ class TestSlapOSSlapToolComputerAccess(TestSlapOSSlapToolMixin):
self._makeComplexComputer() self._makeComplexComputer()
self.computer_bang_simulator = tempfile.mkstemp()[1] self.computer_bang_simulator = tempfile.mkstemp()[1]
self.login(self.computer_id) self.login(self.computer_id)
software_installation = self.start_requested_software_installation
url_string = software_installation.getUrlString()
response = self.portal_slap.buildingSoftwareRelease( response = self.portal_slap.buildingSoftwareRelease(
'http://example.org', self.computer_id) url_string, self.computer_id)
self.assertEqual('None', response) self.assertEqual('None', response)
created_at = rfc1123_date(DateTime()) created_at = rfc1123_date(DateTime())
response = self.portal_slap.getComputerStatus(self.computer_id) response = self.portal_slap.getSoftwareInstallationStatus(
url_string, self.computer_id)
# check returned XML # check returned XML
xml_fp = StringIO.StringIO() xml_fp = StringIO.StringIO()
...@@ -628,13 +680,14 @@ class TestSlapOSSlapToolComputerAccess(TestSlapOSSlapToolMixin): ...@@ -628,13 +680,14 @@ class TestSlapOSSlapToolComputerAccess(TestSlapOSSlapToolMixin):
<unicode>created_at</unicode> <unicode>created_at</unicode>
<unicode>%(created_at)s</unicode> <unicode>%(created_at)s</unicode>
<unicode>text</unicode> <unicode>text</unicode>
<unicode>building software release http://example.org</unicode> <unicode>building software release %(url_string)s</unicode>
<unicode>user</unicode> <unicode>user</unicode>
<unicode>%(computer_id)s</unicode> <unicode>%(computer_id)s</unicode>
</dictionary> </dictionary>
</marshal> </marshal>
""" % dict( """ % dict(
created_at=created_at, created_at=created_at,
url_string=url_string,
computer_id=self.computer_id, computer_id=self.computer_id,
) )
self.assertEqual(expected_xml, got_xml, self.assertEqual(expected_xml, got_xml,
...@@ -644,11 +697,14 @@ class TestSlapOSSlapToolComputerAccess(TestSlapOSSlapToolMixin): ...@@ -644,11 +697,14 @@ class TestSlapOSSlapToolComputerAccess(TestSlapOSSlapToolMixin):
self._makeComplexComputer() self._makeComplexComputer()
self.computer_bang_simulator = tempfile.mkstemp()[1] self.computer_bang_simulator = tempfile.mkstemp()[1]
self.login(self.computer_id) self.login(self.computer_id)
software_installation = self.start_requested_software_installation
url_string = software_installation.getUrlString()
response = self.portal_slap.softwareReleaseError( response = self.portal_slap.softwareReleaseError(
'http://example.org', self.computer_id, 'error log') url_string, self.computer_id, 'error log')
self.assertEqual('None', response) self.assertEqual('None', response)
created_at = rfc1123_date(DateTime()) created_at = rfc1123_date(DateTime())
response = self.portal_slap.getComputerStatus(self.computer_id) response = self.portal_slap.getSoftwareInstallationStatus(
url_string, self.computer_id)
# check returned XML # check returned XML
xml_fp = StringIO.StringIO() xml_fp = StringIO.StringIO()
...@@ -663,13 +719,14 @@ class TestSlapOSSlapToolComputerAccess(TestSlapOSSlapToolMixin): ...@@ -663,13 +719,14 @@ class TestSlapOSSlapToolComputerAccess(TestSlapOSSlapToolMixin):
<unicode>created_at</unicode> <unicode>created_at</unicode>
<unicode>%(created_at)s</unicode> <unicode>%(created_at)s</unicode>
<unicode>text</unicode> <unicode>text</unicode>
<unicode>#error while installing http://example.org</unicode> <unicode>#error while installing %(url_string)s</unicode>
<unicode>user</unicode> <unicode>user</unicode>
<unicode>%(computer_id)s</unicode> <unicode>%(computer_id)s</unicode>
</dictionary> </dictionary>
</marshal> </marshal>
""" % dict( """ % dict(
created_at=created_at, created_at=created_at,
url_string=url_string,
computer_id=self.computer_id, computer_id=self.computer_id,
) )
self.assertEqual(expected_xml, got_xml, self.assertEqual(expected_xml, got_xml,
...@@ -1916,8 +1973,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin): ...@@ -1916,8 +1973,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin):
def test_accessed_getComputerStatus(self): def test_accessed_getComputerStatus(self):
self.login(self.computer_id) self.login(self.computer_id)
self.portal_slap.softwareReleaseError( self.portal_slap.getFullComputerInformation(self.computer_id)
'http://example.org', self.computer_id, 'error log')
self.login(self.person_reference) self.login(self.person_reference)
created_at = rfc1123_date(DateTime()) created_at = rfc1123_date(DateTime())
response = self.portal_slap.getComputerStatus(self.computer_id) response = self.portal_slap.getComputerStatus(self.computer_id)
...@@ -1945,7 +2001,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin): ...@@ -1945,7 +2001,7 @@ class TestSlapOSSlapToolPersonAccess(TestSlapOSSlapToolMixin):
<unicode>created_at</unicode> <unicode>created_at</unicode>
<unicode>%(created_at)s</unicode> <unicode>%(created_at)s</unicode>
<unicode>text</unicode> <unicode>text</unicode>
<unicode>#error while installing http://example.org</unicode> <unicode>#access %(computer_id)s</unicode>
<unicode>user</unicode> <unicode>user</unicode>
<unicode>%(computer_id)s</unicode> <unicode>%(computer_id)s</unicode>
</dictionary> </dictionary>
......
35 36
\ No newline at end of file \ No newline at end of file
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