Пример #1
0
class _TestApiCrawl(TestCase):
    
    def setUp(self):
        TestCase.setUp(self)
        from random import randint
        self.port = randint(10000, 20000)
        from lib.WsgiRunner import PasteThread
        self.pasteThread = PasteThread(CrawlApp(), self.port, timeout=5)
        self.pasteThread.start()
        import time
        time.sleep(1)
        
    def testGet(self):
        self.assertTrue(self.pasteThread.isAlive())
        from httplib import HTTPConnection
        http_connection = HTTPConnection("localhost", port=self.port)
        http_connection.request("GET", "/api/Crawl")
        response = http_connection.getresponse()
        self.assertTrue(response.status == 404 or response.status == 200 or response.status == 500)
    
    def test2(self):
        session = Session()
        info(Crawl.getGvizDataTable(session))
        session.close()
    
    def tearDown(self):
        TestCase.tearDown(self)
Пример #2
0
class _(TestCase):
    
    def setUp(self):
        TestCase.setUp(self)
        from random import randint
        self.port = randint(10000, 20000)
        from lib.WsgiRunner import PasteThread
        self.pasteThread = PasteThread(RecordApp(), self.port, timeout=3)
        self.pasteThread.start()
        import time
        time.sleep(1)
        
    def testGet(self):
        self.assertTrue(self.pasteThread.isAlive())
        from httplib import HTTPConnection
        http_connection = HTTPConnection("localhost", port=self.port)
        http_connection.request("GET", "/api/Record")
        response = http_connection.getresponse()
        debug(response.read())
        self.assertTrue(response.status == 404 or response.status == 200 or response.status == 500)
    
    def testGvizDataTable(self):
        session = SqlAlchemySessionFactory().createSqlAlchemySession()
        import gviz_api
        data_table = Record.getGvizDataTable()
        self.assertIsInstance(data_table, gviz_api.DataTable)
        import re
        r = re.compile(r"^google\.visualization\.Query\.setResponse\({.*}\);$")
        m = r.match(data_table.ToResponse())
        self.assertIsNotNone(m)
        session.close()
    
    def tearDown(self):
        TestCase.tearDown(self)
Пример #3
0
class _TestApp(unittest.TestCase):
    def setUp(self):
        unittest.TestCase.setUp(self)
        from random import randint

        self.port = randint(10000, 20000)
        from lib.WsgiRunner import PasteThread

        self.pasteThread = PasteThread(CrawlApp(), self.port, timeout=5)
        self.assertIsNotNone(self.pasteThread.server)
        self.assertFalse(self.pasteThread.isAlive())
        self.assertTrue(self.pasteThread.server.running)
        self.pasteThread.start()
        self.assertTrue(self.pasteThread.isAlive())
        self.assertTrue(self.pasteThread.server.running)
        import time

        time.sleep(1)

    def testApiCrawl(self):
        from httplib import HTTPConnection

        http_connection = HTTPConnection("localhost", port=self.port)
        http_connection.request("GET", "/api/Crawl")
        response = http_connection.getresponse()
        info("reading body,m %d " % response.status)
        body = response.read()
        info(body)
        self.assertTrue(response.status == 500 or response.status == 404 or response.status == 200)
        self.assertGreater(len(body), 1)
        info("closing http connection")
        http_connection.close()

    def tearDown(self):
        info("shutting down PasteThread")
        self.pasteThread.shutdown()
        info("joining")
        self.pasteThread.join()
        unittest.TestCase.tearDown(self)