def add_with_one_uri_check_with_id_and_no_alerts(self, aid = 1, url='google.com'):
     uri_check = UriCheck()
     uri_check.check_id = aid
     uri_check.check_options = ''
     uri_check.url = url
     self.cur_session.add(uri_check)
     self.cur_session.flush()
    def test_has_changes_hashTheSame_NoChange(self):
        uri_check = UriCheck()
        uri_check.check_options = HashCheckTests.md_hash_page

        check = HashCheck(uri_check) 
        url_reader_fake = FakeUrlReader('page')

        self.assertFalse(check.has_changes(url_reader_fake))
Example #3
0
def create_or_get_uri_check(db, url):
    if not (url.startswith('http://') or url.startswith('https://')):
        url = 'http://' + url
    
    try:
        found_check = db.query(UriCheck).filter(UriCheck.url == url).one()
        return found_check
    except NoResultFound:
        #Url is not being monitored, ignore the error and create it
        pass

    check = UriCheck()
    check.url = url 
    check.check_options 

    first_monitor = HashCheck(check)
    try:
        url_stream = urllib2.urlopen(check.url)
        first_monitor.has_changes(url_stream)
    except urllib2.URLError, e:
        if not isinstance(e, urllib2.HTTPError):
            log.error(e.reason)
            return None