def _handle_string(self, submit, tmppath, line): if not line: return if validate_hash(line): try: filedata = VirusTotalAPI().hash_fetch(line) except CuckooOperationalError as e: submit["errors"].append( "Error retrieving file hash: %s" % e ) return filepath = Files.create(tmppath, line, filedata) submit["data"].append({ "type": "file", "data": filepath }) return if validate_url(line): submit["data"].append({ "type": "url", "data": validate_url(line), }) return submit["errors"].append( "'%s' was neither a valid hash or url" % line )
def test_validate_url(): assert utils.validate_url("http://google.com/") == "http://google.com/" assert utils.validate_url("google.com") == "http://google.com" assert utils.validate_url("google.com/test") == "http://google.com/test" assert utils.validate_url("https://google.com/") == "https://google.com/" assert utils.validate_url("ftp://google.com/") is None assert utils.validate_url("https://https://google.com/", allow_invalid=True) == "https://google.com/"
def test_validate_url(): assert utils.validate_url("http://google.com/") == "http://google.com/" assert utils.validate_url("google.com") == "http://google.com" assert utils.validate_url("google.com/test") == "http://google.com/test" assert utils.validate_url("https://google.com/") == "https://google.com/" assert utils.validate_url("ftp://google.com/") is None assert utils.validate_url( "https://https://google.com/", allow_invalid=True ) == "https://google.com/"
def test_validate_url(): assert utils.validate_url("http://google.com/") == "http://google.com/" assert utils.validate_url("google.com") == "http://google.com" assert utils.validate_url("google.com/test") == "http://google.com/test" assert utils.validate_url("https://google.com/") == "https://google.com/" assert utils.validate_url("ftp://google.com/") is None