class TestLayoutServer_run(unittest.TestCase): def setUp(self): self.path = os.path.join(layoutPath, layoutFile) self.layout = Layout.createFromExisting(self.path) self.layoutserver = LayoutServer(self.layout, "Test Server", 10020) self.layoutserver.run() self.conn = httplib.HTTPConnection("localhost:10020") def tearDown(self): self.layoutserver.stop() def test_checkHeaders(self): """ Check that the headers are sent correctly""" self.conn.request("GET", "/") r1 = self.conn.getresponse() self.assertEqual(r1.status, 200) self.assertEqual(r1.reason, "OK") self.assertEqual(r1.getheader('content-type'), 'application/touchosc', "Header: 'content-type' does not match.") self.assertEqual(r1.getheader('content-disposition'), ('attachment; filename="ROS-Demo-iPad.touchosc"'), "Header: 'content-disposition' does not match.") self.assertEqual(r1.read(), self.layout.toXml(), "Contents don't match") self.conn.close()