Blame tests/test_progitlib.py

Pierre-Yves Chibon d88010
#-*- coding: utf-8 -*-
Pierre-Yves Chibon d88010
Pierre-Yves Chibon d88010
"""
Pierre-Yves Chibon d88010
 (c) 2015 - Copyright Red Hat Inc
Pierre-Yves Chibon d88010
Pierre-Yves Chibon d88010
 Authors:
Pierre-Yves Chibon d88010
   Pierre-Yves Chibon <pingou@pingoured.fr></pingou@pingoured.fr>
Pierre-Yves Chibon d88010
Pierre-Yves Chibon d88010
"""
Pierre-Yves Chibon d88010
Pierre-Yves Chibon d88010
__requires__ = ['SQLAlchemy >= 0.8']
Pierre-Yves Chibon d88010
import pkg_resources
Pierre-Yves Chibon d88010
Pierre-Yves Chibon d88010
import unittest
Pierre-Yves Chibon d88010
import sys
Pierre-Yves Chibon d88010
import os
Pierre-Yves Chibon d88010
Pierre-Yves Chibon d88010
sys.path.insert(0, os.path.join(os.path.dirname(
Pierre-Yves Chibon d88010
    os.path.abspath(__file__)), '..'))
Pierre-Yves Chibon d88010
Pierre-Yves Chibon d88010
import progit.lib
Pierre-Yves Chibon 538301
import tests
Pierre-Yves Chibon d88010
Pierre-Yves Chibon d88010
Pierre-Yves Chibon 538301
class ProgitLibtests(tests.Modeltests):
Pierre-Yves Chibon d88010
    """ Tests for progit.lib """
Pierre-Yves Chibon d88010
Pierre-Yves Chibon d88010
    def test_get_next_id(self):
Pierre-Yves Chibon d88010
        """ Test the get_next_id function of progit.lib. """
Pierre-Yves Chibon 538301
        tests.create_projects(self.session)
Pierre-Yves Chibon d88010
        self.assertEqual(1, progit.lib.get_next_id(self.session, 1))
Pierre-Yves Chibon d88010
Pierre-Yves Chibon f74336
    def test_search_user_all(self):
Pierre-Yves Chibon f74336
        """ Test the search_user of progit.lib. """
Pierre-Yves Chibon f74336
Pierre-Yves Chibon f74336
        # Retrieve all users
Pierre-Yves Chibon f74336
        items = progit.lib.search_user(self.session)
Pierre-Yves Chibon f74336
        self.assertEqual(2, len(items))
Pierre-Yves Chibon f74336
        self.assertEqual(1, items[0].id)
Pierre-Yves Chibon f74336
        self.assertEqual('pingou', items[0].user)
Pierre-Yves Chibon f74336
        self.assertEqual('pingou', items[0].username)
Pierre-Yves Chibon f74336
        self.assertEqual([], items[0].groups)
Pierre-Yves Chibon f74336
        self.assertEqual(2, items[1].id)
Pierre-Yves Chibon f74336
        self.assertEqual('foo', items[1].user)
Pierre-Yves Chibon f74336
        self.assertEqual('foo', items[1].username)
Pierre-Yves Chibon f74336
        self.assertEqual([], items[1].groups)
Pierre-Yves Chibon f74336
Pierre-Yves Chibon c7ee0c
    def test_search_user_username(self):
Pierre-Yves Chibon c7ee0c
        """ Test the search_user of progit.lib. """
Pierre-Yves Chibon c7ee0c
Pierre-Yves Chibon c7ee0c
        # Retrieve user by username
Pierre-Yves Chibon c7ee0c
        item = progit.lib.search_user(self.session, username='foo')
Pierre-Yves Chibon c7ee0c
        self.assertEqual('foo', item.user)
Pierre-Yves Chibon c7ee0c
        self.assertEqual('foo', item.username)
Pierre-Yves Chibon c7ee0c
        self.assertEqual([], item.groups)
Pierre-Yves Chibon c7ee0c
Pierre-Yves Chibon c7ee0c
        item = progit.lib.search_user(self.session, username='bar')
Pierre-Yves Chibon c7ee0c
        self.assertEqual(None, item)
Pierre-Yves Chibon c7ee0c
Pierre-Yves Chibon f5cf0f
    def test_search_user_email(self):
Pierre-Yves Chibon f5cf0f
        """ Test the search_user of progit.lib. """
Pierre-Yves Chibon f5cf0f
Pierre-Yves Chibon f5cf0f
        # Retrieve user by email
Pierre-Yves Chibon f5cf0f
        item = progit.lib.search_user(self.session, email='foo@foo.com')
Pierre-Yves Chibon f5cf0f
        self.assertEqual(None, item)
Pierre-Yves Chibon f5cf0f
Pierre-Yves Chibon f5cf0f
        item = progit.lib.search_user(self.session, email='foo@bar.com')
Pierre-Yves Chibon f5cf0f
        self.assertEqual('foo', item.user)
Pierre-Yves Chibon f5cf0f
        self.assertEqual('foo', item.username)
Pierre-Yves Chibon f5cf0f
        self.assertEqual([], item.groups)
Pierre-Yves Chibon f5cf0f
        self.assertEqual(
Pierre-Yves Chibon f5cf0f
            ['foo@bar.com'], [email.email for email in item.emails])
Pierre-Yves Chibon f5cf0f
Pierre-Yves Chibon f5cf0f
        item = progit.lib.search_user(self.session, email='foo@pingou.com')
Pierre-Yves Chibon f5cf0f
        self.assertEqual('pingou', item.user)
Pierre-Yves Chibon f5cf0f
        self.assertEqual(
Pierre-Yves Chibon f5cf0f
            ['bar@pingou.com', 'foo@pingou.com'],
Pierre-Yves Chibon f5cf0f
            [email.email for email in item.emails])
Pierre-Yves Chibon f5cf0f
Pierre-Yves Chibon d88010
Pierre-Yves Chibon d88010
if __name__ == '__main__':
Pierre-Yves Chibon d88010
    SUITE = unittest.TestLoader().loadTestsFromTestCase(ProgitLibtests)
Pierre-Yves Chibon d88010
    unittest.TextTestRunner(verbosity=2).run(SUITE)