306:edefddec933d
Anton Shestakov <av6@dwimlabs.net>, Sun, 24 Sep 2017 12:25:05 +0800
viewer: use subqueries to get data on index page Before, there were bare columns in the aggregate query, their values were undefined (but it somehow worked), as SQLite docs say. Good news is that now this bigger query uses (project_id, ordinal) index and is really fast.

previous change 255:d52b259f2829

tests/test_adapters.py

Permissions: -rw-r--r--

Other formats: Feeds:
from datetime import datetime
from candolint import adapters
from candolint.models import Project, Change
project = Project(
url='https://example.com/alice/test-adapters',
domain='example.com',
user='alice',
name='test-adapters')
change = Change(
rev=42,
node='92cfceb',
branch='default',
date=datetime.now(),
author='alice',
message='component: do a thing',
project=project)
line = {'filename': 'a/b.py', 'line_number': 101}
def test_hosting_adapter():
adapter = adapters.HostingAdapter(project)
assert adapter.get_commit_url(change) == '#'
assert adapter.get_branch_url(change) == '#'
assert adapter.get_line_url(change, line) == '#'
def test_bitbucket_adapter():
adapter = adapters.BitbucketAdapter(project)
assert adapter.get_commit_url(change) == \
'https://example.com/alice/test-adapters/commits/92cfceb'
assert adapter.get_branch_url(change) == \
'https://example.com/alice/test-adapters/branch/default'
assert adapter.get_line_url(change, line) == \
'https://example.com/alice/test-adapters/src/92cfceb/a/b.py#b.py-101'
def test_github_adapter():
adapter = adapters.GithubAdapter(project)
assert adapter.get_commit_url(change) == \
'https://example.com/alice/test-adapters/commit/92cfceb'
assert adapter.get_branch_url(change) == \
'https://example.com/alice/test-adapters/tree/default'
assert adapter.get_line_url(change, line) == \
'https://example.com/alice/test-adapters/blob/92cfceb/a/b.py#L101'
def test_hgweb_adapter():
adapter = adapters.HgwebAdapter(project)
assert adapter.get_commit_url(change) == \
'https://example.com/alice/test-adapters/rev/92cfceb'
assert adapter.get_branch_url(change) == \
'https://example.com/alice/test-adapters/log/default'
assert adapter.get_line_url(change, line) == \
'https://example.com/alice/test-adapters/file/92cfceb/a/b.py#l101'