#95 Add test cases for several functions
Merged 7 years ago by mikem. Opened 7 years ago by sijis.

@@ -0,0 +1,53 @@ 

+ import os

+ import mock

+ import shutil

+ import unittest

+ import kojihub

+ from koji import GenericError

+ 

+ 

+ class TestGetUploadPath(unittest.TestCase):

+ 

+ 

+     def test_get_upload_path_invalid_filename(self):

+         with self.assertRaises(GenericError):

+             kojihub.get_upload_path(reldir='', name='. error')

+ 

+     def test_get_upload_path_invalid_upload_dir_1(self):

+         with self.assertRaises(GenericError):

+             kojihub.get_upload_path(reldir='..', name='error')

+ 

+     def test_get_upload_path_invalid_upload_dir_2(self):

+         with self.assertRaises(GenericError):

+             kojihub.get_upload_path(reldir='tasks/1', name='error', create=True)

+ 

+     def test_get_upload_path_invalid_upload_dir_3(self):

+         with self.assertRaises(GenericError):

+             kojihub.get_upload_path(reldir='tasks/1/should_be_number', name='error', create=True)

+ 

+     @mock.patch('kojihub.context')

+     @mock.patch('koji.pathinfo.work')

+     @mock.patch('kojihub.Host')

+     def test_get_upload_path_invalid_upload_dir_owner(self, host, work, context):

+         work.return_value = '/tmp'

+         cursor = mock.MagicMock()

+         context.cnx.cursor.return_value = cursor

+         reldir = 'fake/1/1'

+         fullpath = '{0}/{1}'.format(work.return_value, reldir)

+         os.makedirs(fullpath)

+ 

+         with file('{0}/.user'.format(fullpath), 'wb') as f:

+             f.write('1')

+ 

+         with self.assertRaises(GenericError):

+             kojihub.get_upload_path(reldir=reldir, name='error', create=True)

+ 

+         shutil.rmtree('/tmp/fake')

+ 

+     @mock.patch('koji.pathinfo.work')

+     @mock.patch('kojihub.Host')

+     def test_get_upload_path_invalid_upload_no_dir_owner(self, host, work):

+         work.return_value = '/tmp'

+         dir = kojihub.get_upload_path(reldir='tasks/1/1', name='error', create=False)

+         assert dir == '/tmp/tasks/1/1/error'

+ 

@@ -0,0 +1,20 @@ 

+ import unittest

+ import kojihub

+ from koji import GenericError

+ from koji.util import md5_constructor, adler32_constructor

+ 

+ 

+ class TestGetVerifyClass(unittest.TestCase):

+ 

+     def test_get_verify_class_generic_error(self):

+         with self.assertRaises(GenericError):

+             kojihub.get_verify_class('not_a_real_value')

+ 

+     def test_get_verify_class_is_none(self):

+         kojihub.get_verify_class(None) is None

+ 

+     def test_get_verify_class_is_md5(self):

+         kojihub.get_verify_class('md5') is md5_constructor

+ 

+     def test_get_verify_class_is_adler32(self):

+         kojihub.get_verify_class('adler32') is adler32_constructor

Added test cases for a lingering function.

1 new commit added

  • Add test for get_upload_path() functio
7 years ago

Pull-Request has been merged by mikem

7 years ago