示例#1
0
class LiveServerTestCase(unittest.TestCase):
    def setUp(self):
        self.server = TestServerThread("127.0.0.1", 8081)
        self.server.start()

    def tearDown(self):
        self.server.stop()

    def validate_atom(self, url):
        try:
            import feedvalidator
        except ImportError:
            print >>sys.stderr, "No feedvalidator, skipping validation test"
            return
        try:
            events = feedvalidator.validateURL(url)["loggedEvents"]
        except feedvalidator.logging.ValidationFailure as e:
            events = [e.event]
        # Filter logged events
        from feedvalidator import logging

        events = [
            e
            for e in events
            if isinstance(e, logging.Error)
            or (
                isinstance(e, logging.Warning)
                and not isinstance(e, logging.DuplicateUpdated)
                and not isinstance(e, logging.SelfDoesntMatchLocation)
            )
        ]
        # Show any remaining events
        from feedvalidator.formatter.text_plain import Formatter

        output = Formatter(events)
        if output:
            self.fail("\n".join(output))

    def test_validate_package(self):
        self.validate_atom("http://127.0.0.1:8081/api/package/1")

    def test_validate_all_resources(self):
        self.validate_atom("http://127.0.0.1:8081/api/resource/")
示例#2
0
 def setUp(self):
     self.server = TestServerThread("127.0.0.1", 8081)
     self.server.start()