def test_get_or_create_row(self):
        tables = ShortenerTables('test-account', self.conn)
        yield tables.create_tables()

        row = yield tables.get_or_create_row(
            'wiki.org', 'test', 'http://wiki.org/test/')
        self.assertEqual(row['domain'], 'wiki.org')
        self.assertEqual(row['short_url'], None)
        self.assertEqual(row['user_token'], 'test')
        self.assertEqual(row['long_url'], 'http://wiki.org/test/')
        self.assertEqual(row['id'], 1)

        row = yield tables.get_or_create_row(
            'wiki.org', 'test', 'http://wiki.org/test/')
        self.assertEqual(row['id'], 1)

        audit = yield tables.get_audit_row(1)
        self.assertEqual(audit['hits'], 0)
    def test_get_or_create_row(self):
        tables = ShortenerTables('test-account', self.conn)
        yield tables.create_tables()

        row = yield tables.get_or_create_row('wiki.org', 'test',
                                             'http://wiki.org/test/')
        self.assertEqual(row['domain'], 'wiki.org')
        self.assertEqual(row['short_url'], None)
        self.assertEqual(row['user_token'], 'test')
        self.assertEqual(row['long_url'], 'http://wiki.org/test/')
        self.assertEqual(row['id'], 1)

        row = yield tables.get_or_create_row('wiki.org', 'test',
                                             'http://wiki.org/test/')
        self.assertEqual(row['id'], 1)

        audit = yield tables.get_audit_row(1)
        self.assertEqual(audit['hits'], 0)
Esempio n. 3
0
    def get_or_create_row(self, url, user_token):
        account = self.config['account']
        domain = urlparse(url).netloc
        conn = yield self.engine.connect()
        try:
            tables = ShortenerTables(account, conn)

            row = yield tables.get_or_create_row(domain, user_token, url)
            returnValue(row)
        except NoShortenerTables:
            raise APIError('Account "%s" does not exist' % account, 200)
        finally:
            yield conn.close()
Esempio n. 4
0
    def get_or_create_row(self, url, user_token):
        account = self.config['account']
        domain = urlparse(url).netloc
        conn = yield self.engine.connect()
        try:
            tables = ShortenerTables(account, conn)

            row = yield tables.get_or_create_row(
                domain,
                user_token,
                url
            )
            returnValue(row)
        except NoShortenerTables:
            raise APIError('Account "%s" does not exist' % account, 200)
        finally:
            yield conn.close()
    def test_resolve_url(self):
        tables = ShortenerTables('test-account', self.conn)
        yield tables.create_tables()

        yield tables.get_or_create_row(
            'wiki.org', 'test', 'http://wiki.org/test/')
        yield tables.update_short_url(1, 'aaa')

        row = yield tables.get_row_by_short_url('aaa')

        self.assertEqual(row['domain'], 'wiki.org')
        self.assertEqual(row['short_url'], 'aaa')
        self.assertEqual(row['id'], 1)

        audit = yield tables.get_audit_row(1)
        self.assertEqual(audit['hits'], 1)

        #multiple hits
        for i in range(0, 10):
            yield tables.get_row_by_short_url('aaa')

        audit = yield tables.get_audit_row(1)
        self.assertEqual(audit['hits'], 11)
    def test_resolve_url(self):
        tables = ShortenerTables('test-account', self.conn)
        yield tables.create_tables()

        yield tables.get_or_create_row('wiki.org', 'test',
                                       'http://wiki.org/test/')
        yield tables.update_short_url(1, 'aaa')

        row = yield tables.get_row_by_short_url('aaa')

        self.assertEqual(row['domain'], 'wiki.org')
        self.assertEqual(row['short_url'], 'aaa')
        self.assertEqual(row['id'], 1)

        audit = yield tables.get_audit_row(1)
        self.assertEqual(audit['hits'], 1)

        #multiple hits
        for i in range(0, 10):
            yield tables.get_row_by_short_url('aaa')

        audit = yield tables.get_audit_row(1)
        self.assertEqual(audit['hits'], 11)