コード例 #1
0
    def test_add_url_via_form(self):
        url = "test"
        rv = self.app.get("/add/" + url)
        self.assertTrue(rv.status_code == 302)
        self.assertTrue(rv.headers["Location"] == shorten.SITE_URL)

        self.login("admin", "default")

        url = "http://www.google.com"
        short_url = get_short_url_from_id(1)
        rv = self.app.post("/add/form/", data=dict(url=url), follow_redirects=True)
        self.assertTrue("No entries here so far" not in rv.data)
        self.assertTrue(url in rv.data)
        self.assertTrue(short_url in rv.data)

        url = "www.bing.com"
        short_url = get_short_url_from_id(2)
        rv = self.app.post("/add/form/", data=dict(url=url), follow_redirects=True)
        self.assertTrue("http://" + url in rv.data)
        self.assertTrue(short_url in rv.data)
コード例 #2
0
ファイル: shorten.py プロジェクト: philangist/url-shorten
def add_url(long_url, authenticated=False, return_json=False):
    if not authenticated:
        return redirect(SITE_URL, code=302)
    long_url = long_url.strip()
    if not 'http://' in long_url:
        long_url = 'http://' + long_url
    try:
        query = 'select short_url from entries where long_url=(?)'
        cur = g.db.execute(query, [long_url])
        short_url = cur.fetchone()[0]

        if return_json:
            return json.dumps(short_url)
        else:
            flash("That url is already in the database.")
            return redirect(url_for('show_entries'))
    except:
        pass

    try:
        query = 'select seq from sqlite_sequence where name="entries"'
        conn = g.db.execute(query)
        id_number = conn.fetchone()[0]
    except TypeError:
        id_number = 0

    short_url = shorten_utils.get_short_url_from_id(id_number + 1)

    g.db.execute(
        'insert into entries (long_url, short_url) values (?, ?)',
        [long_url, short_url]
    )
    g.db.commit()

    if return_json:
        return json.dumps(short_url)
    else:
        return redirect(url_for('show_entries'))
コード例 #3
0
 def test_util_functions(self):
     id_number = 1
     short_url = get_short_url_from_id(id_number)
     self.assertEqual(get_short_url_from_id(id_number), get_short_url_from_id(get_id_from_short_url(short_url)))
     self.assertEqual(get_id_from_short_url(short_url), get_id_from_short_url(get_short_url_from_id(id_number)))