38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
|
import unittest
|
||
|
from datetime import timedelta
|
||
|
|
||
|
from app import app
|
||
|
from initdb import setup_database_for_testing, finished_database_for_testing
|
||
|
from data import model
|
||
|
|
||
|
|
||
|
PUBLIC_USERNAME = 'public'
|
||
|
PUBLIC_REPONAME = 'publicrepo'
|
||
|
|
||
|
|
||
|
class TestRepoModel(unittest.TestCase):
|
||
|
def setUp(self):
|
||
|
setup_database_for_testing(self)
|
||
|
|
||
|
self.app = app.test_client()
|
||
|
self.ctx = app.test_request_context()
|
||
|
self.ctx.__enter__()
|
||
|
|
||
|
def tearDown(self):
|
||
|
finished_database_for_testing(self)
|
||
|
self.ctx.__exit__(True, None, None)
|
||
|
|
||
|
def test_popular_repo_list(self):
|
||
|
# Our repository action count table should have 1 event for the only public
|
||
|
# repo.
|
||
|
onlypublic = model.repository.list_popular_public_repos(0, timedelta(weeks=1))
|
||
|
self.assertEquals(len(onlypublic), 1)
|
||
|
self.assertEquals(onlypublic[0], (PUBLIC_USERNAME, PUBLIC_REPONAME))
|
||
|
|
||
|
self.assertEquals(len(model.repository.list_popular_public_repos(1, timedelta(weeks=1))), 1)
|
||
|
self.assertEquals(len(model.repository.list_popular_public_repos(50, timedelta(weeks=1))), 0)
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
unittest.main()
|