Ejemplo n.º 1
0
class ProbeRulesTests(unittest.TestCase):
    TEST_REQ = FakeRequest(
        "http://www.talktalk.co.uk/notice/parental-controls?" +
        "accessurl=d3d3LnhoYW1zdGVyLmNvbQ==&"
        "urlclassname=UG9ybm9ncmFwaHkgJiBWaW9sZW5jZQ==",
        200,
        [
            FakeRequest('http://naughtysite.com', 302)
        ]
    )

    def setUp(self):
        self.probe = OrgProbe({})
        self.probe.rules = [
            "re:url:^http://www\\.talktalk\\.co\\.uk/" +
            "notice/parental-controls\\?accessurl",
            "re:url:^http://www\\.siteblocked\\.org/piratebay\\.html\\?"
        ]
        self.probe.categorizor = Categorizor('querystring:urlclassname:base64')

    def testMatch(self):
        status, code, category, blocktype = self.probe.test_response(
            self.TEST_REQ)
        self.assertEquals(status, "blocked")
        self.assertEquals(code, 302)
        self.assertEquals(category, "Pornography & Violence")

    def testNoMatch(self):
        status, code, category, blocktype = self.probe.test_response(
            FakeRequest('http://example.com', 200))
        self.assertEquals(status, "ok")
        self.assertEquals(code, 200)
        self.assertIsNone(category)
Ejemplo n.º 2
0
class ProbeRulesTests(unittest.TestCase):
    TEST_REQ = FakeRequest(
        "http://www.talktalk.co.uk/notice/parental-controls?" +
        "accessurl=d3d3LnhoYW1zdGVyLmNvbQ==&"
        "urlclassname=UG9ybm9ncmFwaHkgJiBWaW9sZW5jZQ==", 200,
        [FakeRequest('http://naughtysite.com', 302)])

    def setUp(self):
        self.probe = OrgProbe({})
        self.probe.rules = [
            "re:url:^http://www\\.talktalk\\.co\\.uk/" +
            "notice/parental-controls\\?accessurl",
            "re:url:^http://www\\.siteblocked\\.org/piratebay\\.html\\?"
        ]
        self.probe.categorizor = Categorizor('querystring:urlclassname:base64')

    def testMatch(self):
        status, code, category, blocktype = self.probe.test_response(
            self.TEST_REQ)
        self.assertEquals(status, "blocked")
        self.assertEquals(code, 302)
        self.assertEquals(category, "Pornography & Violence")

    def testNoMatch(self):
        status, code, category, blocktype = self.probe.test_response(
            FakeRequest('http://example.com', 200))
        self.assertEquals(status, "ok")
        self.assertEquals(code, 200)
        self.assertIsNone(category)
Ejemplo n.º 3
0
 def setUp(self):
     self.probe = OrgProbe({})
     self.probe.rules = [
         "re:url:^http://www\\.talktalk\\.co\\.uk/" +
         "notice/parental-controls\\?accessurl",
         "re:url:^http://www\\.siteblocked\\.org/piratebay\\.html\\?"
     ]
     self.probe.categorizor = Categorizor('querystring:urlclassname:base64')
Ejemplo n.º 4
0
 def setUp(self):
     self.probe = OrgProbe({})
     self.probe.rules = [
         "re:url:^http://www\\.talktalk\\.co\\.uk/" +
         "notice/parental-controls\\?accessurl",
         "re:url:^http://www\\.siteblocked\\.org/piratebay\\.html\\?"
     ]
     self.probe.categorizor = Categorizor('querystring:urlclassname:base64')
Ejemplo n.º 5
0
    config.set('global', 'interval', 1)
    with open(configfile, 'w') as fp:
        config.write(fp)

if config.has_section('api'):

    def apiconfig(prop, method):
        try:
            setattr(APIRequest, prop.upper(), method('api', prop))
            logging.info("Set %s to %s", prop, getattr(APIRequest,
                                                       prop.upper()))
        except Exception:
            pass

    apiconfig('https', config.getboolean)
    apiconfig('host', config.get)
    apiconfig('port', config.getint)
    apiconfig('version', config.get)

probe = OrgProbe(config)

if '--register' in opts:
    probe.register(opts, config)
    with open(configfile, 'w') as fp:
        config.write(fp)
    sys.exit(0)

else:
    logging.info("Entering run mode")
    sys.exit(probe.run(optargs))
Ejemplo n.º 6
0
    config.add_section('global')
    config.set('global', 'interval', 1)
    with open(configfile, 'w') as fp:
        config.write(fp)

if config.has_section('api'):
    def apiconfig(prop, method):
        try:
            setattr(APIRequest, prop.upper(), method('api', prop))
            logging.info("Set %s to %s", prop,
                         getattr(APIRequest, prop.upper()))
        except Exception:
            pass

    apiconfig('https', config.getboolean)
    apiconfig('host', config.get)
    apiconfig('port', config.getint)
    apiconfig('version', config.get)

probe = OrgProbe(config)

if '--register' in opts:
    probe.register(opts, config)
    with open(configfile, 'w') as fp:
        config.write(fp)
    sys.exit(0)

else:
    logging.info("Entering run mode")
    sys.exit(probe.run(optargs))